Skip to content

Approval workflow

Karel Picman edited this page Jan 18, 2014 · 15 revisions

Specification of DMSF approval workflow.

Management

Here we define how to create, edit, execute or delete an approval workflow.

Here we define how to create, edit, execute or delete an approval workflow.

  • An approval workflow can be assigned to a document or a folder.
  • The state of the approval workflow is indicated by a workflow state as follows:
    • None – No approval workflow has been assigned.
    • Draft – An approval workflow has been already assigned but the workflow hasn’t been started yet.
    • Approval step 1 – The approval workflow has been started.
    • Approval step n – The last approval step.
    • Approved – The document or the folder has been approved
    • Rejected – The document or the folder has been rejected
  • The state is indicated by an icon in the main DMSF view.
  • The default approval state is None or Draft if an approval workflow is assigned.
  • A document or a folder approval workflow is started by a button Start approval workflow after an approval workflow is assigned.

Definition

  • Approval workflows are defined either globally or per project and can be executed multiple times within it. It means that a single approval workflow can be assigned to multiple documents or folders. Global workflow can be used all over KDP.
  • An approval workflow is defined by a logical name and by assigning users – approvers in a particular order with a given dependency.

The main view

  • Each approval workflow consists of one or more approval steps.
  • Each approval step includes one or more approver and their dependency. It means that we can assign a new user with a dependency AND or OR. So to proceed to a next approval step it is required an approval by one all approvers. Consequently we are able to define serial or parallel workflow this way. E.g. both approaches are combined in the screen shot of the approval workflow definition above. There in the first step approvals of Uwe Raab and Uwe Ampler are required to proceed to the next step. On the contrary only one approval of either John Smith or Alan Poe is enough to proceed to the second step.
  • Users included in a project approval workflow must be members of the project.

Process

Here we describe step by step the whole process.

Flow chart

Approval workflow definition

  • Approval workflows are available from a document or a folder. Project and global approval workflows are available.
  • There will be a new form for approval workflow definition.
  • First we define a logical name for the new approval workflow.
  • In the new approval workflow form there will be a link New step and a list of all project members/all users. It will be allowed to add new approvers from the member/global user list with AND or OR dependency.
  • A maximal reaction time for approving or rejecting an approval step is preset and hard coded on 2 working days.
  • It will be possible to add, modify and delete approval workflow steps and to reorder them. There will be global approval workflows that will be managed by the administrator. These global approval workflows will be available in all projects. There will be also possible to define approval workflows on a project level. These project approval workflows will be available in the project scope only.

Workflow list

  • Project approval workflow definition will be available for project managers in the project settings.
  • Global approval workflow definition will be available for administrators in application settings.

Workflow definition

Assigning

  • Each project member with the permission to update a document or a folder will be allowed to assign and to start an approval workflow by the document or the folder.

Workflow assigning

  • Project and global approval workflows are available for assigning.

Workflow assigning

  • If an approval workflow is assigned the state is changed to Draft, the document of the folder is locked and it is not possible to change it.

Approving

  • An assigned approver has three options: to approve or to reject the document or to delegate approving to another user.
  • If an approver approves the document, it is forwarded to the next approver in the approval chain,
  • If an approver rejects the document, the state is changed to Rejected.
  • If an approver delegates the approval, the state remains unchanged but it is forwarded to the delegate.
  • In case of rejecting or delegating the approver must comment it. The commenting is optional in case of approving. A clear reason for rejection or delegation must be provided.

Workflow approval

End of the process

  • If a document has been approved by all required approvers its state is changed to Approved and it remains locked.
  • If the document has been rejected the state is changed to Rejected, the document is unlocked and a new revision must be uploaded and the approval workflow restarted.

Email notification

  • Notifications emails are distributed to all participants of the approval workflow, to the approval workflow owner and to other members of the project. No additional user settings of the email notifications are part of this specification. Each user can manage their notifications in their user profile the same way as for other modules such as issue tracking or news. E.g. if a user as a project member doesn’t want be informed about just approved documents, they changes their email notification setting to “Only for things I watch or I’m involved in”.
  • The emails always contain a link to the document or the folder that is the subject to approving.
