Payload had been in the development process for around 2 years before it made its first appearance in the public release (in early 2021) as an open-source self-hosted headless CMS solution. It is promised to be a silver bullet solution for your software problems so here I am to briefly walk you through it and help you find out yourself how much of a truth that bold statement may be.
- CMS type: API
- Website: payloadcms.com
- Founded: 2021
- Company size: 1-10 people
Last update: November 28, 2022
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.
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.
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).
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.
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
- 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.
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
- Highly flexible and customizable
- No restrictions for use under the MIT license
- Ability to add/extend an existing Node + Express app with Payload
- One central config file as a single source of truth for everything that is set up
- Not only document-level but also field-level hooks and access control
- Ability to implement custom validation logic for any kind of field type
- Starter templates when creating a new project through CLI (blog and todo app) to give you some base ground
- High flexibility comes with its price which is that on one hand the CMS gives you abstractions but says too little about how to use them. This means it is required that the developer has a certain level of proficiency in order to architect the solution well since there are too few restrictions and the CMS tries to be least opinionated possible
- MongoDB as the only database option
- Lack of visual builder that could help you build up your content model