Strapi Headless Content Management System
Headless CMS
  • Supports APIs without dependency on the presentation layer [1]
  • Separates the Model from the View
  • Manage content separately from delivery
  • Can serve more than one website [2]
Headless CMS
  • Supports APIs without dependency on the presentation layer [1]
  • Separates the Model from the View
  • Manage content separately from delivery
  • Can serve more than one website [2]
Headless CMS
  • Adds scalability to content - changes can be applied globally or granularly by - adjusting the model logic
  • Simplifies management tasks by exposing them through well defined GUI or CLI processes
  • Simplifies access restriction setting and checking through user roles and permissions [3]
 

Strapi is a headless content management system (CMS) that is distributed through the JavaScript package manager, npm. As a headless CMS it supports application programming interface (API) usage without dependence on the presentation layer, and this allows content stored in its single location to serve multiple points of consumption. The data consumption can be restricted through user roles and permissions. The data manipulation tasks, e.g. uploading files, gathering data into collections, defining relationships among collections, are accomplished by the user through Strapi’s graphical user interface (GUI). A subset of these tasks are also available through the command line interface (CLI). Strapi compares favorably among its peers in the headless CMS landscape as an open source JavaScript option. Some shortcomings are noteworthy, however, and these include its status as an alpha release, and mixing of Strapi and database code with user data code. This presentation begins with definitions for the terms “headless” and “CMS”, moves to an outline of Strapi features, compares Strapi to its peers Wordpress (with its REST API) and Cockpit, shows an example of using with its “quickstart” process, and finally examines some of Strapi’s shortcomings.