Learn / eZ Publish / Choosing a Content Management System

Choosing a Content Management System

There is no ideal CMS. Instead, the various CMS solutions offer different benefits and drawbacks. Your challenge is to select the CMS with the characteristics that will meet your web publishing needs and support your business strategy. This article describes CMS characteristics that you should analyze when evaluating potential systems. While written from the point of view of a web development company, the tips in this article are applicable to anyone evaluating CMS.

Background

In 2004, my company ( Internet Bureau) evaluated hundreds of CMS products after it became clear that our own CMS software couldn’t keep up with changes in technology and with shifting and increasing requirements among our clients. Fortunately, we realized the importance of making the right choice and therefore invested much time and effort into research.

In the end, we selected eZ Publish, which, in the ensuing years, has become a competitive advantage, unlike our previous bitter experiences with CMS. We have since become an official eZ Partner, and we see this partnership as a key company asset.

As a consulting and Internet services firm, we had a specific set of criteria for choosing a CMS. However, because we were choosing software that would be used for both our own projects and for our clients' projects, we developed criteria that encompassed a broad analysis of the decision factors with CMS, including features, architecture, licensing and so on.

Expectations

Before we examine the technical details of CMS, let us look at general expectations from the commercial and operational points of view.

First, you must expect to have a reliable, long-term relationship with the vendor and its product. Therefore, spend some time investigating the company history and activities. While sales materials such as presentations and whitepapers can be useful, the best indication of a vendor’s reliability is its track record. If possible, talk to other organizations who have been using the software for a considerable period of time – that is, at least several months after the completion of a full site implementation.

If you are looking for a CMS for a single project, write up a precise functional requirements document to compare against system capabilities. If necessary, have a technical specialist available early in the project to advise you. If you are a web development firm looking for a CMS that you will provide to one or more of your clients, the new platform should fit seamlessly into your service offering.

Clearly defining your expectations and spending time ensuring that these expectations will be met will save you money and help ensure that you make the right choice regarding a critical piece of infrastructure.

Research according to CMS type

There are over a thousand Content Management Systems currently available. These can be roughly grouped into similar types. To start the selection process, you need to understand the major advantages and disadvantages of each type.

Homegrown

These are normally products developed and supported by a single web development company for its own projects. The main advantage is the ability to hack and customize the system according to specific requirements. The main disadvantage is that you are completely dependent on a single (and often small) vendor for bug fixes and enhancements.

Commercial

This is the broadest tier among types of CMS, with a variety of feature and price options. The main advantage is the probability of quick delivery of a standardized solution. The main disadvantage is that evaluation is often limited to pre-sales presentation. It is difficult to evaluate the quality and functionality of a CMS without hands-on experience, and impossible to evaluate the quality of the code in proprietary software where access to source code is not available. Another major drawback with this class of CMS is that it can be difficult or impossible to extend or customize the solution to fit your needs.

High-end

There are only a few high-end CMS vendors. Their advantage is the ability to deliver robust, enterprise-grade solutions. Their disadvantage is the price.

Open Source

With Open Source CMS, the software is available to anyone for free. Many Open Source CMS are developed by non-profit virtual communities. The main advantages are that you generally do not pay license fees, and you are able to extend and customize the product. The main disadvantages are that some products lack commercial-grade stability and security, and many lack support and services infrastructure.

Evaluation

After defining your expectations and determining the type of CMS that suits your needs, you will probably have a short list of CMS candidates. At this time it is worthwhile to obtain full or demo versions of the software. Some things to check include:

  • License obligations – Will you be able to customize the CMS to match your project's requirements? Are there any limitations, such as the number of users or the number of sites you can run from a single installation? Are there recurring subscription obligations?
  • Total cost of ownership – The plan for your project must take into account custom development tasks, but also hosting, service and support requirements, training, implementation and deployment, as well as other long-term expenses.
  • Application platform availability – If you are hosting your own application, do you have the infrastructure and technical expertise to administer the system? Consider a CMS that uses components, such as the operating system and web server, that you are either already using or with which your organization is familiar.