ID Event Receiver(s)
e1 The approval workflow is started All approvers of the first step
e2 An approval workflow step is finished All approvers of the next step and workflow owner
e3 The document has been approved All members of the project
e4 The document has been rejected All participants of the workflow and the workflow owner
e5 An approval step has been delegated The delegate
e6 Due date has been reached All approvers in the given step who haven’t approved yet. These notifications are resent every working day.

Email templates

e1 – Approval workflow <% workflow name %> started

Dear user,
The approval workflow ‘<% workflow name %>’ assigned to ‘<% file name %>’ document has just been started and you are expected to do an approval in the current approval step.
To proceed click on the check box icon next to the document in <% folder url%>.

e2 – Approval workflow <% workflow name %> requires your approval

Dear user,
The approval workflow ‘<% workflow name %>’ assigned to ‘<% file name %>’ document has just finished one of the approval steps and you are expected to do an approval in the next approval step.
To proceed click on the check box icon next to the document in <% folder url %>.

e2 – Approval workflow <% workflow name %> updated

Dear user,
The approval workflow ‘<% workflow name %>’ assigned to ‘<% file name %>’ document has just finished one of the approval steps.
To see the current status of the approval workflow click on the workflow status the document in <% folder url %>.

e3 – Approval workflow <% workflow name %> approved

Dear user,
The approval workflow ‘<% workflow name %>’ assigned to ‘<% file name %>’ document has just been finished and the document has been approved.
To see the approval history click on the workflow status of the document in <% folder url %>.

e4 – Approval workflow <% workflow name %> rejected

Dear user,
The approval workflow ‘<% workflow name %>’ assigned to ‘<% file name %>’ document has just been finished and the document has been rejected because of ‘<% note %>’.
To see the approval history click on the workflow status of the document in <% folder url %>.

e5 – Approval workflow <% workflow name %> step delegated

Dear user,
The approval workflow ‘<% workflow name %>’ assigned to ‘<% file name %>’ document has just been delegated because of ‘<% note %>’ and you are expected to do an approval in the current approval step.
To proceed click on the check box icon next to the document in <% folder url %>.

e6 – Approval workflow <% workflow name %> requires your approval

Dear user,
The approval workflow ‘<% workflow name %>’ assigned to ‘<% file name %>’ document has just finished one of the approval steps and you are expected to do an approval in the next approval step.
To proceed click on the check box icon next to the document in <% folder url %>.

Limitation

  • Only the last document revision is the subject to approving.
  • A document is in Approved state when the last revision is approved.
  • Neither a document nor a folder can be updated during the approval workflow process.
  • Subjects to approving are locked, read only in other words during the process.
  • Approval workflow state is visible to all document and folder that are being approved.

Workflow state

Workflow documents

  • Approval workflow state and history will be available to review in an info window. This window will be available for all approval participants, the workflow owner and project members. It will be available to all KDP users in case of a public project.

Workflow log

  • The green font indicates an approval.
  • The red one indicates a rejection.
  • If a user moves the cursor over an approver name an exact date and time will be displayed in a tooltip. The date in the date column indicates date of transition to the next step. If the user moves the cursor over a note, full text of the note will be displayed in a tooltip (Useful in case of a long note whose text doesn’t fit into the column width).
  • Approved documents can be used as templates for new revisions and subsequent approvals.

States and allowed states transitions matrix

State transitions

From/To None Draft Step i Step i+1 Approved Rejected
None X
Draft X X → e 1
Step i X → e 2 (e 5) X → e 3 X → e 4
Step i+1 X → e 3 X → e 4
Approved
Rejected
e ~n~ indicates an email notification. See the email notification matrix above.
Action Workflow column Log – action
None
Assignment Assigned Assignment
Start Waiting for approval Start
Approval Waiting for approval Approval
Approval Approved Approval
Delegation Waiting for approval Delegation
Rejection Rejected Rejection

Data model

Data model