jonom/silverstripe-version-history

Provides a basic audit trail interface for Versioned objects

Fund package maintenance!
jonom
www.paypal.me/jmnz

Installs: 2 427

Dependents: 0

Suggesters: 0

Security: 0

Stars: 6

Watchers: 3

Forks: 8

Open Issues: 2

Type:silverstripe-module

v1.1.0 2018-11-12 19:35 UTC

This package is auto-updated.

Last update: 2021-08-27 19:52:18 UTC


README

This ports some of the functionality from the History tab of the page editing interface in SilverStripe and makes it available for other classes.

history-tab.png

Requirements

SilverStripe 3.1+ (3.4 tested)

Installation

Composer (best practice)

Packagist listing and installation instructions

Manually

I promise it's worth your time to learn how to use Composer. If painless updating isn't your thing though you can download and extract this project, rename the module folder 'version-history', place it in your project root and run a dev/build?flush=1.

How to use

Just apply the VersionHistoryExtension extension to your class (which also has the Versioned extension) and a History tab will be added to the CMS fields.

MyClass:
  extensions:
    - Versioned("Stage")
    - VersionHistoryExtension

This module currently doesn't distinguish between staged and published versions, nor does it support rolling back to a previous version, because I'm using it simply to track changes. If you want to expand the functionality though, feel free to open a pull request!

Hide some fields from the history tab

If you want to hide some fields from the history tab, you can set the version_history_hidden_fields configuration attribute on your DataObject. The following YML configuration applies the VersionHistoryExtenion to the Member DataObject, but hides sensitive information like the Salt and Password fields.

Member:
  extensions:
    - Versioned("Stage")
    - VersionHistoryExtension
  version_history_hidden_fields:
    - Password
    - PasswordEncryption
    - Salt

Maintainer contact

Jono Menz

Sponsorship

If you want to boost morale of the maintainer you're welcome to make a small monthly donation through GitHub, or a one time donation through PayPal. ❤️ Thank you!

Please also feel free to get in touch if you want to hire the maintainer to develop a new feature, or discuss another opportunity.