Animated gif showing webform revisions

Config Entity Revisions provides the ability to create revisions and apply moderation workflow to aspects of a Drupal 8 website that couldn't previously have that functionality because they use configuration entities rather than content entities.

The module was initially developed to provide revisions and moderation for Webforms 8.x-5.x but it quickly became apparent that the general strategy could be used for other configuration entities too: views being a prime example. For this reason, the project was split into an API module that provides the common code, and integration modules that apply the support to the different types of configuration entities.

The module works by creating a revisionable content entity alongside the config entity, using it to store serialised versions of the configuration entity and implementing moderation and workflow on the content entity.

To enable revisions for a configuration entity, just enable the appropriate submodule (eg webform_revisions). A checkbox for creating new revisions and a text field for entering a log message will then be added to the edit page.

Note that in the case of webforms, new revisions aren't by default created every time you make a change. This is because (particularly if you have the UI module enabled), changes tend to require the submission of multiple forms rather than just the single submission that nodes (for example) use.

To enable moderation, you need to enable the Workflow API module, set up a workflow and choose to apply that workflow to your configuration entities via the Workflow API. A minimal example would be:
* visit /admin/config/workflow/workflows/manage/editorial
* scroll down to the "THIS WORKFLOW APPLIES TO:" section
* click on 'Select' in the 'Config Entity Revisions types' row
* tick 'Webform revisions' and click Save in the modal dialog that appears
* click Save again back in the main form

A presentation on Config Entity Revisions at Drupal South 2018 can be found at https://www.youtube.com/watch?v=YKr-vLCRaJo.

Supporting organizations: 
Sponsored development
Sponsored development
Sponsored development

Project information

Releases