Versioning¶
The versioning feature in Sulu creates a new version each time a page is published. Version history is available in the settings tab of each page, allowing you to restore previous versions.
How Versioning Works¶
Sulu’s multi-dimension entity system natively supports versioning:
Version 0: The current working version (always editable)
Version 1+: Historical snapshots created during publishing
When you publish a page:
The current draft content (Version 0) is copied to the live stage
Optionally, a new historical version is created with a timestamp
The version is stored with all dimension data (locale, stage, content)
Restoring Versions¶
When you restore an old version from the version history table:
The selected version’s content is copied to Version 0 (draft stage)
This creates a new draft based on the historical version
You can review and edit the restored content before publishing
Publishing creates a new version in the history
Version Storage¶
Each version is stored as a separate dimension entity containing:
Version number
Locale
Stage (draft/live)
Content data (JSON)
Timestamp metadata
Managing Versions¶
Versions are managed automatically by Sulu. No additional configuration is required - versioning is built into the core dimension system.
The version history table in the admin interface shows:
Version number
Publication date
Editor who created the version
Actions (restore, compare)