Document Review and Approval Application Design
The first step to building a new application is to lay out the application design. Begin with the workflow, or workflows. This identifies the user steps and system steps necessary to achieve the workflow goal. From here, you can determine what forms you need. Does the user need to edit form content? Are the forms read-only? Once you have a good understanding of the workflow and forms, you can determine the data sources. Where is data stored? SharePoint? SQL Server? Do you need to retrieve data? If so, where is the data coming from? Finally, you can decide if you need to report on the workflow and what kind of reports you need.
Workflow
This application has two workflows: Document Review Workflow and Document Approval Workflow. You will configure both workflows to start on-demand. After you upload a document to the SharePoint library, you will decide which workflow to start. If you need input on a document, select the Document Review Workflow. If the document is ready for final approval, select the Document Approval Workflow.
Both workflow layouts are in a swim-lane format. Notice how each lane represents a user or a system responsible for the task(s). The workflow moves from one lane to another, before coming to an end.
Document Review Workflow
Document Review Workflow
Key points in the Document Review Workflow steps:
- You can select one or more reviewers to provide input
- A system step updates the status property in the SharePoint library to pending
- The workflow moves to a review document user step
- All reviewers must accept the document to follow the accepted outcome
- If one or more reviewers selects rework, the workflow follows the rework outcome
- The rework outcome routes the workflow back to you (the originator)
- You have the option to resubmit the document or cancel the review request
- The rework outcome creates a looping effect and can loop as many times as needed
- After each user step, a system step updates the document's status property
Document Approval Workflow
Document Approval Workflow
Key points in the Document Approval Workflow steps:
- You can select one or more approvers
- A system step updates the status property in the SharePoint list to pending
- All approvers must approve the document to follow the approved outcome
- If one or more approvers rejects the document, the workflow follows the rejected outcome
- If approved, a system task sends an email to you with the approvers decision with a link to the document
- If rejected, a system task updates the document's status property
Forms
This application uses K2-generated SmartForms for user interaction. SmartForms are not used to start the workflow. You start each workflow on-demand from the library itself. SmartForms are more flexible than standard SharePoint forms. In the last step in this tutorial, you will edit a SmartForm and remove unnecessary controls. This is not easily accomplished with SharePoint forms.
Reports
You will create the reports element as part of generating application elements from the library. The reports component is not covered in depth however.
Data
This application uses one SharePoint library for the data component. The table below outlines the properties (columns) the application requires.
Library Name | Column Name | Type of Data | Notes |
---|---|---|---|
Documents to Review and Approve | Title (existing) | Single line of text | This is the existing Title column for the document library. |
Reviewers | Person or Group | This is a group of users who review the document. When you start the workflow, you add user names to this list. The workflow creates a task for each user on the list. | |
Review Status | Single line of text | The review workflow updates this property as it progresses. | |
Approvers | Person or Group | This is a group of users who approve or reject the document. When you start the workflow, you add user names to this list. The workflow creates a task for each user on the list. | |
Approve Status | Single line of text | The approve workflow updates this property as it progresses. |