Thursday, June 21, 2007

Creating Revision handling in SharePoint

The following scenario has been given; A document handling system is to be created, where a global document id together with version management and revision mangement is to be implemented.

The hardest part of the above mentioned topics was the revision handling. For all of you out there that does not have much experience with document mangement here is a brief summary.

In SharePoint 2007, document management has been reactivated (it was removed from SharePoint 2003). The functionality that comes out-of-the-box (OOB) is quite good and wil suffice in most situations, but for more complex situations some development will have to take place. OOB comes version management which allows for very powerful document version management such as minor (drafts) and major (published) versions, check-in and check-out of documents are also available. Content approval is a very good way to have your documents under control and knowing what is in your document center. However, the functionality of revision and global document id's is still not implemented OOB and must therefore be developed.

In the case listed above, the global document id was quite easy to implement as a new meta-data column in the document library connected to a eventhandler and a small database. The revision management was quite the opposite. Revision is a good way of having documents for each version of a product, where the old product manual must still exist in the library. The idea of the revision is to copy the file to have the same metadata as the previous file and then change the Revision, for example from A to B. After this is done, since the document requires a check-out before editing the properties, the source document are to be restored to the previous published version. This is the tricky part. The document library settings says that five minor and five major versions are stored, but when the file is accessed from the object model, there is only one version of the file available from the SPFileVersionCollection...

The solution for the moment is to manually discard the check-in, but it is not a good solution. I'll let you know as soon as possible if I find a solution to this problem.

 //Sebastian

Posted by Zeb at 10:13:15 | Permanent Link | Comments (0) |