One of the key Enterprise Content Management (ECM) features provided by Microsoft in SharePoint Server is the Information Management Policy feature. These policies can be used to establish multi-stage retention policies, but the scheduled nature of this feature opens it up for so much more.
Note: If you are not familiar with the information management policies and would like a general overview, see Plan for information management policy in SharePoint Server 2013.
For our purposes, I chose to leverage these features to support the multi-stage activity which supports scheduling each stage, defining an action to execute, and a recurrence schedule if applicable. Using these retention schedules, we can execute scheduled activities to support business processes such as content retention, disposition, or to build a contract management solution.
Scheduling a Stage Date
The ability to schedule the start of the stage is both simple, and powerful. You simply select one of the document’s date fields, which can be either a system field such as Created or Modified or can be a custom field as in the example below.
Next, we focus on the action to take within this stage. The configuration comes with the following actions:
- Move to Recycle Bin: Moves to the recycle bin for orderly removal
- Permanent Delete: Bypasses recycle bin and is immediately deleted
- Transfer to another location: Move to another site such as an archival or records site
- Start a workflow: Start a workflow that is associated with the content type
- Skip to next stage: Move directly to the next stage
- Declare record: Declare the item as a record in the system (in place records management)
- Delete previous drafts: Cleanup previous draft, minor version copies
- Delete all previous versions: Cleanup all previous versions
While these actions can be helpful, this is where most people start hitting the brakes. If you have an important legal agreement or contract, you probably don’t want to just delete it or move it to a recycle bin when it is scheduled to expire. You probably want somebody to review it and make sure it is actually no longer needed or does not need to be renewed. For those that are familiar with the power of workflows the “Start a Workflow” action sounds great until you click that list and see an empty list of available workflows. This is the single biggest hurdle for most people, and the point where many turn back. Do not worry, we will come back to this shortly.
The recurrence settings are also straight forward allowing you to repeat a stage based on a number of days, months, or years as the image below illustrates.
As I mentioned earlier, the “Start a workflow” action list is blank by default. This is where our ability to implement complex workflows comes to the rescue. These workflows can be developed using SharePoint Designer, Visual Studio, or our preferred tool Nintex Workflow. The trick is that whatever path we choose, we need to be able to associate the workflow with the specific content type(s) for it to be available in the list of workflows within the “Start a workflow” action.
To create a workflow that can be associated with a content type in SharePoint Server, navigate through Site Actions menu, select Nintex Workflow (2013/2016), and then Create Reusable Workflow Template as illustrated below.
We then define our workflow name, description, and associate it with a content type.
Here is an example of a Contract Review workflow we created for demo purposes.
Once our workflow is saved, we can now visit the Site Content Type Information page (Site Settings-> Site content types -> select our content type) and click the Workflow settings action under settings.
Next, we can select our workflow template and provide a unique name for the process. For workflows that are triggered by the Info Mgt Policies, you can set the start options to enable “Allow this workflow to be manually started” and disable the new and edit options.
Now that the workflow is associated with the content type, we can configure our Retention Policy. From the Site Content Type Information page, select the Information management policy settings action.
Select the “Enable Retention” option to enable the retention options and then click the “Add a retention stage” action to load the stage configuration form.
The retention stage configuration form options were explained previously. Define an appropriate stage schedule based on a date comparison with a date field. The comparison can be based on days, months, or years.
Next, select the “Start a workflow” option from the Action list and select the workflow you previously configured for the given content type.
If applicable, configure an appropriate recurrence schedule.
Then, click the Ok button to save your changes and continue.
If needed, you can configure multiple stages. For this example, you can see for the given contract content type, there is an initial stage for review. After it progresses through the “review” stage, the second stage was configured to have a contract disposition workflow one year after expiration if the contract was not renewed as illustrated in the image below.
Once the changes are fully saved, the document will be reviewed based on the internal process schedule and the workflow initiated.
Single versus Multiple Stages (Multiple Workflows)
While it is possible to design and implement a single workflow that can handle the logic from the individual stages, there are some advantages to breaking the workflows down into the individual workflows for each stage. It certainly makes the workflow easier to manage within the designer, but it also gives you more granular tracking for executions leading to clearer insights and reporting without having to build in a lot of extra actions within the workflow to break out and report on the individual stages. Ultimately, the requirements can be fulfilled either way, but we find it easier to maintain and support with individual workflows for each stage.