We started looking into CMS to figure out what makes sense for us to use for certain use cases. Here is my take on CMS in general. To state the obvious, micro-services concept is the future of web architectures.

What is CMS?

A Content Management System(CMS) is a software that helps us to manage content. Content can be in the form of text, images, movies, links or any data. When choosing a CMS, make sure that your team and developers are familiar with the programming language and the database that the CMS uses. This is very important as there will be a need to customise the backend to suit your needs. A CMS consists of 2 parts

  1. CMA — Content Management Application — This application lets users to manage content that could be later integrated with your website.
  2. CDA — Content Delivery Application — This application takes the information from CMA and publishes to the website.

I would like to break down the CMS overview and selection process into there categories

1. CMS can be categorised into Coupled or DeCoupled (Headless CMS)

A headless or Decoupled CMS works purely on an API basis. It usually provides a HTTP REST with JSON interface and it doesn’t care on 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 leverages better user interactions on your site. Another key area that leverages this CMS is Mobile Apps

Headless Frameworks

  • 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 wth Django Web Framework
  • Prismic
  • CloudCms (Paid)
  • Builtio
  • Cosmicjs
  • Hippo CMS — offers contextual and behavioral trend analytics on web content and helps you create expriments to A/B test content and layout
  • Osmek
  • Genetics Mesh
  • Directus (Open Source and Paid hosted version)
  • ContentStack (built.io)

The traditional Coupled CMS are 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 drawback 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

  1. LifeRay
  2. OpenCMS
  3. Alfresco community edition
  4. WordPress
  5. Drupal
  6. Joomla
  7. Expression Engine (Paid)
  8. Text Pattern
  9. Contao
  10. SilverStripe
  11. Umbraco
  12. Concrete5
  13. CushyCMS (Paid)
  14. Radiant CMS
  15. Alfresco

2. Open-source vs Paid

This section is very clear. With the Paid version of CMS you get support by 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 have a few popular areas of technology platforms and database that it supports (MySQL, PostGres, SqlServer, Oracle etc…)

  • PHP
  • Java
  • Ruby
  • .NET

What are some of the key questions that needs to be considered before the selection process

  1. The complexity of your content and how they interact with each other
  2. How will your users interact with your content?
  3. How many users are authoring the tool and do you need complex roles and responsibilities.
  4. Do you need training and how do you plan on training your folks who use this CMS
  5. Is there a Support Community for the CMS?
  6. How much does it cost?

My Observation and Recommendations

When or why do we use Headless CMS?

  • If you are planning on using Javascript MVC framework
  • If you want content to be used across devices (mobile apps, tablet, desktop)

Here are my picks worth trying out and having a better chance of success.

Headless CMS

  • Contentful — Paid
  • Drupal with Headless API — Free
  • ContentStack from built.io — Paid
  • Hippo — Java based CMS
  • Prismic.io — Paid

Traditional CMS

  • 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

Disclaimer: I used lot of the information available across the community to compile this together. I have listed some of those sites below

Content management Systems — CMS was originally published in Intentwise — Marketing platform powered by Machine Learning and AI on Medium, where people are continuing the conversation by highlighting and responding to this story.