Provides a basic audit trail interface for Versioned objects
This ports some of the functionality from the History tab of the page editing interface in SilverStripe and makes it available for other classes.
SilverStripe 3.1+ (3.4 tested)
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.
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!
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
Member: extensions: - Versioned("Stage") - VersionHistoryExtension version_history_hidden_fields: - Password - PasswordEncryption - Salt
Please also feel free to get in touch if you want to hire the maintainer to develop a new feature, or discuss another opportunity.