Working with a client recently, we had a requirement to develop a solution to allow process documents to be expired every six months and sent for approval to ensure that the process is still current. As the client was running SharePoint 2010 this seemed a good opportunity to see what could be achieved with the Information Management Policy.
The IM Policy allows a number of different actions to taken on different types of content, the actions can be things like:
- Run a workflow
- Delete an item
- Transferring to another location
- Declaring an item to be a record
- Delete all previous versions or drafts
To get these settings, you can either go to Site Collection Administration, –> Site Collection Policies, to see the site collection level policies
or from a library go to Library setting –> Information management Policy settings
to see policies for an individual library or list. In this instance we used a library level policy attached to a custom content type.
Then set a retention policy stage, to cause the document to expire after a set amount of time and run a custom workflow I created in SharePoint Designer.
The workflow was a simple one that kicked off an approval for the content owner value set in the library.
The only thing that caught us out was the testing. We tested the workflow manually on a document and it worked fine, then forced a document to expire and nothing happened, we waited overnight and still nothing happened, nothing in the logs, just plain nothing, I checked and rechecked the settings, still nothing.
According to the SharePoint 2010 Timer Job Reference on technet , the Information Management Policy job runs Daily, but we finally noticed that this job was configured to run Weekly, and once it had run the solution worked fine !
Checking a few other client systems those were configured to run weekly as well, so a nice little Gotch there! Happy SharePointing.