Decision

One of the popular online software guides ( ITerating) uses the following weighted criteria to determine the overall value of a product:

  • Functionality – 35%
  • Usability – 15%
  • Security – 10%
  • Performance & Scalability – 10%
  • Architecture & Quality – 10%
  • Support & Documentation – 10%
  • Adoption & Community – 10%

The list above is simply an example. The following sections of this article provide you with information that will help to develop your own selection criteria. The important point is that by defining your criteria and the relative importance of each individual item, you create a structure that can be used to select the right CMS.

Powerful, feature-rich CMS are not simple. The system you select should be worth the investment your organization makes in learning the CMS. Ongoing support from the vendor, from the initial setup all the way through to implementation and maintenance, can increase the value of the investment.

Documentation

The first thing you need to verify is the quality of the documentation. This is not only essential for developers, but also demonstrates the vendor's ability to support an evolving product.

The information provided should be well structured, up-to-date and useful. Look for changelogs, release notes, installation instructions, training materials and user manuals. A developer guide or other type of low-level technical documentation is important, because it will enable you to extend the software on your own, without having to rely on the vendor or external developers.

Documentation may be presented online, available as downloadable files or published in a printed book. The latter can be useful as a reference for those learning the system. Other types of useful materials include guided tours, tutorials, knowledge bases, FAQs and e-learning material.

Unlike other large Open Source Content Management Systems, eZ Publish has extensive developer and user documentation that is freely available at http://ez.no/doc. eZ Press, the publishing division of eZ, also publishes books on eZ Publish.

Community

Most of the mature and popular Open Source CMS have communities of developers and users. (Proprietary CMS are generally limited to communities of users.) Activity within these communities (such as high-volume forums, public bug trackers and community software contributions) indicates healthy involvement that results in constant progress of the CMS.

A lot of first-hand experience can be learned from forums and mailing lists. Look for threads with the most involvement to see which kinds of issues arise when using the CMS. Try posting a meaningful question and see how fast and thoroughly it is addressed by the community.

Many CMS are enriched by member-contributed materials such as articles, files and even software extensions. Offline user group meetings may also be available in your area. Sometimes a problem is most easily solved by speaking to a person who has experienced the same problem before; therefore, do not underestimate the importance of personal networking.

The eZ Publish community has tens of thousands of programmers, administrators and users. This community is almost always able to help you resolve your problems.

Evolution

Regular software releases over a span of years is a good indication of constant, ongoing development activity, including bug fixes and new and enhanced features. Actively developed CMS will provide a constant stream of improvements and enhancements for your project.

When you evaluate Open Source software, you may find that it has a public database of bugs and enhancement requests. This does not mean that the system is unstable or buggy. Instead, it means that the community of users contributes to the quality of the software by reporting problems. This makes the system more stable and secure. Often, the CMS developers mark the issues with the release where the bug is fixed. The bug database is useful to your research, as you can get a sense of how long critical bugs stay open before they are addressed.

eZ Publish has a high degree of development activity, resulting in a product that constantly evolves and improves. eZ hosts a public bug tracking database, allowing developers and users to track the status of each issue.

Services

With an enterprise solution that is mission critical, you might want a professional service package to back your operations. Ask the vendor if it can allocate consultants to provide commercial technical support and ongoing maintenance services (such as automatic updates and site monitoring).

Other services that should be available are training courses, custom workshops, project consulting and custom development. The bottom line is that the vendor should be able to provide product responsibility and other guarantees in the form of a service level agreement that fits your needs.

The creators of eZ Publish provide a complete portfolio of support and services available anywhere in the world.

Partners

