Payload CMS

Payload CMS Review and Features

Written by Samuel Pitonak

Last update: 6/11/2024

What is Payload CMS?

Payload is a CMS that gives you full control over almost anything you can think of. You have the ability to completely customize the visual appearance of the admin UI, set up authentication and access control on a document or field-level, localize and manage complex content by using the diversity of field types that it provides, and a whole lot more. Keep in mind that with great power comes great responsibility. If you are willing to accept in order to have a great amount of flexibility at hand, Payload will be probably a good fit for you.

User interface

By default, it is very simple and clean with no distortions and you are free to change it completely as it is fully customizable. Payload’s config file gives you the power to make Payload look any way you want just by exchanging the built-in React components with the ones of your choice.

In addition to swapping default views in the UI such as dashboard and account, it is also possible to replace components that help pick and visualize the content-type field values.

Having a field in which color needs to be selected? Provide a custom color picker component and boost the editing experience.

[@portabletext/react] Unknown block type "lazyVideo", specify a component for it in the `components.types` prop

Payload CMS API

Payload provides REST and GraphQL APIs which are auto-generated based on the collections defined in the configuration file. There is also a local API that can be useful when using a server-side rendering framework such as NextJS so you no longer need to make a request to a third-party server in order to get data that needs to be displayed.

Authentication can be enabled on any data collection and that collection can then be thought of as a user. Payload provides a new set of operations on authentication-enabled collections which will provide login, logout, reset the password, and some other functions which are part of the general authentication flow that uses JWTs (JSON Web Token).

Support

Payload's community has developed quite significantly since it's first debut in 2021. The CMS is being actively maintained on GitHub by a number of contributors and the repository stargazers amount to 7000 which is more than 10 times more when comparing to a year before.

The Payload CMS was made completely free in 2022, allowing for complete freedom in regards to modifications and use. It is possible to get an official dedicated development support and support through SLA on the Enterprise tier.

Versions & Autosave

With Payload you are able to easily opt-in to using Versions which allow you through the Admin UI to see the history of your documents in detail, revert to an older version of a document, manage who can see versions or drafts of your documents, set up mechanism to automatically make documents go public at a future date or to create drafts. Drafts allow you to work on preview implementations or on not-ready-to-publish documents while not making these changes public. You can use the autosave feature when Versions and Drafts are enabled, which repeatedly saves your progress at your defined interval as a new draft version. And whenever your document is ready, you publish it.

Preview Content

By setting up the preview option in the admin section in one of your Collection configs, the Preview button will appear in the Edit view for the corresponding collection. This function generates a link pointing to the frontend that lets you preview changes in documents on data without publishing them.

Team Members & Access Control

Declaring which team member has access to what documents is easy and intuitive with Payload’s access control. It is possible to manage access at three different levels: Global, Collections, Fields. By default, all your Collections and Globals require the user to be logged in to interact in any way. But this can be modified to suit your manner by writing query restrictions or a simple JavaScript function with boolean return value.

For example:

  • Any user can read all posts that have status set to published and only users with the admin role have the right to edit/delete and see all posts,
  • restricting users to only see their own orders and not someone else’s or
  • users who belong to a certain organization can only access it's resources.
[@portabletext/react] Unknown block type "newPdfPage", specify a component for it in the `components.types` prop

Dashboard i18n

Developers behind Payload CMS are planning to internationalize Payload’s admin panel (Q1 2023). Meaning that there should be a new option added for users who do not speak English to switch the admin panel to different supported languages. For more information, you can access the GitHub discussion at this link.

Payload CMS Pricing

The Payload CMS has been completely free since the 24th of May in 2022 after more than a year of providing 1 free and 2 paid tiers. It is under the MIT license meaning it is free for projects of any shape or size. As per license, there are no restrictions when it comes to the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software.

Payload CMS Pros and Cons

[@portabletext/react] Unknown block type "prosCons", specify a component for it in the `components.types` prop