When it comes to building a new interactive website or intranet, choosing the correct tool for the job is critical. Pick the wrong one and you risk months of delays on unnecessary custom development to adapt the system for a scenario it wasn’t built to address.
With dozens of products to choose from, including both commercial and open source WCM options, a careful selection process becomes even more important. The first step typically involves deciding whether to go with a content management system (CMS) or a Web development framework such as Ruby on Rails or Django. A framework can be viewed as a set of initial code upon which a software developer builds customizations for CMS functionality. But when a project requires a multifaceted system that is capable of, say, managing thousands of pages of content in three languages, integrating mobile applications and importing and tracking user-specific data, a hybrid of a CMS and a Web framework might be the answer.
Content management systems are generally great for handling a lot of content, but they can also be inflexible and difficult to customize. Frameworks, on the other hand, provide a lot of flexibility, but require more development and don’t necessarily have an administrative user interface, out-of-the-box content management or user authentication features.
Find out more on open source CMS and Web development frameworks
Discover the keys to picking the right Web development framework
Learn how open source CMS technologies are adding to WCM options
In practice, most organizations need a CMS-framework hybrid. They’re looking for standard Web CMS features, but they’d also like to build custom workflows, interactive features and other functionality that Web development frameworks enable by providing flexible application programming interfaces (APIs) so software developers can extend core capabilities.
Some content management systems, such as Drupal, have adopted framework features and provide a hybrid approach that offers the advantages of both types of products. Here’s a look at how the two types of technologies differ -- and how they’re being combined.
Easy prototyping: Getting it done yesterday
Typically, frameworks require a large initial investment to put a prototype system in place. The user interface for creating and managing content must be carefully considered and built piece by piece. Content management systems provide these tools as part of their core feature set. When you start with a CMS, prototyping the content management architecture usually doesn’t require a lot of developer hours.
It’s good to put a prototype into stakeholders’ hands early on. It enables them to contribute feedback on the system before making a large investment. Prototypes enable project managers, usability experts and site designers to focus on the key capabilities that will add to the system’s success rather than waste their time figuring out basic content management workflow.
On the other hand, CMS architectures commonly include advanced features that can lead to a bloated infrastructure. The CMS is built for managing Web pages, forum posts, blog posts, news items and similar forms of content that require features like revision history, commenting and the ability to attach fields. That can be overkill for other types of data, such as status updates, scheduling information, tags and transactional history.
Rather than assume that all content is created equal, you can strip the features attached to each piece of content by default. For example, the Drupal CMS has an entity content structure. Entities are lightweight pieces of content -- but while the default data model for each entity type is simple, it can be extended to provide commenting, fields and a publication workflow when needed.
That means that the CMS becomes a platform that goes beyond handling informational pages and news items to managing data as a Web application would. A lightweight mechanism for storing content also enables a CMS to be more tightly integrated with other applications, such as customer resource management, e-commerce and document management systems.
APIs, maintenance and testing
Most CMS products have modules (i.e., plug-ins) that extend the core functionality and support additional features like e-commerce, social networking and managing digital assets like video, podcasts or galleries of images on websites. But modules are sometimes built with specific use cases in mind. In contrast, frameworks include APIs that developers can use to meet the particular requirements of the project at hand.
Those looking for the benefits of both a CMS and a Web framework should examine the structure of a platform’s APIs. A rich set of APIs enables efficient customizing and lets developers plug into existing functionality to use or extend as they see fit. In the context of a CMS, APIs should make it possible to extend the existing content management workflow and reduce the amount of coding and maintenance required of the development team.
When creating a large-scale enterprise website or application, testing is essential. Frameworks like Ruby on Rails have conventions for setting up testing processes, making it easy for developers to write test routines as they develop custom code to ensure robustness and make sure a system meets business requirements. Drupal and some other content management systems now include built-in unit testing so software developers can run tests on specific pieces of code to assess core functionality. Such testing can also be extended to test custom functionality.
Most large organizations publish and manage large amounts of Web content, and they also expect to have sophisticated interactive features as part of their online presence. When selecting a content management platform, look at capabilities that span CMS and Web development frameworks. Software developers expect APIs and built-in testing so they can effectively customize aspects of a website like the user interface or individual modules. And website developers want a platform that allows for rapid prototyping of content management features right out of the box. By selecting a platform that combines these qualities, organizations can get the best of both worlds and create both content- and feature-rich websites.
ABOUT THE AUTHOR
Suzanne Kennedy is the co-founder of Evolving Web, a Drupal consulting, development and training company in Montreal that specializes in multilingual content management and implementations of advanced search interfaces.
This was first published in March 2012