Choosing Your CMS – There is no free lunch
Is your organization considering a new content management system (CMS) for its website? Choosing a CMS is an issue several PINT clients have wrestled with, so we thought it would make a good topic of discussion for the blog. The main decision point when selecting a CMS is the choice between a proprietary enterprise and open source. Within these two categories, there are individual products with different features that make the selection process even more complex. But certain considerations can make it easier to pinpoint the best option. Let’s explore…
CMS Selection: Before You Begin
Choosing a CMS too early in the web development process may place constraints on your site’s features and functionality. Here are some thoughts to keep in mind as you begin the decision making process:
- Gather your requirements first
- If possible, don’t let the choice of technology drive the project
- Business needs and goals should be in the driver’s seat
- Let those needs and goals guide you to the appropriate CMS
Building on these thoughts, here are steps you may want to follow for selecting the best CMS for your project:
- Gather a list of functional requirements and specifications for your internal and external users
- Identify any technical requirements, such as integrations, scaling, and availability
- Select your CMS type–open source or commercial–based on these factors:
- Corporate culture
- Policy/legal issues
- In-house talent for a certain languages such as PHP, Ruby, C#, or Java
- Tolerance for third party customizations
- Comfort with a particular model for controlling security and software risks
- Choose the best product fit within your selected CMS type based on your use cases/requirements. Sample criteria:
- How much scalability is needed?
- Do you prefer integration with other systems or having single platform that does it all?
- How important is ease of use for non-technical CMS users (content owners)?
- Is this product a fit for any of your specific use cases?
Considering the steps of this outline, let’s look at some of the factors that go in these decisions, starting with open source options.
Open Source CMS
Many open source content management solutions are free and offer community support. Some well-known open source CMSs include Drupal, WordPress, and Joomla. Open source CMSs typically do not have licensing costs (although there are commercial variants of some). There can, however, be substantial costs for third party customizations that are sometimes needed to meet project requirements. Sometimes these requirements can be met natively by commercial alternatives. In the case of enterprise solutions, there is also often a need for ongoing paid professional (versus free “community”) support.
Weighing the Risks
Many open source CMSs and major commercial alternatives are relatively mature systems that will more-or-less meet the project requirements of most enterprise CMS projects. A great deal of the project risk comes down to how well the technical debt that one is inevitably taking on in making the commitment to a particular system will be managed. That in turn, is largely a function of the support systems that stand behind each software system.
That is to say, how comfortable is your organization with handling problems on their own or within a user community? This is because open source CMSs do not come with the single architect or customer service of a commercial product. Typically, the support system for open source CMS platforms is the developer community. The mitigation factors for these communities include size, depth, and activity level.
Clearly, open source works widely and at scale. For example, some notable organizations like the White House and The Economist use open source CMSs. The Economist released a case study about publishing a page-heavy site and migrating all their data to the new system. It frankly discusses how they ended up having to hire in-house technical staff to build their publishing module. In this case, their organization was comfortable with that risk, and addressed it by hiring an expert.
But staffing is not the only consideration here. Since it is not uncommon for an open source CMS to leave users wanting additional features, it is common to use third party modules and extensions. But since the platform and add-ons are all built by different developers, there can be security and functionality conflicts. Searching WordPress on Secunia reveals there are 800 current advisories for different WordPress plugins.
All of this means it is very important to look for a strong and active community when selecting an open source CMS. Some assessment criteria include:
- Number of top websites using the platform
- Number of social media “followers”
- Number of third party modules/extensions available
- Frequency of web searches, etc.
Currently the three open source CMS projects with the largest and most active communities based on these criteria are WordPress, Joomla, and Drupal. All three have communities large and active enough to mitigate a substantial portion of the risk involved in platform selection.
Security is probably the biggest concern in choosing an open source CMS. This is primarily due to hackers, who get to see the platform’s source code and find wide usage a tempting target. Although there are substantial benefits to open source CMS, PINT reminds clients choosing an open source platform to be especially careful and to take adequate security measures. These include:
- Maintaining a regular update schedule
- Minimizing the use of third party modules/extensions wherever possible
- Exercising caution when patching legacy open source CMSs with third party code
- Running a penetration test to validate third party code security
Finally, do not misinterpret some thought of security by obscurity, just weigh the security risk of openness and accountability fairly.
The Bottom Line
While open source CMS platforms might seem like a budget-conscious choice, they can carry unforeseen fees for developing extensions, fixing bugs, and putting out fires. But if your corporate culture embraces using the latest tools and maintains a staff that can handle issues as they arise, an open source CMS could be the right fit for your organization.
Commercial CMS solutions may overcome some of the disadvantages of open source CMSs, but they carry a licensing fee. In the case of mid-range systems, this cost can be as much as $30,000-40,000 per front-end production server plus recurring support fees. For enterprise systems, it can be 10 times as much. Most, but not all proprietary CMS platforms are based on the Microsoft stack (ASP.NET/IIS/SQL Server or Java) whereas most (not all) open source CMSs are based on some variant of the open source LAMP (Linux, Apache, MySQL, PHP) stack. Some popular mid-range corporate proprietary CMS products include SiteCore, Ektron, Sitefinity and Kentico.
Costs and Benefits
One distinct advantage of commercial CMSs is convenience. They are favored for their turnkey synchronization with other out-of-the-box solutions for email marketing and customer relationship management (CRM). Once installed with a commercial CMS, these products can work with the site to provide added forecasting, targeting, and analytics. For example, an organization that runs Salesforce through their CMS may have contact records automatically created when a user fills out an online form. And the commercial CMS may be a safer environment for this add-on, as it is likely to come with increased security and some degree of customer support.
This support is possible because proprietary CMSs are fundamentally “backed” by the development resources of the company that owns the source code and sells the licenses and support. Thus, the longevity, acumen and customer service ethos of the company are key risk mitigation factors when selecting a commercial CMS.
When the vendor has control over the entire environment and most modules, this is known as a single, unified architecture. There are two main benefits:
- It can save the user the hassle of manually updating modules and plugins
- It can avoid conflicts and bugs running multiple add-ons built by different developers
A Note About Time
There is one important thing to note when utilizing a commercial CMS, especially for projects with tight timelines: adding custom modules or elements will significantly lengthen development time. When forecasting project timelines, remember that accounting for building in custom options for larger projects can add months to development and production phases. This is not necessarily a drawback, but definitely something to keep in mind if you need specialized solutions for your CMS. If no customization is needed, many commercial offerings’ out-of-the-box packages do not necessarily need extensive fine-tuning. But even minor changes or updates you may request for the CMS will likely result in hourly fees, which can also add to the overall cost of the project.
The Bottom Line
Commercial CMS products cost more upfront than open source alternatives. But they can save time and money in the long run with their customer support and integrations with CRMs and marketing programs.
At PINT, we’ve used both approaches and our customers do to this day. We also have our own platform built on node.js. However, whether we build, buy or fork, the CMS choice is clearly not one size fits all. Hopefully the points here help you think about your choices. If you want a sounding board, drop us a line or comment away.
Accessibility on the Modern Web
There’s been a lot of buzz in the news lately about accessibility, specifically in reference to the dozens of ADA lawsuits that seem to be more and more...
Automated Visual Regression Testing
What is automated visual regression testing? The name sounds scary, but in reality, the idea is fairly simple. If you have a user interface (UI),...
Automated Testing Tool Comparisons
Automated testing is rapidly gaining popularity across the web development field, and as expected, the number of automated testing tools is growing rapidly as well....