Preconditions for roles in the publish flow

Preconditions by different roles in Naviga ID

The Naviga Writer is configured with Naviga ID so that the publish flow can be managed with the following roles.

That means that you can have different roles that can have permissions to do certain parts in the publish flow. In the Writer view it can look like this with an approval workflow.

For example maybe only an Approver or Editor should be able to Approve and from the approved-state be able to Publish and that is then set up as Permission in Preconditions for the nextState. See the config example below.

The full Publish flow then can be described in four steps.

As described in the release notes for Writer 6.0.0 (Configuring Extended Publishing Statuses) an example from the config code looks like this:

The plugin configuration for a draft->review->publish workflow where only administrators are allowed to go from approal state: Review to publish. The administrators are only an example, you can set any of the above roles suitable for your workflow.

"data": {
    "workflow": {
        "draft": {
            "pubStatus": "imext:draft",
            "title": "Draft",
            "description": "You are working on a draft for this article",
            "saveActionLabel": "Save",
            "icon": "fa-pencil",
            "color": "#828282",
            "actions": [
                {
                    "pubStatus": "imext:draft"
                }
            ],
            "transitions": [
                {
                    "nextState": "review",
                    "title": "Legal review"
                }
            ]
        },
        "review": {
            "pubStatus": "imext:review",
            "title": "Legal review",
            "description": "Article is waiting for approval",
            "saveActionLabel": "Save",
            "icon": "fa-hourglass-o",
            "color": "#ff9900",
            "actions": [
                {
                    "pubStatus": "imext:review"
                }
            ],
            "transitions": [
                {
                    "nextState": "draft",
                    "title": "Convert to draft"
                },
                {
                    "nextState": "publish",
                    "title": "Publish Now",
                    "preCondition": {
                        "hasPublishedVersion": false,
                        "permissions": [
                            "writer:group/admin" // here  is the role that specifies the permission to enter next state, that is Publish 
                        ]
                    }
                }
            ]
        },
        "publish": {
            "pubStatus": "stat:usable",
            "title": "The article has been published",
            "description": "Changes are made to published article",
            "saveActionLabel": "Update",
            "icon": "fa-upload",
            "color": "#288dc0",
            "permissions": [
                "writer:group/admin" // here is the role that specifies the permission to publish.
            ],
            "transitions": [
                {
                    "nextState": "draft",
                    "title": "Save new draft"
                }
            ],
            "actions": [
                {
                    "pubStart": "set",
                    "pubStop": "clear",
                    "pubStatus": "stat:usable",
                    "hasPublishedVersion": true
                }
            ]
        }
    }
}

The config above describes that a user can save to the review status, but not go from the review status to publish. The preCondition.permissions in the block below shows that only users in the admin groups are allowed to publish an article.

{
    "nextState": "publish",
    "title": "Publish Now",
    "preCondition": {
        "hasPublishedVersion": false,
        "permissions": [
            "writer:group/admin" // here  is the role that specifies the permission to enter next state, that is Publish 
        ]
    }
}

"imext:review" is a custom publishing status which is supported with the release of EditorService 5.0.0.

...
"review": {
    "pubStatus": "imext:review"
...

The custom publishing statuses are further described in the Default configuration definitions.