Magnolia four-eye workflow

The Workflow module provides a four-eye content approval workflow preconfigured in the Pages app. The term "four eye" comes from the fact that an editor creates the content before a publisher approves it. In a standard workflow, the publisher can approve or reject content after review. In case of rejection, the workflow will enter a revision cycle where the editor is informed about reasons for rejection.

The four-eye workflow can best be understood using a diagram. Here we see the previously mentioned editor (Eric) and publisher (Peter).

image

Creating content

Whenever content is created or updated it’s common for that content to go through an approval workflow before making it to public. That might involve creating a brand new page or updating an image or adding a new entry into a content app or something else.

image

Remember the workflow is only configured on the Pages app. However, it can be configured on the Assets app or any content app. See Enabling workflow in content apps.

Let’s look at the example of creating a new page in the Pages app. Here we see Eric has created a new page named testimonials.

image

From the status column we can see the new page shows a red dot. This indicates that this page exists on author but not on public. A green dot indicates that the page exists both on author and public and they are in sync. A yellow dot indicates that the page exists on both author and public but the current state on author is different the current state on public. In other words, a yellow dot indicates the page has been edited.

Publishing content

When the page or other content has finished it’s editorial phase, it’s then time to activate that content.

image

The Review for Publication workflow is initiated from the actionbar using the Publish action. This will trigger the Submit for Publication dialog. The editor can submit a comment to be seen by the publisher and schedule a publication date and time.

It is also possible to Unpublish a previously published page. However, this too also goes through a workflow. The steps for unpublishing are very similar to the steps of publishing. You may also a schedule the unpublication date.

Once Eric clicks the publish button, the workflow is started and a task is created for members the publishers group.

Groups for publication tasks are configured in /modules/workflow-jbpm/tasks/publish/groups

Tasks are used when there is a human interaction needed with the system. Magnolia registers the tasks publish and unpublish in the workflow jbpm integration module. These tasks are defined in configuration but used by the workflow. The workflow will call them by name and use the parameters set as properties.

If you want to have a different publishing group based on content path (or site), see the Different Publishers Per Path Workflow tutorial for inspiration.

Reviewing content

Before content goes public, it must be reviewed.

image

When Peter, the publisher, logs in, he is informed that the system has registered a new task.

image

If he opens the Tasks app, he sees a new task created by Eric. Double-clicking the task shows the details in the message view and the actions that can be performed on the task.

From this message view a user can take these actions:

Action Description

Assign to me

Tasks have a clear status and an assignee. To take any further action on the task you must first assign it to yourself.

Sub-actions
  • Approve and publish - If Peter is happy with the current state of the content he can now publish that content to the appropriate public instances.

  • Reject - If Peter is not happy with the content then he rejects it. He also has the option to provide a rejection message to Eric.

  • Abort - Take no decision on the content. Instead just abort the workflow altogether.

Preview page

Look at the content before making a decision to approve/reject/abort.

Show changes

Compare the content to previous versions

The message view shown above is configured in the Pages app (/modules/pages-app/messageViews/publish). There is a message view configured for publish and unpublish in the Workflow module (/modules/workflow/messageViews/publish).

If you add workflow to a content app, then you will want to create a message view for it.

The message views are configured for the task in /modules/workflow-jbpm/tasks/publish/viewMapping. The viewMapping configuration tells the system which messageView to display when viewing the task details. This is configured per workspace or using a default.

Publishing to the public instance

The final step in the workflow process is the transfer of content from author to those public instances which should receive that content.

image

Feedback