Rather than dealing directly with the software vendor, there are often advantages to dealing with a competent local partner who is knowledgeable about the CMS. Dealing with a partner brings benefits such as: working with someone who has knowledge of your industry or project; the convenience of local / on-site service; and reduced expenses. Many CMS vendors have their own networks of certified partners who develop, implement and support solutions based on the vendor’s products.

If the vendor works with partners, the vendor should be able to help you find a partner who has the skills you need. If dealing directly with a partner, ask them about their partnership status along with proof of authorization (such as a printed certificate or listing on the vendor’s website).

eZ Publish has a global network of two hundred partners who serve thousands of customers.

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.

Architecture

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.

Features

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.

Customization

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.

Modularity

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.

Adaptability

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.

Maturity

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.

The history of technology projects shows that they often tend to be more complex, expensive and time-consuming than expected. One way to manage risk is to select the right Content Management System.

Development

The quality of development services can be measured by five factors:

  • completing the scope
  • providing quality assurance
  • delivering on time
  • staying within budget
  • meeting requirements

A developer’s ability to fulfill these factors is strongly influenced by the platform. Therefore, choosing the right CMS helps to avoid surprises.

Sophisticated CMS offer: rapid application development tools; pre-built content elements and functional modules; extensibility mechanisms; and embedded security and performance tuning tools.

The eZ Publish development framework consists of a collection of general, flexible engines and libraries that help in building powerful web applications.

Deployment

One of the common pitfalls when rolling out a CMS is that organizations often do not think beyond the core system functionality. Organizational behavior, such as policies and procedures, training and communication, document creation and publishing are also important.

The process of introducing new content publishing technology is simplified when there is: an easy-to-use interface and user manuals to ease the learning curve; adjustable granular permissions and an approval workflow to model actual roles; a flexible information structure; and fool-proof editing for adding material efficiently.

Our experience shows that eZ Publish looks challenging for novices, but usually can be adopted by organizations within one to two weeks.

Operation

Once the system is launched, it should be reliable at all times and be stable, accessible, available, fast and secure.

For ongoing maintenance and future growth, it is a good idea to either form an ongoing relationship with your original contractors or form your own independent team. Some CMS products have a network of certified companies that can provide services. Check that certified partners are available to you, and can provide service on- or off-site, even if technical support is included in the original contract.

eZ Publish has an extensive worldwide partner network, so you can always get the assistance you need.

Security

The overall security of a content management project depends on many factors: physical infrastructure, the operating system, underlying software, the CMS product, application access control, the data transmission mechanism and human issues.

Your system administration team or site host is responsible for the first three aspects of security. If the server environment is not secure, security in other aspects is of limited value.

There is no such thing as perfect software; all software has bugs of varying severity. The most important thing is that the vendor is able to quickly patch bugs as they are found. Discuss update procedures with your CMS vendor as part of the evaluation process. Ask for a list of critical bugs for the last several years – they should be few in number and quickly patched.

Proper CMS configuration is also essential and should be performed by professionals who are knowledgeable about the system. The platform itself should address common security issues such as cross-site scripting and request forgery, SQL injections, file execution, direct object reference, information leakage, error handling, authentication and session management, cryptographic storage and encrypted communication.

Strict development guidelines and quality assurance are also important in preventing security breaches. Proper user access configuration should make it possible to set specific permissions for every object in the system. Make sure that security tests are included in your project plan.

The security system in eZ Publish is highly advanced. No critical security bugs have been found in the system for the last several years.

Usability

While many CMS products might satisfy your functionality requirements, usability and simplicity are key risk reduction factors. Consider this in relation to the time spent on various project phases, especially those phases that occur late in the project (such as training and content authoring).

Initially, during installation, the software should perform environment testing and configuration and provide informative troubleshooting messages. After installation, the user interface must be both powerful and easy to use, with easily accessible tips and help. Interfaces should be identical in any browser, and should be available in the language(s) of your choice. Full localization should also be available for all the embedded text on the front end of the system.

