Skip to content

Drafts & revisions

Every edit you make in the editor flows through a versioning system designed so you never lose work to a stuck tab or a regret. Three layers:

  1. Action log — every micro-edit during the current session (Undo / Redo).
  2. Working copy (draft) — autosaved snapshot of unsaved changes, restorable after a tab crash.
  3. Revisions — saved snapshots (autosaved or manual), restorable any time.

All three live in the History panel on the right side of the editor.

Three tabs inside the History panel:

  • Actions — chronological log of edits in the current session.
  • Working copy — the autosaved unsaved-changes draft.
  • Versions — saved revisions (snapshots) of the stage.

The panel also exposes the global Undo / Redo buttons that match Ctrl/Cmd+Z / Ctrl/Cmd+Shift+Z.

Every edit you make appears as a row: Add layer, Remove layer, Move layer, Resize layer, Edit properties, Reorder layers, Resize canvas, Lock / Unlock / Show / Hide layer, Edit effects, Shift keyframe range, Convert to Scene / Smart Object, Decompose scene, Convert container type, Enter / Exit scene, Add / Remove / Duplicate slide, Update timeline marker, Flip horizontal / vertical.

Click any entry to scroll to it; use Undo / Redo to step. Clear history wipes the session log (does not affect saved revisions).

While you edit, the plugin saves a working copy at the configured autosave interval (default 30 s — see Installation). The working copy belongs to your admin user + this stage.

If you closed the tab without saving and come back, the detail page shows a banner:

Unsaved working copy detected — We found an auto-saved working copy of this stage that’s newer than the last save. Restore it to continue where you left off, or discard it to keep the saved version.

Two buttons:

  • Restore working copy — loads the draft into the editor. You then need to click Save to persist it as a real stage. Until you save, the saved version on disk is unchanged.
  • Discard working copy — deletes the draft, keeps the saved version.

In the History panel, the Working copy tab shows the same affordances plus:

  • Last auto-saved — timestamp.
  • Restore working copy / Discard buttons.

Clicking Discard prompts: “Discard working copy? This permanently deletes the auto-saved working copy. Any unsaved edits captured by it will be lost.” Confirm via Discard (or Keep it to abort).

The Versions tab shows saved snapshots of the stage in reverse-chronological order. Each row has:

  • Timestamp — when the snapshot was created.
  • SourceAuto-saved snapshot or Manual save.
  • Restore this version action — load this snapshot into the editor (you still need to click Save to persist).

In the toolbar of the History panel, click Create snapshot now. A snapshot of the current state is added to the Versions list. Toast: “Snapshot saved to version history.”

Use manual snapshots before risky edits (e.g. before deleting many layers, or before applying a destructive timeline operation).

In addition to draft autosaves (which overwrite each other), the plugin periodically promotes snapshots into the revision log so you have history rather than just a single “last working copy”. Frequency depends on activity and the global retention settings.

Click Restore this version on any revision row. The editor swaps to the snapshot’s state. Toast: “Version restored — review the changes and click Save to keep them.”

Restoring doesn’t immediately overwrite the saved stage — you can compare the restored state against what you had, decide it’s not what you want, and click Undo to step back. The save only happens when you click Save in the toolbar.

Revisions are pruned automatically by a scheduled task. Two limits, both configurable in Settings → Plugins → P2Lab Stage → Editor / Revisions:

  • Maximum revisions per stage — 25 / 50 / 100 / 200 (default 50). Beyond this cap, the oldest revisions are pruned first.
  • Revisions retention — 7 / 14 / 30 / 60 / 90 days (default 30). Snapshots older than this are removed during cleanup.

A revision is pruned when either limit is breached. The current working copy (draft) is exempt — it’s only ever overwritten by the next autosave or discarded explicitly.

The draft / revision system captures the stage’s content (layers, scenes, slides, animations, settings). It does not capture:

  • Targeting associations (categories, products, manufacturers, channels, rules, customer groups, CMS pages).
  • Trigger / frequency / schedule fields on the Overview tab.
  • Statistics — events accumulate independently of versioning.

Those values change much less often and through different UIs, so they share Shopware’s normal database transaction history rather than a custom snapshot stream.