ISO 9001 standards for document management have many requirements for certification. One such requirement is that documents have a designated owner and a scheduled review cycle, such that on a periodic basis, a review of the document by the document owner is triggered to ensure that all content in the system remains current and accurate.
This functionality can easily be implemented in SharePoint through a combination of metadata columns, Information Management Policies, and Workflows.
The first component in implementing this functionality involves creating the right columns on the document library. The following columns are needed:
- Document Owner – A Person or Group column to store either the person or set of people who will be responsible for reviewing the document
- Last Review Date – A Date/Time column to store when the document was most recently updated
- Review Frequency – Number of days after the Last Review Date that the document should next be reviewed
- Next Review Date – A calculated column based on the Last Review Data and the Review Frequency
The second component is the workflow process. For a document to be reviewed, a notification is sent to the person designated as the Document Owner and a corresponding task assigned. When the Document Owner views the task, reviews the document, updates it if necessary, and marks the item as complete, the workflow should be completed. The workflow, as it completes, automatically updates the Last Review Date property to the current date, which in turn adjusts the Next Review Date for a subsequent cycle.
The final component is to automatically trigger the workflow described above. On a regular Date/Time column, the SharePoint Information Policy settings could be used to automatically trigger the workflow. However, because Next Review Date is a calculated column, a slight amount of custom code needs to run on the document in order to set when the document review workflow should be initiated. The line of code is:
Expiration.SetExpirationDateForItem(item, NextRenewalDate, false);
The case above provides another example of where SharePoint can address real world business requirements. As we often see, the out-of-the-box functionality is able to meet the majority of the requirements and thus comprise the bulk of the solution, and a small amount of custom code fills the gaps necessary to complete the solution.
This month’s tip contributed By Ben Nadler, Abel Solutions Senior SharePoint Consultant.