The authoring tools available for editors will have a major impact on day-to-day content management efficiency. A WYSIWYG editor with a standard editing interface is important for creating content. In addition, the system should allow you to save unfinished work, publish content in different locations, build and re-use object repositories, import documents and preview the layout of the content to be published. Other possible features are spell checking, verification against simultaneous editing by different users, and fool-proof formatting capabilities to allow for professional markup prior to content publication.

eZ Publish fully meets the requirements listed above, and features intuitive interfaces that reduce the learning curve.

Evidence

Risk can affect real-life negative outcomes, so it is best tested on actual results.

Even with the suggestions given above, it can still be difficult to determine risks or potential problems merely by evaluating the front end of online systems. However, by looking at the companies who have performed due diligence and chosen the CMS, you can take advantage of their research. World-class companies have broad and exacting standards.

Look for the following industries for specific qualities: financial (for security); newspapers and media (for performance); non-profit (for cost of ownership); and online business (for flexibility).

There many well-known names among eZ Publish references, such as French Ministry of Defense, MIT, NASA, National Geographic, Hitachi, KPMG, Norwegian Telecom, Elle, Vogue, Estée Lauder and BNP Paribas.

Large enterprises have minimal tolerance for failure. Their Content Management System must be able to support changes in infrastructure, load and requirements.

Versatility

While websites are the most common application of CMS, the enterprise-level capabilities of sophisticated systems can be used to manage all types of organizational information, meeting a variety of business goals by moving processes online.

Wikipedia lists the following web content management (WCM) functions (among others):

  • Creation of new or editing of existing information in a controlled generation and publishing process
  • Delivery and administration of information for web presentation
  • Automatic conversion for various display formats, personalized display and versions
  • Secure separation of access to public and non-public information

When choosing a CMS, ensure that the system has the capability to match the project’s design and requirements. As a platform, the CMS should have a broad range of core functionality coupled with architecture that supports extension. In addition, the company should provide a variety of support and service options that help secure the success of the project. This is particularly important when extending a CMS to meet enterprise needs.

eZ's Business Solutions provide support, maintenance and guarantees tailored to any organization's operational requirements.

Abstraction

The CMS system should be cross-platform, database-independent and browser-neutral to enable separation between the application design and surrounding technology. Software abstraction principles provide flexibility in selecting suitable infrastructure or using an existing environment, while enabling later portability.

A content model with the ability to configure custom datatypes makes the system independent of pre-configured storage entities. This type of abstraction is needed to handle and communicate custom data, which is often the case in complex enterprise-wide systems.

Custom datatypes are also helpful when importing legacy content. Migration should be supported in various forms, including text parsing and the direct connection to an external data provider (with the content processed by the internal API for consistency with the rest of the objects). Data and information structure conversion should not only be possible, but cost effective and trouble free.

Other types of integration with third-party applications rely on open, services-based interfaces that make it easy to supply or aggregate information. For example, a CMS might support various pluggable data sources such as RSS feeds.

The architecture of eZ Publish is layered at all levels with data, control, objects, structure, features, technology and integration capabilities working together yet available for manipulation and customization without kernel modifications.

Extensibility

Extending a system by adding new features is a common requirement among enterprises. You should be able to extend functionality with minimal changes to existing code. Regardless of the number of modifications, your previous code should never becomes obsolete if developed properly. Only periodic maintenance to keep the modifications current with changes to the API should be required.

If your requirements are beyond the current system capabilities (for example, if you need to connect to an external application), the architecture should provide design principles to create extensions that plug in to the rest of the CMS. Such integration methods are vital to bring together heterogeneous systems in your organization.

eZ Publish is built with extensibility in mind and provides the necessary mechanisms for creating and using extensions. Many tested and certified extensions are immediately available via subscription services.

Scalability

One of the most important characteristics that differentiate enterprise Content Management Systems is the ability to accommodate large arrays of data. The volume and diversity of users and content should not unduly degrade system operation.

