The open-source marketing CMS
Menu

Workstreams: change the whole site at once

A workstream is a branch of content changes: pages, posts, menus and site settings you edit together, preview as a whole site, compare with the live site and merge in one action, now or on a schedule.

Most real changes to a website touch more than one page. A spring campaign needs a landing page, a new menu entry, links from three existing pages and maybe a new banner. Publish them one at a time and visitors see a half-finished campaign for an afternoon. Hold them all as drafts and nobody can see how they fit together until launch.

Developers solved this long ago with branches. Workstreams bring the same idea to content.

What a workstream is

A workstream is a branch of content changes, covering pages, posts, menus and site settings, that you edit together. You can preview it as a whole site on a private URL, compare it with the live site, and merge or discard it in one action, now or on a schedule.

A campaign, start to finish

  1. Start it. Under Content → Workstreams, choose New workstream, for example the key spring-campaign. A banner at the top of every screen shows which workstream you are in, and every save goes to the branch, not the live site.
  2. Make the changes. Create the landing page, edit the pages that link to it, add the menu entry. Each change appears in the workstream's item list. The live site is unchanged.
  3. Preview. The workstream's Preview renders the site as it will look after the merge, with internal links kept inside the preview. Share link creates a URL a stakeholder can open without an account for seven days.
  4. Compare. Diff lists every item with the number of changed fields and blocks, and its pre-publish checks. A conflict means someone changed the live version of an item since you branched: reopen it, take over their change and save again.
  5. Merge. An editor merges now, or schedules the merge for a date and time.

When a scheduled merge cannot go through

A scheduled merge runs through the same ticker as scheduled posts. If it is refused because of a conflict or a failing check, the error is logged and shown as the workstream's last merge error, and the merge is retried every tick. Fixing the content inside the workstream is enough; there is nothing to reschedule.

Changed your mind

Discard removes the branch: its revisions, the entities created inside it and its share links. Nothing reaches the live site.

The Launch a campaign with a workstream guide has the full walkthrough.