CMS Solutions: Custom-Built on a Framework versus Off-the-Shelf
Ryan Stenberg, Former Developer
Looking for a new content management system? Let us help you decide whether to custom-build or go off-the-shelf.
I want a content management system. What are my options?
When it comes to acquiring a content management system (CMS), there are two common avenues:
- Use pre-built, off-the-shelf software.
- Custom-build it.
It's important to understand the differences -- what each approach simplifies and complicates and what that means for budget, timeline, and longevity.
An off-the-shelf CMS is a complete software product. It has a generic set of functionality and a pre-defined user interface for managing content. Typically, off-the-shelf CMSs have some kind of plugin-system to allow for extensibility and customization as well.
A custom-built CMS does not mean built from scratch. Most commonly, it is a web application built on top of an open source web framework, often leveraging other open source libraries as building blocks.
The underlying data model and the user interface are tailored to the business domain. All pieces are crafted together with the core requirements and business needs in mind, which drive the shape of a custom CMS.
Let’s get a little technical.
All CMS solutions are built for the web. They're all written using a programming language like PHP, Java, Ruby, or Python. They’re all built with a web framework that supplies central functionality to power web applications. The top-most piece is the user interface (also called a UI) that defines the way users interact with and manage content inside of an admin.
While frameworks do a lot of work, they don’t do it all -- they are, after all, just frameworks for the rest of the application. They only go as far as to give you the tools necessary to build a web application, regardless of specific CMS or domain.
Off-the-shelf CMSs are built on top of web frameworks -- some open source, some proprietary -- with a standard, domain-agnostic interface for managing content. This means that the work of building CMS-specific functionality is already done for you. On the other hand, with a custom-built CMS, you’ll need to build your own interface for content management on top of the framework.
What does that mean for me?
Most importantly, the decision to custom-build versus buy an off-the-shelf solution hinges on two things: your business needs and the constraints of the project.
There are many cases where well-established, off-the-shelf CMSs are a perfect fit for a business’ needs. Many popular off-the-shelf CMSs have interfaces that allow you to point-and-click your way through CMS configuration. They're both easy to use and streamlined. Many are relatively inexpensive, and some are even free. When the CMS has a plugin system, it's possible to customize and extend the CMS functionality by writing code that interacts with the CMS plugin interface.
Using an off-the-shelf CMS forces you to rely on the software’s builders to have designed the solution that accommodates your business needs. These one-size-fits-all solutions can't possibly cover every imaginable need, but in many case they create something that adequately covers requirements and can be modified through add-ons.
With a custom-built CMS, you have more ownership over what's being built -- giving you more control and influence over the end-product. You're in a position to tailor the solution to your specific business needs. Not only are you involved in shaping the solution, but you’re involved in the shaping the build process, too.
So, what do I need?
It really comes down to the core requirements and constraints for your CMS. Given unlimited budget and time, a custom CMS will always be better tailored for your business needs. Off-the-shelf CMSs save you the budget of building the CMS interface, but there is more generalization and less customization.
Further, custom-built CMSs offer greater extensibility than an off-the-shelf CMS, where you're limited to pre-established interfaces by which you can customize the software. If you need to add domain-specific functionality with a custom CMS, you build internal features. With an off-the-shelf CMS, you have to build custom functionality through CMS plugins. This means that you're limited to the options they provide and the flexibility of the interface.
Let’s talk cost.
There's a higher price tag for a custom-built CMS with an open source framework than an off-the-shelf CMS that’s already built. However, the real cost lies in the functionality gap between fundamental CMS capabilities and what your business needs and domain requires. If you need a great amount of customization, it may be more cost efficient to choose a custom CMS due to the higher level of friction when extending off-the-shelf softwares to fit your specific needs. There are definite cost-savings in off-the-shelf CMSs, as long as your needs fit within the capabilities of the CMS.
This blog post is a cursory overview on how to choose a custom-built versus off-the-shelf CMS. Want to learn more? Here are some great resources:
- Ruby Gems - A cloud-hosted repository of Ruby libraries (Ruby)
- Ruby Toolbox - A search tool that finds the right Ruby gem or the job
- Bundler - A Ruby dependency management tool
- Laravel (PHP)
- Django (Python)
Popular off-the-shelf CMSs
- Wordpress (PHP)
- ExpressionEngine (PHP)
- Craft (PHP)
- Straight Up Craft - Plug-ins for the Craft CMS
- Drupal (PHP)
- Joomla (PHP)
Let's boil it down.
- Good for when there are few requirements besides content management
- Smaller, contained scope
- Generally smaller budgets
- Extensibility mostly relies on existing plug-ins
- Only requires front-end developers
- Good for business-specific processes
- Larger scope
- Generally requires larger budgets
- Can use third-party integrations
- Requires both back- and front-end developers
- Good for when you need high-performance or advanced search