eZ Publish: A CMS Framework with Open Source in Its DNA

Leading eZ Publish advocates look at what lies ahead for CMS programmers and users

ez-publish-1

There are a variety of options when it comes to content management. We’ve explored Drupal a bit, and in this email interview I talked to some folks who work with eZ Publish. It is an open source (with commercial options) CMS written in PHP. Brandon Chambers and Greg McAvoy-Jensen talk about how the platform acts as a content management framework, how being open source has affected the project, and what we should expect to see coming up for CMS in general.

Brandon Chambers is a Senior Developer at Granite Horizon, an eZ Publish integrator. He has 14 years of web development experience focused on open source technologies such as PHP, MySQL, Python, Java, Android, HTML, JavaScript, AJAX, CSS and XML.

Greg McAvoy-Jensen is a member of the eZ Publish Community Project Board. He also founded and is the CEO of Granite Horizon, and has been developing with eZ Publish since 2002.

Q: What problems does eZ Publish solve for users?

A: eZ Publish grew up not just as a CMS, but as a content management framework. It sports a flexible and object-oriented content model (an important early decision), and provides developers an MVC framework as a platform for building complex web applications and extending the CMS. Like any CMS it makes content publishing accessible for the non-programmer, and provides an easy editorial interface. eZ Publish does a fine job of separating content from presentation and providing reusability and multi-channel delivery. It targets the enterprise more than smaller organizations, so the software quality remains pegged at high standards, and high degrees of flexibility and extensibility continue to be required.

Q: How you feel being open source has affected the project?

A: Fourteen years on, eZ Systems is still firm that open source is in its DNA. This foundational commitment created a culture of sharing, and it attracts developers who prefer to share their code and to collaborate with others outside their organization for the benefit of their customers. Contributions flow in as both extensions and core code pull requests. The commercial open source model, similar to Red Hat’s, means the vendor takes primary responsibility for code maintenance and development, and derives its profit from support subscriptions, while leaving customizations to its network of certified partners. Because the source is open, organizations evaluating the software can have their developers compare the code of, for example, eZ Publish and Drupal, and make their own determinations. This, in turn, keeps the vendor accountable for the code: eZ engineers program knowing full well that the world can see their work.

Q: What distinguishes eZ Publish from other CMS options?

A: While there may be a thousand or so CMS’s around, analysts typically look at something more like 30 that are important today. eZ Publish fits into that group, most recently by inclusion on Gartner’s Magic Quadrant beginning in 2011. Not all open source CMS’s have a vendor behind them who both provides support and has full control over the code, a level of accountability required in enterprise applications. eZ is a great fit for particularly complex implementations, or situations where there is no assurance that future needs will be simple. And despite the complex customizations developers do with eZ Publish, they rarely interfere with upgrades.

eZ’s engineers recently became dissatisfied with the merely vast degree of flexibility they had built into the MVC framework, so they’ve now moved the whole system on top of the Symfony PHP framework. eZ Publish is now a native Symfony application, the only CMS to utilize Symfony’s full stack. This leverages the great speed and excellent libraries Symfony provides, and makes eZ easier to learn by those who are familiar with Symfony. Some CMS’s require many plug-ins just to get a basic feature set going on a site, but eZ Publish has long included granular security, content versioning, multi-language support, multi-channel/multi-site capability, workflows, and the like as part of the kernel.

ez-publish-2

Q: What do you see as the future of content management: where the field is going and what users and programmers can expect?

A: Over the last ten years we have seen many different flavors of CMS’s come and go, their features, user experiences, and editing workflows. We will see the blending of apps and websites together, creating a highly engaging user experience. Mobile websites built on top of a CMS will act as smooth web apps. The feature set of systems has expanded greatly with the dawn of the Web 2.0 and will become solidified to include out-of-the-box features instead of plugins without sacrificing performance.

CMS’s often tie together separate solutions for email marketing, marketing automation, client relationship management, social media engagement, website analytics, and the like, however this has created a mess for managing all the solutions. The single sign-on solution to one’s CMS has helped but that feature is still yet to be standardized. We will continue to see a more general, standardized integration across these different apps through REST APIs. CMS’s will act as a user’s central hub for all avenues of web engagement, without their knowledge that they are using separate applications. Editors’ lives will be made easier as they will be able to create publishing workflows for their business processes and be efficient online content engagement editors.

For CMS’s with APIs, opportunities to tie in mobile apps or server-based web applications will abound, without requiring full knowledge of the CMS. But for those developers responsible for the whole CMS, having more features and functions out of the box can also mean an increase in complexity for some, requiring more expertise (e.g. learning an entire framework) to manage one’s CMS. What it will mean for programmers is they will likely spend less time on small integration problems, custom apps, and features as they have been. Instead they will likely be required to turn their focus toward exotic and creative integrations, performance tuning, big data problems, and as a result web programmers will need to know more about design patterns. It will be very lucrative for programmers to master content management frameworks as they will take more time to learn.

This interview was edited and condensed.

Related

Sign up for the O'Reilly Programming Newsletter to get weekly insight from industry insiders.
topic: Programming