Skip to main content
Browse Documentation

Workflow

Created by r.turner, last modified by zengenti on 21 Jun 2021

Overview

An entry's life-cycle is controlled by the workflow assigned to the content type that the entry is based on. Contensis supports two standard built-in workflow types.

Basic workflow

Allows content to be authored and then published instantly.

Basic workflow

Approval workflow

Allows content to be submitted for approval so that it is controlled by an authorised approver before it is made live.

Approval workflow

Entries are by default controlled by the basic workflow, but this can be changed by specifying a different workflow type in the content type editing screen.

Invoking events

Workflow events can be invoked by POST'ing a workflow trigger to the workflow events resource for an entry.

EXAMPLE
{
    "language": "en-GB",
    "version": "2.3",
    "event": "draft.submit",
    "data": {
        "message": "Have updated the final paragrah"
    }
}

The eventName parameter follows the structure:

{workflowStateId}.{workflowEventId}

These are the available events for the supported workflows

Basic workflow

  • draft.publish

Approval workflow

  • draft.submit
  • awaitingApproval.approve
  • awaitingApproval.decline
  • awaitingApproval.revoke
  • declined.submit

It is possible to only specify the workflowEventId i.e. 'approve' or 'submit' and the Management API client will automatically prefix the current state of the entry, but this is less explicit and open to invalid event invocations.

If a workflow event is invoked that is not valid for the current state, then a WorkflowException will be raised detailing the invalid action.

It is important to note certain states have 'sysUpdate' and 'sysDelete' events, which can't be invoked directly through a workflow event invocation, but can be invoked using the entry POST and DELETE operations. When an entry is in the Published state, invoking a entry POST update (which in-turn invokes sysUpdate) will automatically move the state back to Draft.

Event permissioning

The invocation of workflow events is controlled by the roles & permissions security API, which can be configured within the Contensis Roles screens. Individual events can be permissioned so that granular control is possible, ensuring each step of a workflow is only invocable by an authorized user. If authorization is denied when invoking a workflow event then a 403 response is returned.

Necessary Cookies
These cookies are necessary for this website to function correctly. They are set when you perform certain actions on the site, such as creating an account, logging in, changing your privacy preferences or submitting a form. You can block these cookies in your browser, but this will stop parts of the site from working properly.
Functional Cookies
These cookies allow the website to provide extra functionality and more personalised experiences. They may be set by us or by third party providers whose services we have added to our pages. If you choose not to allow these cookies, these services may not work correctly.
Analytical Cookies
These cookies record anonymous data on how visitors use our website to help us monitor how well our website works. This data includes how many people have looked at specific pages, how long visitors stay on the site, and what devices they use. We use this data to identify changes that we could make to improve your experience and make our website more efficient.
Marketing Cookies
We set some cookies so you are shown more relevant marketing content. These include cookies from third-party advertising networks to show you different adverts on their services if you have previously visited our site. If you choose not to allow these cookies, you may experience less relevant advertising on other sites.