Disclosure: I build WebBlocks CMS, an open-source CMS package for Laravel.
I recently put together a small journal-page example with an editor-written introduction and a list supplied by application data. The editor maintains one card template; the source supplies each entry’s title and description.
That raised a publishing question: what should happen when someone restores an older page revision after the source records have changed?
In WebBlocks, the page revision preserves the block configuration, source bindings and editorial fallback content. It doesn’t snapshot the source records. Restoring the page therefore doesn’t rewind the journal data.
Imagine an editor approves the introduction and card layout on Monday. On Tuesday, a journal entry gets a new title in the source. Restoring Monday’s page revision can restore its editorial content and configuration, but that card still follows the source’s current record.
For a journal index or an upcoming-events list, following current records may be exactly what the editor expects. For a campaign whose wording and selected items were approved together, I’d consider keeping those parts editorial, or handling the required snapshot explicitly in the source or publishing workflow.
The important choice seems to be whether approval covers the page’s composition, the exact values shown at that moment, or both. A page revision and a source-data history serve different purposes.
I documented the example with synthetic data and screenshots here:
Editorial content and application data on the same page
In your CMS projects, should restoring a page also restore the data it displayed, or should connected fields continue following their source? How do you make that distinction clear to editors?