Labs - CMS Content Approval Workflow

Content Approval Workflow System Overview

Most organizations allow their employees and departments to directly edit and publish website content, while other organizations wish to have very strict control over what information is published to their websites.
The goal of EvoGov regarding content approval is to empower our customers to design their own content approval workflow so that they are comfortable with who can edit their websites.
The new 2020 content approval workflow system we are building now solves this challenge.
In addition to controlling who can edit the website, the new system also tracks the approval process and it logs who approved the changes.

Existing System Functionality and Limitations

The EvoGov CMS currently includes security roles for;

  • Content Contributor - Can create new draft pages and content only.
  • Content Administrator - Can manage all content and applications in the website, but cannot change user permissions.
  • Department Content Manager - can manage content, applications, and users within a department
  • Super Administrator - can manage all content, applications, and users

A Content Contributor can create new pages that are marked as drafts only.
There are several limitations to the existing system:

  1. For a content contributor to edit a page, a new duplicate page would need to be created for approval.
  2. The copied page would then need to be published manually by a supervisor. 
  3. No tracking on who requested and who approved changes.

New System Goals

Most applications in the EvoGov CMS will receive content approval workflow features.
The "Pages" application is the most widely used feature, so Pages will receive these features first.
To avoid having duplicate pages in the CMS, we will expand how we save the "Versions" of each page, by adding status levels to those saved versions.
In other words, a user that is a Contributor that cannot directly publish changes, will be able to save a new version of a page with a status of "Pending Approval".
Individual saved Versions can be then sent for approval, with notes about what what was changed..

  • Status Levels - Content versions will require new status levels to track the approval process.
    These will be: “Published”, “Draft”, "Pending Approval", “Archived”, “Expired”, and “Deleted".
    The overall Page object will still have Published/Unpublished status levels to hide pages when they expire (Programmer note: "Draft" will be renamed "Unpublished" at the page level, and a new "Archived" object status will be added).
  • Updated Page List - The new page list page will show how many pages are in each status, so that pages that are pending approval will be easier to review.
  • Updated Version Tab, Showing New Status Levels of Versions  - The versions tab will show a new list of page versions, each with its own status level and actions.
    This is the new and innovative way that versions of a page will serve as a way to allow new draft versions to exist without being live. The image below shows some of the changes to the version tab output.

  • Page Edit Screen - When editing a page, Content Contributors will see a new action buttons. These are: "Save Draft" and "Request Approval".
  • Version Notes - When a new version of a page is saved, there will be a new note field that can be used to describe the changes made. Without this field, approval would be requested with no context, making it difficult for managers to see what has changed on the page. When a page is sent to administrators for approval, this note field will accompany the alert email that a page is waiting.
  • Request Approval Page - After a Content Contributor saves a new Draft Version, they can then request approval of that draft to be published. This will show a new "Request Approval" button, which leads to the Request Approval page. On this page, Content Contributors can choose whom they should request approval from. There will be checkboxes next to each administrator's name, so that it will be possible to request approval from more than one administrator at a time.
  • Pending Approval List View - a way to link to the list of pages that are waiting approval. Will show who created them, with a preview/edit link next to each. This can be the current page list, just filtered. 
  • Administrative Response - Administrators will receive an email notice when a page is awaiting approval. The email will contain any notes entered by the Contributor. Administrators will be able to click a link in the email to review the new draft version of the page. The draft preview will contain an APPROVE button, a DISAPPROVE button, and a notes field. The Disapprove button will not be clickable if no notes are entered. All notes on all pages will be saved in a log for each page.
  • Content Approval History Log - a Centralized log of all changes that have been requested, approved, and declined will be in one centralized area for better management and reporting.

Website Prerequisites

Steps to setup a new approval workflow in the CMS
  1. Ensure the CMS has adequate departments entered for content approval. 
  2. Create draft-only users by assigning that role to specified users.
  3. Ensure draft-only users are assigned to departments
  4. Draft-only user (Requestor) has a "save draft” button, but no publish button.
  5. When ready, requestor clicks a “Request Approval” button to request approval. 

Estimated Completion Date of New Features

October 2020