Policy of Truth*

Workbench (Moderation and Access) for basic and complex Workflows in Drupal

@beautyhammer & @tsmith512 of @fourkitchens

* with sincere apologies to Depeche Mode

In this Presentation

What is it? Who needs it?

Case Studies
A tale of two cities sites:
Stanford DoR & UTexas UPO

Fostering understanding in complex projects by going client-side

Drupal and Workbench

Horseshoes & hand-grenades. Making "close" count:

Overcoming gaps in requirements & capabilities

Specific challenges and solutions


What is workflow?

The movement of documents around an organization for purposes including sign-off, evaluation, performing activities in a process and co-writing.

Another more abstract take

Workflow comes down to just two ideas: that there is work to do, which a workflow sees as opaque units of behavior; and flow, which describes what work gets done when

Simple example: foodie blogger - iateitbeforeyoudid.com

Single Author

Contributors & Editors

  1. Author creates/revises post about tripe bénh mì
  2. Notifies Editor to review
  3. Editor may…
    • Suggest edits:
      “Please be less disdainful”
    • Make edits:
      “Removing spiteful comments”
    • Publish:
      “Against my better judgment”

University Policy Office: Case Study

Who is UPO?

The University Policy Office at The University of Texas at Austin

A new Compliance Services office,

supported by the Policy Office Advisory Group,

working closely with President's Office and Legal Services.

What does UPO do?

  1. Create / maintain Handbook of Operating Procedures.
  2. Record history of changes, approvals, and effective dates.
  3. Guide policies through a complex review process engaging policy owners, sponsors, subject matter experts, and advisors.
  4. Provide historical policy materials

What did UPO need?

  1. Unify and expedite a disjointed review process under a new workflow model
  2. Reference policy revisions, related documentation, and effective dates
  1. Manage and track policy ownership and sponsorship
  2. Engage authors and moderators with minimal administrative overhead

A new model for UPO: the Command & Control Frisbee

UPO Workflow Diagram

Client Relationships for Complex Projects

Going client-side


Diving into business logic and domain knowledge


Distilling these findings for developers

Fostering understanding: making it real


Paper-based prototypes inspired us to modify and extend Workbench for this “routing” style process.


Personification using The Jetsons characters to illustrate roles, relationships, and permissions.

Fostering understanding: communication and demonstration

Open Dialog

Constant communication with clients about boundaries of the system, actual and anticipated.

Clear Deliverables

People think like they work; UPO preferred implementation over abstraction, complete features over drafts.

Choosing Drupal

Why Drupal?

  • Robust content modeling
  • Drupal as Framework
  • University Drupal Community
  • Cost effectiveness

Choosing Drupal as CMS → Drupal for workflow


Updated public site generated stakeholder “buy-in”


Experience in management of published content naturally extended to draft content.


Experience with Workbench led us to believe it was well suited to this task as well…

Enter the Workbench

What is Workbench?

Workbench provides overall improvements for managing content that Drupal does not provide out of the box.

What does Workbench do?

Revision in Inbox


Customizable revision and approval workflow with states between unpublished and published.

Organization Tree


Node access based on permissions and membership in a hierarchical taxonomy or menu system.

Workbench Moderation: Stanford DoR


First Draft
Second Draft

Content Producer creates new content or proposes revisions.


Draft from Producer
Revised Draft

Content Approver with domain knowledge revises and approves.


Revision from Approver
Finalized Draft

Content Admin with University expertise publishes.

Workbench Access: Stanford DoR

Admins have site-wide access. Approvers oversee relevant departments. Providers author in specific categories.

  • Site-Wide Access
    • Policy Documents
      • Research Policy
      • Property Policy
    • Research & Scholarship
      • Funding
      • Training
      • Administration

Workbench solution: Stanford DoR


First Draft
Second Draft

Research policy specialist creates a new policy.


Draft from Producer
Revised Draft

Policy manager revises and approves.


Revision from Approver
Finalized Draft

DoR Comms Director finalizes and publishes.

Workbench works for DoR. What about UPO?

UPO Workflow Diagram
  • Moderation and storage of revisions.
  • Access to “Review Groups” seemed doable?
  • Unlike DoR, the UPO Frisbee is not linear…

Horseshoes & Hand-grenades for Complexity

“Close” counts in Drupal, too.

Workbench did not do what we needed. But we were half-way there.

Leveraging other tools and APIs including CTOOLS, panels, contexts, taxonomy, node permissions, views, menus, and theming filled the gaps.

Challenges & Solutions

Highly variable workflow


Compass Rose

The creation and editing process varies widely, case-by-case.

Workbench Moderation allows limitless node states BUT:

DoR Transitions:

Managing Workbench Moderation transitions individually
  • Transition management
  • Transitions do not control access → twice the maintenance
  • Moderation history damaged if revisions are deleted
  • Transition steps (approvals) require node editing access

