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 customize 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.
I would like to break down the CMS overview and selection process into there 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
This section is very clear. With the Paid version of 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 have a few popular areas of technology platforms and database that it supports (MySQL, Postgres, SqlServer, Oracle etc…)
What are some of the key questions that need to be considered before the 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 Observation and Recommendations
When or why do we use 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
Intentwise is a Chicago-based advertising technology company that helps brands, sellers and agencies amplify their Amazon advertising effectiveness. Intentwise’s industry-leading SAAS platform harnesses the power of machine learning and AI to provide impactful recommendations, diagnostics, and automation.