Skip to content

Revisionist

Version history, diff and restore for FormBuilder (Afform) and SearchKit (SavedSearch / SearchDisplay).

CiviCRM doesn't keep any record of who changed a Search or a Form, or what it looked like before - if someone breaks a report or a form, there's no way to see what changed or put it back. Revisionist fixes that: every time a FormBuilder form or a SearchKit search (and its displays) is saved, a snapshot is recorded automatically. From the item's own admin listing you can then:

  • Browse every previous saved version, in order, with who saved it and when.
  • See exactly what changed between any two versions, field by field, with an inline diff for form layout markup.
  • Add your own note/description to a version, so a deliberate change is easy to find again later.
  • Pin important versions (e.g. "known-good") so they're never pruned.
  • Restore a whole item to a previous version - or, for a SearchKit search with multiple linked displays, restore just one display back to how it was, without touching the search or its other displays.

History dialog showing a diff between two versions of a SearchKit search, with a tab per changed display

Supports

  • FormBuilder: full version history for both the form's fields/settings and its layout (markup), diffed and restorable independently.
  • SearchKit: full version history for a saved search and every SearchDisplay linked to it. A single builder action that touches several displays at once (e.g. saving two displays together) is still recorded as one revision, not several - see the tabbed diff view.
  • Per-display restore for SearchKit, so you can revert one display's columns/sort/settings without disturbing the underlying search or any sibling display.
  • Pinning and free-text descriptions on any revision.
  • Automatic pruning: only the most recent N revisions are kept per item (configurable, pinned revisions are always kept regardless of count).

Compatibility / Requirements

  • CiviCRM 6.15+ (standalone or any supported CMS).
  • PHP 8.1 - 8.5.
  • Requires the core org.civicrm.afform and org.civicrm.search_kit extensions (both bundled with CiviCRM core).

Configuration

Administer » System Settings » Revisionist Preferences: set how many revisions to keep per item (default 10). Pinned revisions don't count towards this limit and are never auto-pruned.

Support and Maintenance

This extension is supported and maintained with the help and support of the CiviCRM community by MJW.

We offer paid support and development as well as a troubleshooting/investigation service.