Workbench Access provides taxonomy-based access BUT:

DoR Access Sections:

Managing editorial sections with Workbench Access
  • Traditional Access models are based on static relationships to nodes (categories, business areas, etc.)
  • Recommended permission settings are over permissive

Workbench on its side: “Moderating” with Access

Working Steps

Traditional Workbench
A flow of actions
taken by users


Workbench on its side
A flow of users
who take actions

“Moderating” with Access

UPO Access Groups

UPO Review Groups in Workbench Access
  • Taxonomy-based Workbench Access scheme mirrored UPO constituents
  • Role permissions + taxonomy traversal → capabilities are as-needed
  • Few, simple Moderation states: Draft, In Review, Published

Using Moderation states to trigger, not govern, the workflow

UPO Moderation Transitions

UPO Moderation State Transitions
  • New nodes and edits on pre-existing nodes start in Draft state
  • Authors trigger review process by transitioning to In Review.
  • Using the state change hook (API) we triggered the creation of our “helper” workflow node.

Controlling Workflow on its side: Workflow Checklist nodes

UPO: Workflow Checklist

Workflow Checklist, a routing sheet
  • Helper nodes tied to documents in review to sidecar moderation capabilities
  • Recorded starting and ending VIDs
  • Comments, taxonomy, fields, and FAPI created a richer moderation experience and history.


Compass Rose

The creation and editing process varies widely, case-by-case.


Rotate Workbench: moderate with Access, use helper nodes, use state transitions permissions to manage workflow triggers not direct workflow.

Better Dashboard



The system and the policy review process are brand new. How will users know what to do?

Existing dashboards unhelpful: workflow awareness

Standard “My Workbench” Dashboard

Workbench-provided 'My Workbench' dashboard

Conceptual Divergence

  • Core-provided: not Workbench aware
  • WB-provided:
    • Passive, not instructive
    • State- not action-based
    • No role-based context

Existing dashboards unhelpful: specific needs


Curate Owner and Sponsor Portfolios of published policies

Relate and expose supporting nodes of policies in review

Integrate related management features to provide context for admins

Creating a site specific Policy Dashboard

Policy Dashboard: Action Needed tab

Action Needed of Policy Dashboard

Using custom pages (API), database queries (API), Views, and custom views relations / filters.

A Frisbee-friendly Policy Dashboard

  • Guides users through new process and software
  • Responds to users’ role(s)
  • Surfaces policies’ actions needed and role/group assignment
  • Generates portfolios for owners and sponsors via policies’ term references to these groups
  • Provides quick access to auxiliary tools: policy revision history, GA stats, CSV exports, public comments



The system and the policy review process is brand new How will users know what to do?


Provided new Policy Dashboard that honors workflow context/multiple roles, guides users, provides portfolio management.

Complex Permission Requirements


Read Only

Needed easily managed permissions with restricted editing rights, stakeholder access through draft process, and delegation.

Moderation: recommended configuration didn't work here

Recommended permission settings for Moderation posed management, security, and business challenges:

  • Suited to linear and hierarchical flow/access scheme.
  • Moderators and publishers all given "edit any content" - no Review only role
  • Node moderation messages are visible to all.
  • Users with multiple roles receive too many permissions.

Access: Other issues

  • Administration of access can be opaque - needs to be simple
  • Need to honor portfolios and allow delegation within them
  • Taxonomy traversal prevented access by owners/sponsors when node was out of their review group (taxonomy term).

Alternative Solutions for Permissions

  • Did not grant "edit any content"
  • Custom Ctools access plugins to interpret taxonomy traversal:
    • Augmented workbench node access restrictions
    • Allowed non-editors to view unpublished content
    • Used node traversal aware permissions for a variety of needs
    • Taxonomy references on policy nodes provided access exceptions for stakeholders (owners and sponsors).

* Workbench Moderation 7.x-2.x has switched to a Ctools based permission handling.

Alternative Solutions for Permissions

Simplified permission management:

  • Proliferation of taxonomy terms, not roles
  • Emphasized concrete management over abstraction
  • Used term references to Workbench taxonomy to accommodate overarching access exceptions for stakeholders


Read Only

Needed easily managed permissions with restricted editing rights, stakeholder access through draft process, and delegation.


Custom permissions and node access augmentation, managed via terms instead of roles. Matching references on nodes permit exceptions.

Policy of Truth – Thank You for Joining us

“Workflow” is a generic business term for an editorial process.

Stanford DoR and Texas UPO needed a way to manage this process within their CMS.

Workbench extends Drupal's content modeling for revision management.

Novel ideas and ”going client-side”
help to tackle challenges.

@beautyhammer & @tsmith512 of @fourkitchens