Magento 2 CMS Revisions Extension User Guide
Extension context
This guide covers the Toweringmedia CMS Revisions extension (`toweringmedia/module-cms-revisions`) for Magento 2.4, providing immutable CMS page and block snapshots, admin restore workflows, scheduled activation windows with optional revert, and retention controls.
Product page
Overview
Toweringmedia CMS Revisions hooks Magento’s CMS `save` flow to record revision rows (with checksum deduplication) so merchants can audit content changes and roll back mistakes without a separate staging product. Scheduling uses Magento cron so planned content windows can activate and optionally revert automatically.
The extension complements native CMS—pages and blocks remain standard Magento CMS entities—with an admin Revision history panel on CMS edit screens.
What this extension does
Captures immutable revision snapshots whenever
CMS pages or blocks save.
Deduplicates identical snapshots using a content checksum so storage stays efficient.
Offers Restore from the revision grid (backing up live state before apply).
Supports scheduled start/end windows with optional revert at end.
Prunes oldest eligible revisions according to configurable Max revisions per entity.
Installation
Install and validate in a staging environment before production rollout.
cd /path/to/magento
# Install from your licensed Composer source (see product / account delivery email)
composer require toweringmedia/module-cms-revisions
php bin/magento module:enable Toweringmedia_CmsRevisions
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy -f
php bin/magento cache:flush
Ensure Magento cron is running so scheduled revisions activate (`bin/magento cron:run` or system crontab).
Configuration
Enable revision capture under
Stores > Configuration > Towering Media > CMS Revisions.
Set Max revisions per entity for retention (`0` uses the extension default cap).
Understand schedule inputs (`datetime-local`) are interpreted against the configured timezone, stored in UTC, and cron evaluates due rows about every minute.
Operational checklist
Confirm revision rows appear after saving a
CMS page or block edit.
Test Restore on non-production content first and verify storefront output.
For scheduling, validate start/end windows in UTC vs. merchant expectations before go-live.
Troubleshooting
No revisions listed: verify the module is enabled, revision capture is on in configuration, and cache is flushed.
Schedule did not activate: confirm Magento cron runs in this environment and start time is not indefinitely blocked by an active pending row.
Large CMS bodies: snapshots include full
HTML; monitor DB growth on extremely large content blobs.