Chapter 11. Building Document Management Solutions

By John Holliday

The term "document management" has become a catch-all phrase for anything having to do with documents in an enterprise setting. It is an overly broad term that covers many different aspects of managing documents, from access control to version control to the auditing, review, and approval of content. To understand what document management means in the SharePoint environment, it helps to consider the evolution of document management systems over the last decade or so. It also helps to appreciate the value that SharePoint provides as a development platform for document management solutions.

Early document management systems were focused primarily on keeping track of revisions to documents that involved multiple authors, and operated in a manner similar to source code control systems. Individual authors checked out documents, thereby locking them so that other authors could not overwrite their changes. System administrators could specify who had permission to view or edit documents, and could generate reports of document activity. Other functions included the ability to automatically number each major or minor revision and revert at any time to a specific version of the document, generating the final content from information stored within the database.

The notion of metadata became a key characteristic of legacy document management systems. Metadata is information about a document, as opposed to the document content itself. For example, the current version number is an example of metadata, since it is information about the document. Other examples are the title, subject, comments and keywords associated with the document.

Most document management systems store document metadata in a central database. In fact, many of the early document management systems were written as database applications. This worked well at a time when the only business process being modeled was the generic document revision cycle. It starts to break down, however, when you want to model other business processes.

This is where SharePoint emerges as a superior platform for developing document management solutions. SharePoint refines the notion of document metadata to distinguish between system, class, and instance metadata. System-level metadata is maintained internally by SharePoint for all documents. Class-level metadata is stored within the SharePoint database for a given document library or content type and can be customized easily to include domain-specific information. Instance-level metadata is stored within each document instance as a set of document properties, and moves along with the physical document. This is especially important for managing documents in disconnected environments.

Because the term document management is so imprecise, it follows that the idea of what comprises a document management solution might be different depending on the context. One solution might implement a custom document approval process. Another might apply a business rule to determine who has access to a given set of documents. Yet another might apply a set of business rules that capture information about milestones achieved as a document is being edited.

So, what is a document management solution and how do you go about building one in SharePoint? The best way to answer this question is to examine the tools provided by the SharePoint platform in the context of a real scenario.

This chapter develops a solution for managing project proposals. The solution distinguishes between fixed-bid and time-and-material projects and provides metadata for controlling the content of each proposal as it evolves through the revision cycle. The solution will include custom fields for specifying the fixed-bid amount and the estimated hours for time-and-materials projects.

While developing a document management solution, it quickly becomes evident that business rules control not only the type of metadata that can be associated with a document but the range of acceptable values for each field. When a document is first created and at any stage during the revision cycle, the business rules examine the metadata and perform the appropriate actions to ensure that the document state is valid. This collection of business rules is often called a content management policy because it summarizes your policies and procedures for a particular type of document.

As you work through the chapter, developing the proposal management solution, you will explore SharePoint content types as a way to capture the essential characteristics of a document in one place. Content types offer tremendous advantages when building document management solutions; they allow you to encapsulate class-level metadata and associate it with code you can run on the server to implement custom business rules. The proposal management solution will include two policies: one to limit the acceptable bid amounts to a certain pre-approved range of values, and another to require a minimum number of estimated hours for time-and-material projects.

Finally, the chapter develops an extensible framework for defining document management policies using XML in conjunction with SharePoint event receivers. You also create custom commands that enable system administrators to use the STSADM command-line tool to administer proposal management policies after the solution is deployed.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.184.126