Versions Compared

Key

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

Importing workflows

Find out how to Import Workflows

Editor and staff approval

FAQ Creation workflow

requires v3.0.2+

com.comalatech.workflow.repository.categories.label:Knowledge Base|Sample

Image Added
-Image Removed

Multi-Step FAQ Creation workflow which allows users to submit topic/pages to be approved by the assigned subject matter experts (SME) and the FAQ administrators

  • Allows any user to submit topics, which are approved by

a Subject Matter Experts
  • one or more subject matter experts (SME) and FAQ

administrators
  • Administrators

  • Only the Author and FAQ Administrators can see the submitted FAQ until it is published

    • the SME users are users added as a value(s) for the workflow user parameter Component Leads

    • the FAQ administrators are the users who are members of the Confluence user group(s) added as a value(s) for the workflow group parameter FAQ Administrators

  • Uses a number of workflow triggers (rules)  to send custom email notifications on the following workflow events

    • pagecreated

    • pageupdated

    • pagerejected

    • pageapproved

Code Blocktitle

The workflow stores the value of the user who submitted the faq page for review as a value for the metadata named FAQ Author. This metadata value is set on the transition from the Draft state to the Submitted state


FAQ Creation Workflow Markup

collapse
Code Block
true
{workflow:name=FAQ Creation Workflow
|key=km.faq
}
	{description}
        Multi-Step FAQ creation workflow which allows users to submit topic/pages to be approved by the assigned SME(s) and FAQ Admin. Only the SME's and FAQ Admin can see the submissions before they are approved. 
    {description}
    {workflowparameter:FAQ Administrators|type=group}
        confluence-users
    {workflowparameter}
    {workflowparameter:Component Leads|type=group}
        confluence-users
    {workflowparameter}
    {state:Draft|submit=Submitted}
    {state}
    {state:Submitted|approved=Approved|rejected=Rejected}
        {approval:Approve|group=@FAQ Administrators@}
    {state}
    {state:Approved|approved=Reviewed|rejected=Closed}
        {approval:Review|selectedapprover=@Component Leads@
|hadapproval=Approve
}
    {state}
    {state:Reviewed|approved=Published|rejected=Closed}
        {approval:Publish|group=@FAQ Administrators@}
    {state}
    {state:Published|final=true|updated=Approved|hideselection=true}
    {state}
    {state:Closed|hidefrompath=true}
    {state}
    {state:Rejected|hidefrompath=true}
    {state}
    {trigger:statechanged|state=Submitted}
        {set-metadata:FAQ Author}
<at:var at:name="user" />
@user@{set-metadata}
        {send-email:user=@FAQ Administrators@|subject=FAQ Submitted}
        The FAQ 
<at:var at:name="page" />
@page@ has been submitting by [
~<at:var at:name="user" />
~@user@] and is waiting for your approval.
        {send-email}
    {trigger}
    {trigger:pageapproved|approval=Approve}
        {send-email:user=@Review>selected@|subject=FAQ Accepted}
        The FAQ 
<at:var at:name="page" />
@page@ has been approved by [
~<at:var at:name="user" />
~@user@] and is waiting for your review.
        {send-email}
    {trigger}
    {trigger:pagerejected|approval=Approve}
        {send-email:user=@FAQ Author@|subject=FAQ Rejected}
        Your FAQ 
<at:var at:name="page" />
@page@ submission has been rejected.
        {send-email}
    {trigger}
    {trigger:pageapproved|approval=Review}
        {send-email:user=@Approve>approver@|subject=FAQ approved}
        The FAQ 
<at:var at:name="page" />
@page@ has been approved by [
~<at:var at:name="user" />
~@user@] and is waiting for your approval.
        {send-email}
    {trigger}
    {trigger:pagerejected|approval=Review}
        {send-email:user=@Approve>approver@, @FAQ Author@|subject=FAQ rejected}
        The FAQ 
<at:var at:name="page" />
@page@ has been rejected by [
~<at:var at:name="user" />
~@user@].
        {send-email}
    {trigger}
    {trigger:pagecreated}
        {add-restriction:type=View|user=
<at:var at:name="user" />
@user@}
        {add-restriction:type=View|group=@FAQ Administrators@}
    {trigger}
    {trigger:pageapproved|approval=Approve}
        {send-email:user=@Review>selected@|subject=FAQ Accepted}
        The FAQ 
<at:var at:name="page" />
@page@ submitted by [~@FAQ Author@] has been approved by [
~<at:var at:name="user" />>
~@user@]
        and is waiting for your review.
        {send-email}
        {add-restriction:type=View|user=@Review>selected@}
    {trigger}
    {trigger:pageapproved|approval=Publish}
        {send-email:user=@Approve>approver@|subject=FAQ published}
        The FAQ 
<at:var at:name="page" />
@page@ has been published
        {send-email}
        {remove-restriction:type=View}
    {trigger}
    {trigger:pageupdated|state=Published}
        {send-email:user=@Review>selected@|subject=FAQ updated, requires approval}
        The FAQ 
<at:var at:name="page" />
@page@ has been updated by [
~<at:var at:name="user" />
~@user@] and requires your approval
        {send-email}
    {trigger}
{workflow}

FAQ Workflow Process

...

-Image Removed

  • Any user can submit an FAQ

  • Only the Author and FAQ Administrators can see the submitted approval

  • only a user who is a member of the FAQ Administrators determines if the FAQ is appropriate and assigns the appropriate Component lead

  • If the FAQ is approved, then the FAQ is visible to the Component Leads and they are notified

  • If the FAQ is rejected, then the Author is notified

  • If the FAQ is approved by a Component Leads user then it is re-assigned to the FAQ Administrators for publishing

  • If the FAQ is published then it becomes visible to everybody

  • If the FAQ is rejected in this state, then the Author and all users who are Component Leads are notified

  • If the FAQ is updated after it has been published, then it has to be approved by the Component Leads and FAQ Administrators again

Workflow configuration in a space

...

In each space, you need to add the workflow parameters values that will be used in the workflow

  • FAQ Administrators

  • Component Leads

The values of the workflow parameters are used by the workflow to assign reviewers to content reviews in the workflow. They are also used as recipients for email notifications for workflow events.

These values can be any existing Confluence user group. The default group value for each of the workflow parameters is the confluence-users group.

Having a default value for the parameters means that a space administrator can edit these values in the space tools Parameters Document Management screen.

...

...

Tip

The parameter value in the space tools will be used when the workflow is first applied to content in a space.

The workflow parameter values can also be edited using workflow builder.

...

...

Info

Depending on workflow configuration, workflow parameter values can be edited by a user. This may be useful, for example when first applying the workflow an individual page or blog post and you want to allow the user to set the parameter values,

This workflow includes workflow parameters. When applying a space workflow

  • a parameter reference value may only be available for use by the workflow after a workflow process, such as a transition, occurs. For example, the initial state should not include the use of the parameter reference value for a due date or pre-assigned reviewers for approvals to avoid blocking your workflow. Alternatively, you can choose to Initialize states when applying a space workflow

  • the parameter value is retrieved from the space parameters dashboard on first application of a workflow to a page or blog post. This value may be different to the value used in the workflow template