Flamingruby

Version Control For Text Fields

ProcessWire module for providing simple version control for text type fields.

When editing pages, fields with old revisions available show up with a new icon in their header bars. By hovering that icon you get a list of available revisions and by clicking any one of those the value of that particular field is reverted to that revision.

No changes are made to page until you choose a revision and save the page, which means that you can keep switching between revisions to get an idea what's really changed without inadvertently causing any content to change.

How does it work?

Behind the scenes hooks provided by ProcessWire are utilized to catch page edits. If text fields (such as FieldtypeText, FieldtypeTextarea etc.) selected at module configuration to be tracked were changed, their values (along with some metadata) are saved to two custom database tables. See attached screenshots for better idea about how this thing works.

Please note that before you've selected at least one template + field combination to be tracked via module settings nothing will be saved to database!

Installation instructions etc. are available at README.md.

About the author

Post Comment