By: Matt Takhar | Updated: 2010-10-06 | Comments | Related: > SharePoint Configuration
Problem
IMP Expiration Policy Gotcha
Here is an unforeseen consequence of using MOSS 2007 Information Management Policy (IMP) Expiration. The IMP sets a flag on the document to make it exempt from the policy thereafter, which meant the workflow would never run again even if the Expiration Date was reset, because the document is exempt!
For example - Trigger a custom Review Workflow if the "Expiration Date" is today...
You can check this by viewing a documents properties.
Solution
There are three solutions to this issue:
- View the Document Properties and use the "Remove Exemption" link in the "Exempt from Policy" field to remove the exemption
- Remove the Exempt flag in code; this is a custom workflow
- In our scenario; use a custom SharePoint timer job instead of IMP!
We choose option 2, remove the Exempt flag using code as we developed the workflow in pure code. This was fairly easy to do with the following lines of code, however you need to make sure you do it during the right part of your workflow/process.
using Microsoft.Office.RecordsManagement.InformationPolicy; Policy.RemoveExemption(file.Item);
Bonus Tip
The IMP Expiration job fires once a day by default and can also be started by hand, which is great for troubleshooting an issue like this. I believe starting it by hand was added in service pack 2.
Central Administration > Operations > Policy Features and Resources˙ > Expiration
Next Steps
- Review Managing Information Management Policies on MSDN.
- Review Andrew Connell's tip on Creating Custom SharePoint Timer Jobs
About the author
This author pledges the content of this article is based on professional experience and not AI generated.
View all my tips
Article Last Updated: 2010-10-06