If you know there will be millions of records in the database, it is wise to plan for scalability (generally achieved by clustered servers) in advance. Since scalability is closely related to performance issues, ask your system architect to evaluate these issues together when designing your application and infrastructure.

The default eZ Publish engine can handle several hundred thousands objects without any specific tuning. Cluster support is embedded.

Performance

The system must be able to handle the projected peak number of simultaneous visitors while maintaining acceptable page response times (generally estimated at one second for a web interface).

The page generation rate depends on many factors, including server hardware and software; environment configuration; CMS design, load balance and tuning; amount of data and traffic; and, most importantly, the proper use of internal cache (where applicable). The performance optimization process is ongoing, so you should have specialists available for these tasks after initial launch.

While eZ Publish is resource-intensive, it demonstrates exceptional performance on redundant hardware when configured for optimized performance.

By now you probably have a short list of CMS to choose from. But are they suitable for real-life commercial environments? The following advice relates mostly to those in software development or system integration who are implementing CMS on behalf of their clients.

Brand

Expertise with a popular and well-known Content Management System will help you sell your services and reinforce your position in your market. Therefore, it is useful to be aware of the general market perception regarding the CMS on your short list. The easiest way to evaluate visibility is by searching Google for the names of the products and comparing the results found.

eZ Publish is one of the most popular Open Source CMS in the world. It has won a number of awards, including Web Idol, European Seal of Excellence, EContent 100, BNP CMS and Portal Benchmark Analysis and ICT Innovation Award.

Price

Most clients have a fixed budget; costs – including consulting, management, production, deployment, training, maintenance, hardware, and other expenses – strongly influence their final decision.

Customers generally do not pay fees for the use of Open Source software. Customization, support and other costs are affected by the quality of the framework, which impacts development efficiency and thus time frame and budget.

Web development companies should research their local CMS market to understand the segment they are targeting, including its opportunities, competition and the average contract prices for a variety of tasks.

eZ Publish is Open Source software. A full version of the software can be downloaded for free. However, the complexity of the problems that can be solved with eZ Publish makes it suitable for upper-tier projects and budgets.

Infrastructure

Make certain that you can offer clients any necessary on-site or outsourced infrastructure regardless of their geographic location. If you cannot provide it yourself, look for datacenter partners that support the selected CMS, including shared hosting plans for smaller projects.

Since some Content Management Systems are resource-intensive, trial installation and performance tests on a high volume of data and traffic are necessary to ensure an acceptable end-user experience.

There are a number of hosting partners in the eZ Ecosystem that can provide suitable packages.

It can be difficult to compare CMS products due to their diversity in purpose, technology, architecture and capabilities. However, it is possible to compare generalized qualities that are the most important for decision makers. By analyzing the results of comparisons performed by vendor-neutral third-party research sites (such as CMS Matrix), the following conclusions emerge:

  • Open Source systems are almost as mature and capable as commercial products, but they need to improve in the areas of support and security.
  • The cost of mid-market projects increases with better support and lower risks, but products in this segment are not as sophisticated.
  • Sophisticated capabilities are only available in upper-tier enterprise solutions, but this is mostly due to higher budgets that allow extensive customization and the requirement for powerful high-end hardware platforms.

eZ Publish brings together the best of both worlds: Open Source flexibility and commercially strong capabilities.

Open Source advantage

Open Source provides strong advantages in Content Management Systems. Its transparency (of software and of development process) allows you to analyze functionality, potential and usability. Open Source also provides the infrastructure for future growth, protecting you legally and technically.

According to IDC's recent report, Open Source is "the most significant all-encompassing and long-term trend that the software industry has seen since the early 1980s [and] it would fundamentally change the value proposition of packaged software for customers."

Hopefully this article demonstrates how the eZ Publish Enterprise Open Source Content Management System can be an attractive option for your project, organization and business strategy.

Resources

For further information, visit the following links: