If you have been involved in any online venture for any length of time, you may have heard of the term content management system, or CMS. But what are content management systems used for? This is a valuable question, particularly because one CMS may suit your business’ needs better than another.
The Intentwise team began looking into CMSs to figure out what makes sense for us in certain use cases. Here is my take on CMSs in general. To state the obvious, the microservices concept is the future of web architectures.
What Is A Content Management System (CMS)?
A Content Management System (CMS) is a software that helps any user manage content. Your content can be in the form of text, images, videos, audio files, links, or any other data. From an everyday user’s perspective, it’s easy to think of a CMS as the software that contains, organizes, publishes, and displays your content.
When choosing a CMS, make sure that your team and developers are familiar with the programming language and database that the CMS uses. This is crucial as at some point, you’ll be customizing the backend to suit your needs.
A CMS consists of 2 parts:
- CMA — Content Management Application — This application lets users manage content that could be later integrated with your website.
- CDA — Content Delivery Application — This application takes the information from CMA and publishes it to the website.
Let’s break down the CMS overview and selection process into three categories:
1. CMS can be categorized into coupled or decoupled (headless CMS)
A headless or Decoupled CMS works purely on an API basis. It usually provides an HTTP REST with the JSON interface and it doesn’t care about how the content is displayed. This is very useful if you want to focus on your front end developers using the responsive or other RIA technologies to build websites that leverage better user interactions on your site. Another key area that leverages this CMS is Mobile Apps
- Headless WordPress: WP plus JSON API plugin
- Headless Drupal 7; RESTful module or Drupal 7 + RESTful Web Services module
- Contentful, the API-first content management backend designed to be responsive (Paid)
- Inguenix (ASP.NET)
- Django Rest Framework with Django Web Framework
- CloudCms (Paid)
- Hippo CMS — offers contextual and behavioral trend analytics on web content and helps you create expriments to A/B test content and layout
- Genetics Mesh
- Directus (Open Source and Paid hosted version)
- Contentstack (built.io)
The traditional Coupled CMS is useful as it doesn’t require complex programming and relies heavily on the UI provided by the CMS to author the content by non-programmers. One of the drawbacks of this CMS is that the front end developers are coupled with the CMS technology to make edits, and are restricted by leveraging RIA or other responsive technologies in a better fashion.
Traditional CMS Frameworks
- Expression Engine (Paid)
- Text Pattern
- CushyCMS (Paid)
- Radiant CMS
2. Open-source vs. paid CMSs
The differences between these types is easy to understand. With the paid version of a CMS, you get support from dedicated support folks and will guide you or help in the implementation and support. The open-source on the other hand is widely used and has a good network of people working and supporting it.
3. Language framework that it supports
You should select a CMS that supports your preferred language framework. Your CMS should also have multiple popular technology platforms and databases that it supports (MySQL, Postgres, SqlServer, Oracle, etc…)
What are some of the key questions that need to be considered in your CMS selection process?
- The complexity of your content and how they interact with each other
- How will your users interact with your content?
- How many users are authoring the tool and do you need complex roles and responsibilities.
- Do you need training and how do you plan on training your folks who use this CMS
- Is there a Support Community for the CMS?
- How much does it cost?
My Observations and Recommendations
When or why do we use a headless CMS?
- If you want the content to be used across devices (mobile apps, tablet, desktop)
Here are my picks worth trying out and having a better chance of success.
- Contentful — Paid
- Drupal with Headless API — Free
- Contentstack from built.io — Paid
- Hippo — Java-based CMS
- Prismic.io — Paid
- Drupal — if you have a complex setup that needs PHP platform — Free
- WordPress — If you simple website where Technical experience is not necessary — Free
- Alfresco if you need a java platform — Community edition is free or Paid version available too
References: I used a lot of the information available across the community to compile this together. I have listed those sites below
Read our post “Web framework — Part 1” for our approach to deciding on a tech stack for your business.