KeystoneJS: A Node-based CMS
Photo: Joshua Hibbert - unsplash.com

KeystoneJS: A Node-based CMS

The best-known content management systems today are based on older technologies, such as PHP. If you want a CMS which uses the latest trends, such as Node.js and NoSQL databases, you have to be more adventurous. The most complete choice currently available is KeystoneJS.

Keystone is a MEAN stack application, though it requires only three of the four MEAN components. It relies on server-side JavaScript through Node.js. Express.js provides its MVC framework and Web server. Instead of using an SQL database, as WordPress, Drupal, and other traditional CMSes do, it uses MongoDB. It doesn’t require the use of Angular, though Angular-based page support features are an obvious way to extend its power.

Keystone provides for the addition of REST APIs for front ends and cooperating applications. They provide a bridge between the outside world and its internal JavaScript API.

The source code for Keystone is available under the MIT license on GitHub.

At this stage of its development, it isn’t as polished and easy to use as its traditional competitors. Installation is more complicated; you start with NPM to install the required components. You can use it to build a simple website, but perhaps it’s better viewed as a CMF (content management framework) than a CMS. Its approach is “We’ll handle the back end, you handle the front.”

Features and limitations

Keystone supports a reasonable array of features, including:

  • Secure login and session management Blogs Image uploading
  • Automatically generated administrative user interface Form processing Email sending

Site creators have to do a significant amount of work on the front end, or else use a front-end extension such as ConnextCMS. ConnextCMS provides tools for building pages, communicating with Keystone through a REST API. It calls itself a “CMS for client-side JavaScript developers,” so even with Connext, Keystone isn’t a simple install-and-go site builder for non-programmers. Connext does as much as possible in the browser, rather than delivering fully formed pages from the server.

Keystone doesn’t actually require a front end at all. With a suitable API, it can serve as the basis of a web application that delivers content to clients.

We've got more info for developers and further reading.

Read more on full post.



Excellent Article. Keystone JS is the most popular NodeJS Framework. But its not show in town

Like
Reply

Would be interested in knowing why Keystone is using Gatsby instead for their doc site.

To view or add a comment, sign in

Others also viewed

Explore content categories