Introduction
In Drupal 8, the editorial workflow can easily be created and managed by the Content Moderation and Workflow modules. By default, Drupal provides the “Published” and “Unpublished” states for the content types. It also gives a specific set of permissions for particular roles to manage it.
Let us see what are the prerequisites on the Drupal sites to test the editorial workflow.
Pre-requisites
- Enable both “Content Moderation” and “Workflows” modules on the Drupal site in the Extend tab (/admin/modules)
- After enabling the modules, make sure the workflow tab appears in the (/admin/config) page. User should be able to see the built-in Editorial workflow (/admin/config/workflow/workflows)
- Set permissions of the content workflow for the roles (editor, reviewer, publisher) defined on the Drupal site. Verify the permissions on People tab (/admin/people/permissions)
Now consider the below user story as a client-requirement and verify the editorial workflow on Drupal site using the checklist.
Epic
Implement publishing workflow moderation for Article content type
Story
As an Editor, I would like to add an Article content type so that I can create articles on my site.
Acceptance Criteria
As an Editor, I can perform the following tasks:
- Given I logged in as an ‘Editor’ role.
- When I navigate to an Article add page (/node/add/article)
- Then I see a form with the fields: title, body, save as- Draft, In review states
- And I fill in the form with all the fields and save the article node in ‘Draft’ state.
- And I edit the article node and send it to the ‘In review’ state.
Checklist to verify the editorial workflow for Editor role
- Verify that the user is able to login to the site with editor credentials on (/admin/login)
- Verify that the user is able to access the content overview page (/admin/content)
- Verify that the user should be able to see the ‘Add content’ link.
- Verify that the user should be able to create the article content type only in the `Draft/In review` state.
- Verify that the user should be able to edit their own content and save the node successfully in the `Draft/In review`state.
- Verify that the user should be able to see the Delete button for their content.
- Verify that the user should be able to View any Published/Unpublished content.
- Verify that the user should be able to View their revisions.
- Verify that the user should be able to Revert own revisions and save them successfully. The changes should appear on the front after saving the node.
- Verify that the Delete and Edit button should be visible for the user.
- Verify that the user should be able to Delete their content, and the node should not be visible on the site after deleting.
- Verify that the user should be able to see the “Revisions” tab for his own created content.
- Verify that the user should be able to change the moderation state for Article content type from
- Draft -> In review
- In review -> Draft state only.
Other moderation states should not be visible for the content-editor role.
- Verify that the user should not be able to edit the content created by another user with a role as Editor. The edit button should not be visible.
- Verify that the user should not have access to any content apart from Article page creation.
- Verify that the user should not have access to delete any content created by any other user. The delete button should not be visible.
- Verify that the user should not have access to the “Revisions” tab for other content in view mode. Only the View tab should be visible.
- Verify that the user should not be able to access any other tabs in the admin interface like structure, appearance, configuration, etc.
- Verify that the user should not be able to access the other moderation state like Published, Archived on edit own pages.
- Verify that the user is not able to access any other tabs in the admin interface like structure, appearance, configuration, etc.
Story
As a reviewer, I would like to review an Article content type, so that I can review and send the article in Ready to publish state.
As a Reviewer, I can perform the following tasks:
- Given I logged in as a ‘Reviewer’ role
- When I navigate to a content overview page (/admin/content)
- Then I should see the Article content in ‘In review’ state
- And I edit any article node and save it in ‘Draft,’ ‘In review,’ or ‘Ready to Publish’ state.
- And I send an article to the publisher in ‘Ready to publish’ state.
Checklist to verify the editorial workflow for the Reviewer role
- Verify that the user is able to login to the site with reviewer credentials on (/admin/login)
- Verify that the user is able to access the content overview page (/admin/content)
- Verify that the user should be able to edit content in a `Draft, In Review, Ready to Publish’ state.
- Verify that the user should be able to view any Published/Unpublished content.
- Verify that the user should be able to view the Revisions tab for all content.
- Verify that the user should be able to change the moderation state for Article content type from
- In review -> Draft
- In review -> Ready to Publish
- Verify that the user should be able to send the content to the Editor after adding proper comments in the Draft state only.
- Verify that the user should not be able to create any content on the site.
- Verify that the user should not be able to Revert any revisions on the site.
- Verify that the user should not have access to delete any content. The delete button should not be visible.
- Verify that the user should not be able to access any other tabs in the admin interface like structure, appearance, configuration, etc.
Story
As a publisher, I would like to publish an Article content type, so that I can publish the article content on the site.
As a Publisher, I can perform the following tasks:
- Given I logged in as a ‘Publisher’ role
- When I navigate to a content overview page (/admin/content)
- Then I should see the Article content in ‘Ready to publish’ state
- And I edit any article node and save it in ‘Published’ or ‘Archived’ state.
Checklist to verify the editorial workflow for Publisher role
- Verify that the user is able to login to the site with approver credentials on (/admin/login)
- Verify that the user is able to access the content overview page (/admin/content)
- Verify that the user should be able to edit any content and save the node successfully in a ‘Published/Archived’ state.
- Verify that the user should be able to View any Published/Unpublished content.
- Verify that the user should be able to view the Revisions tab for all content.
- Verify that the user should be able to change the moderation state from
- Draft -> Published
- In review -> Draft
- In review -> Ready to Publish
- In review -> Published
- Ready to Publish -> Published
- Published -> Draft
- Published -> Archived
- Archived -> Draft
- Archived -> Published
- Verify that the user should not be able to create any content on the site.
- Verify that the user should not be able to Revert any revisions on the site.
- Verify that the user should not have access to delete any content. The delete button should not be visible.
- Verify that the user should not be able to access any other tabs in the admin interface like structure, appearance, configuration, etc.
Nikita Jain, Quality Assurance Staff Engineer
"Nikki" is a shopaholic with wanderlust, who loves Bollywood movies and good food; offline, you'll find her doting on her beautiful baby girl.
Leave us a comment