Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

cps

No security coverage
View on drupal.org

CPS, or the Content Publishing System, is a radical way of handling revisions for entities. It takes total control over revision management for all supported entities. For CPS-enabled entities, the revision tab is completely replaced and users are not allowed to manually create or move around revisions.

In order to manage revisions, CPS introduces the concept of a site version which will be considered to own all entity revisions. The default site version, known as the *Live* site version, is the only one accessible to non-privileged users, and it is considered to be the publically available state of the site.

Privileged users are not allowed to create, edit or delete content while viewing the Live changeset. Instead, users must create a site version and select it in the site version tool bar (which appears in the IIB bar just below the admin toolbar).

Once a site version is selected, all entity changes made will be stored in revisions that are attached to that changeset. The Live version of the site will not be affected. No matter how many changes are made to a single entity in a site version, only one revision for that site version will be stored.

Once content administrators are satisfied with a site version, administrators have the option of publishing the changeset. In that operation, all revisions in that site version are made live and the changeset is moved into an archived state for later use.

CPS modifies views and entity field queries automatically to try and make sure that the non-live state is presented accurately. Because of the way it works, nothing special needs to be done for preview, as simply activating a site version serves as a preview.

CPS can support nearly any entity that supports revisions. Each unique entity type needs a CPS plugin in order to make sure CPS can properly manage its revisions, and its published status if it supports that. It comes with bundled support for node and file_entity entities (the latter requires the file_entity_revision module).

It has been used extensively with custom entities based on entity module.

Requirements

  • CPS now requires the drafty module.

Screencasts

(about 5 minutes each)
Part 1
Part 2

Comparisons

  • SPS: Need to see how this compares to SPS.
  • Zariz: Zariz fills a very similar role, but instead of managing revisions, it duplicates entities and uses OG groups to manage branches, with more of an emphasis on merging.

Activity

Total releases
5
First release
Feb 2025
Latest release
1 year ago
Release cadence
11 days
Stability
60% stable

Release Timeline

Releases

Version Type Release date
7.x-1.3-rc1 Pre-release Apr 7, 2025
7.x-1.2 Stable Apr 7, 2025
7.x-1.1 Stable Apr 7, 2025
7.x-1.1-rc1 Pre-release Feb 21, 2025
7.x-1.0 Stable Feb 21, 2025