This site has been archived and you can no longer log in or post new messages. For up-to-date community resources please visit

eZ Community » Learn » eZ Publish » Choosing a Content Management System

Choosing a Content Management System

Monday 26 November 2007 12:00:00 pm

  • Currently 5 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

There are signs that the CMS marketplace is becoming more mature, with broad feature sets, a fast pace of innovation and fewer major vendors. However, bigger is not always better. It is more important to ensure that your choice is the right fit for your specific needs.


The capabilities of the system should allow you to easily and effectively produce, publish, and maintain up-to-date, high quality and consistent content. Your business model and processes should also seamlessly integrate with your CMS. This means more than just end-user usability, which is adequate or better in any modern CMS. The CMS framework is the aspect that enables developers to build and evolve powerful content-driven applications.

Having a technical professional on your evaluation team helps you to evaluate core architectural principles such as data model, storage, editing, publishing and version control. Separation of content from its presentation enables re-use of the same interfaces for a variety of purposes.

The next level of architecture is related to the content engine, including things like templates, languages, draft and version management, content structuring and relations, scheduling, auditing, caching and nice URLs. Next, there are text functions, as well as image, document, and multimedia management and manipulation. User-related functionality should include access permissions, roles, workflows and a collaboration system. This functionality enables software re-use and reduces application development time.

System architecture has direct influence on the quality and potential of the product, which therefore justifies the time you spend in this area of evaluation.

eZ Publish is known for its sophisticated design and architecture, including fully separated content and presentation layers and advanced support for alternate content types.


The CMS platform should support widespread standards such as W3C XHTML, CSS, WAI, Section 508, XML, RSS, UTF-8, LDAP, ODF (OpenDocument) and protocols such as WebDAV and SOAP. This eases interoperability between systems.

Most CMS include standard functionality, such as text search, contact forms, blogs, forums, newsletters, photo galleries, polls, banners, sitemaps and surveys.

If you plan to sell online, the CMS e-commerce engine should include a product catalogue, shopping cart and a variety of payment gateway options. Other pluggable features such as tax, discount, inventory, shipping and affiliate management may also be useful.

Examine Content Management System capabilities against your functional specifications to make sure you have all the necessary engines in place. Think about your CMS strategically and plan for future requirements.

Most of the features mentioned above are standard in eZ Publish, and are also highly customizable to meet your specific needs.


Most enterprise-level CMS projects require custom functionality to meet requirements. Therefore, it is unlikely that you will be able to achieve the goals of your project by simply installing the software. Customization and additional functionality are essential in most cases for a CMS to be able to handle non-standard needs. Hence, this aspect of evalution is about development tools (evaluated by interface) and implementation engines.

To build your own site style and custom features, you will potentially need to tune the environment, configure the platform, declare types, modify templates, create objects and so on. Programmers should be able to perform these tasks using the structure and syntax provided by the framework, rather than by rewriting the core code.

eZ Publish provides a long list of pre-built classes that are managed via the web-based Administration Interface. Powered by an advanced template language, it enables efficient production of custom applications.


Sometimes advanced requirements will lead to lower-level modifications. Tailor-made modules should seamlessly integrate into the existing installation without affecting the kernel or system operation (including update procedures).

When extensions that are similar to your requirements are available as add-ons, development time can be dramatically reduced. Many Open Source CMS offer extensions and add-ons contributed by third parties. In such cases, test their quality and stability before putting them to commercial use.

With eZ Publish extensions, you can enhance all parts of the system: classes, datatypes, modules, operators and functions, notification handlers, workflow events and more.


Past projects built with the CMS are a good demonstration of its capabilities and adaptability. Ask the vendor for a list of references (if not available on its website) to get real-life examples of the product.

For example, if your requirements include a sophisticated webshop and the reference sites for a potential CMS look like portals, then you probably need to continue your search. On the other hand, diversity of features, size, and variety of verticals shows maturity and flexibility in the product.

There are thousands of references available on the eZ website from a wide variety of industries.


The number of years that a Content Management System has been around is an indicator of the viability of the technology, architecture, philosophy and business model. Keep in mind that the product’s version number does not indicate longevity – projects use different versioning models that are not necessarily chronological. Investigate the history of the product, which should have at least 3 to 4 years of active evolution.

eZ Publish version 4 (released as an alpha version in October 2007) is a result of seven years of development.

36 542 Users on board!

Tutorial menu


Printer Friendly version of the full article on one page with plain styles


Proudly Developed with from