Versions Compared

Key

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

...

FAQ Creation workflow

requires v3.0.2+

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

Image RemovedImage Added

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 one or more subject matter experts (SME) and FAQ 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

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

Code Block
{workflow:name=FAQ Creation Workflow}
	{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@}
    {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}@user@{set-metadata}
        {send-email:user=@FAQ Administrators@|subject=FAQ Submitted}
        The FAQ @page@ has been submitting by [~@user@] and is waiting for your approval.
        {send-email}
    {trigger}
    {trigger:pageapproved|approval=Approve}
        {send-email:user=@Review>selected@|subject=FAQ Accepted}
        The FAQ @page@ has been approved by [~@user@] and is waiting for your review.
        {send-email}
    {trigger}
    {trigger:pagerejected|approval=Approve}
        {send-email:user=@FAQ Author@|subject=FAQ Rejected}
        Your FAQ @page@ submission has been rejected.
        {send-email}
    {trigger}
    {trigger:pageapproved|approval=Review}
        {send-email:user=@Approve>approver@|subject=FAQ approved}
        The FAQ @page@ has been approved by [~@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 @page@ has been rejected by [~@user@].
        {send-email}
    {trigger}
    {trigger:pagecreated}
        {add-restriction:type=View|user=@user@}
        {add-restriction:type=View|group=@FAQ Administrators@}
    {trigger}
    {trigger:pageapproved|approval=Approve}
        {send-email:user=@Review>selected@|subject=FAQ Accepted}
        The FAQ @page@ submitted by [~@FAQ Author@] has been approved by [~@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 @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 @page@ has been updated by [~@user@] and requires your approval
        {send-email}
    {trigger}
{workflow}

...

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