Workspaces

Workspaces are an expert feature in Neos. So don't mind it when you're new here. Workspaces enable you to do better work in the team and expand the possibilities in the publishing logic.

Introduction

All content in Neos lives in Workspaces. The publicly visible content comes from a workspace called live. 

You already know one other workspace, your personal workspace. Everytime you edit content in the administration area the changes are automatically saved to your personal workspace. When you publish those changes they are usually published to live.

However, the workspace features can be used to prepare content for later publishing, and to create more complex publishing workflows.

That means workspaces can be seen as a way to group content based on its state in the editing process. Workspaces behave like transparent sheets of paper: On your own sheet you can draw new things, but the live sheet below is still visible (and due to it’s magic nature even updates of other editors are published into it while you work).

Workspaces can also be stacked: between the live workspace and an editor’s own workspace, there can be an arbitrary number of other workspaces which are shared between editors. You can use this to allow collaboration on bigger changes as well as the review of changes before they are published. The workspace which another workspace is based on is called base workspace.


Terminology

Public Workspace
A public workspace has no owner and is not based on another workspace. Usually, there is one public workspace name live: it contains the content that is visible to the visitors of a Neos-driven website.

Internal Workspace
An internal workspace has no specific owner and is shared between editors. Internal workspaces are used to collaborate on bigger changes, like preparing a sales campaign.

Private Workspace
Private workspaces are owned by a specific editor and only visible to that editor (and those having the administrator role). They can be used to shelve work temporarily that is not ready to be reviewed by others or to be published to the live website. 

Personal Workspace
Every editor has exactly one personal workspace. Any editing goes to that workspace first, no matter what. This personal workspace is only accessible by its owner.


Managing Workspaces

!! Note

To be able to switch the base workspace, there must be no pending changes in the personal workspace. You must either publish or discard all changes in your personal workspace before you can switch from live to another base workspace (or back ).

In the Workspaces module, a list of existing workspaces is shown. That list shows the base workspace and owner as well as a quick statistics view of the unpublished changes in each workspace. Depending on permissions buttons allow to review changes, edit a workspace or delete it.

When changes in a workspace are reviewed, a list of those changes is shown and they can be published or discarded completely or selectively.

Permissions

Out-of-the-box,

  • all users can create new private workspaces.
  • all users can edit/delete their own private workspaces.
  • users with the Neos.Neos:RestrictedEditor role can only publish to internal or private workspaces. These users are therefore not able to make their changes directly visible to visitors of the website - they must be published by someone else, e.g. an administrator.
  • users with the Neos.Neos:Editor role can additionally publish to the public workspace live and create new internal workspaces.
  • Administrators (having the Neos.Neos:Administrator role) can create internal workspaces and manage (edit and delete) internal as well as private workspaces. They can make private workspaces internal by unsetting the owner.

Workflow Examples

Doing some quick edits

Publish to live directly
This is a very quick and easy workflow for editors that may publish to the live workspace. Just do any edits in your personal workspace and publish to live when you are done.

Using a review workspace
If publishing to live is not allowed or a review of the changes is desired, an internal or private workspace can be created. The changes are published to that workspace first and can then be reviewed and published to live by a reviewer or administrator.

Prepare a new section

If a new section for the website is to be prepared collaboratively, a new internal workspace needs to be created. Everyone working on the new section switches their personal workspace to use the internal workspace as base workspace and published changes to it. As soon as everything is done the changes can be reviewed and published.

If some edits need to be made to other parts of the website in between, the personal workspace base can be switched to the live or another workspace as needed. This allows to do independent edits without conflicts.