Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

As part of our JAMstack application, we are using a decoupled Wordpress instance to serve as our CMS backend.

Plugins

Here is a list of plugins we are using:

Digimod Plugin

This plugin contains WordPress customizations specific to our implementation of the digital.gov.bc.ca platform.

Workflow

To ensure content quality, pages must adhere to the established content workflow. This workflow is subject to change as we gather feedback from users. The Workflow is made up of User Roles and Document Status'.

User Role

Capabilities

Content Author

  • create page

  • read page

  • edit page

Content Strategist / Subject Matter Expert

  • create page

  • read page

  • edit page

  • approve content review

Production Manager

  • create page

  • read page

  • edit page

  • publish page

  • delete page

  • approve content review

  • create user

  • edit user

  • delete user

  • assign roles

Admin

all (including approve technical review to publish page)

Document Status

Definition

Draft

Has been created but has never been published.

Content Review

Is ready for a subject matter expert to approve the content.

Technical Review (temporary)

Is ready for approval to be published

Updating

Editing a published page. Pages in this status will serve a previous version cached on the front end.

Publish

The content in Wordpress is the same as what is served on the front end.

To summarize this workflow:

Pages will generally transition from Draft → Content Review → Technical Review → Publish. When Published documents need to be changed, the Updating status can be used, which will preserve the existing version on the frontend, while edits can be made in the WordPress backend.

Some of these status transitions can only be performed by users with a particular role.

  1. A document can only be moved to Technical Review by a Subject Matter Expert.

  2. A document can only be moved to Publish by an admin (will be Production Manager in the future).

  3. A document can only be moved out of Publish or Updating by an admin or Production Manager.

Multiple Blocks Plugin

This is the center of our custom development for the platform. This plugin contains the theme for the site, as well as all of the blocks developed for the editor.

A document can only be moved out of Publish by an admin or Production Manager

.

Custom Content Types

We have templated some pages that will have a standard format so that they can be easily created and maintained.

Common Components

Common components are software modules or services that can be integrated into an application.

Communities of Practice

-stub-

Blocks

When Content Authors are building pages, they have a set of blocks they can work with as provided by this plugin. This plugin also restricts the usage of many core wordpress blocks, to ensure the layout and styling is consistent.

Below is a list of custom developed blocks available for usage in the Gutenberg content editor. Blocks denoted with an asterisk also require parsing and JSX transpiling on the frontend as they contain a functional aspect that cannot be accomplished with the HTML that is served from Wordpress; this is conveyed to the frontend by using the react-component attributed on an HTML element. The parser will map these elements to React components, and then use a JSX transpiler to create the required markup and javascript for the page.

Accordion*

A collapsible container with a title. Used to support the V2 accordion component.

Annotate

A Gutenburg editor-only block used for making inline comments.

Content Banner

-stub-

Two Columns, Three Columns

Two or three column wide sections, with unrestricted inner content.

Four Columns Text

A four column wide section where each columns content is restricted to text only.

Embed Youtube

Used for embeding a youtube video into a page.

Pros and Cons

A styled Pros and Cons table.

In addition to these custom blocks, the following core blocks are available:

  • Cover

  • paragraph

  • list

  • list item

  • post title

  • image

Advanced Custom Fields

Allows for the creation of custom fields which can be used as part of templates, and are available through the API.

User Role Editor

Allows for Role capabilities to be managed through the Wordpress Admin dashboard.

OAuth Single Sign On - SSO (OAuth Client)

Allows for Keycloak integration with the BC Gov SSO Keycloak service, offloading the authentication process.

Post Type Switcher

A simple way to change a post's type in WordPress

UpdraftPlus - Backup/Restore

A way to backup Wordpress. Temporary until we handle backups through OpenShift.