SharePoint Workflows

Workflows are sets of actions and functionality that let you complete a defined business process in an orderly and traceable fashion. Microsoft Office SharePoint Server (MOSS) 2007 has several workflows available out of the box. Organizations can leverage these SharePoint workflows to create powerful business processes that will help them save money and create a more manageable, efficient, and compliant organization.

There's a lot of buzz about Microsoft .NET 3.0 Workflow Foundation and how many savvy SharePoint users have made it a part of their arsenal in the fight against enterprise disorganization and the absence of enforceable business processes. I want to shed a little light on what workflow is, what it does, and why you might want to use it. I'll also show you how to implement the available workflows that come with your paid Microsoft Office SharePoint Server (MOSS) license. You can also author workflows with just Windows SharePoint Services (WSS), but they must be built from scratch using development tools to script or compile the components. This high-level introduction is designed to make implementing some basic workflow in your organization a fairly easy task.

What Is Workflow?

Workflow is a series of actions that depict a defined process. In SharePoint terms, workflows are sets of actions and functionality logically grouped to complete a defined business process in an orderly and traceable fashion. The best way to understand this definition is through an example. Almost every organization needs to be able to accept or reject a new document or changes to an existing document. With SharePoint, you can define a simple workflow that watches a SharePoint document library for changes. It waits for any document to be checked-in, then creates a task for another user to view and accept or reject the document. Then through a simple web-based screen, the user can select either approve or reject to complete the workflow.

The above workflow scenario is simple, yet highly effective for what many managers need to accomplish on a daily basis. It ensures that documents are stored in a place that any appropriate team member can access based on security permissions. It also allows the manager to be automatically informed when changes are made to documents he or she is responsible for maintaining. The manager now has an audit trail for who made the change, when the item was changed and checked-in, and through use of versioning, exactly what changes were made. The manager also can view the data via the web and see task history and status in a single location.

Compare this simple scenario to how companies manage similar requirements without workflow. For example, a department manager might send an email message to inform users that she must approve changes to certain types of documents before they can be sent to customers. These documents are stored in shared folders on the corporate network and on local hard drives. When users change the documents in either location, they send the document via email to their manager for approval. Which version of the document did they initially change? Local or shared? Which version is the most current? What happens if someone makes an additional change while the manager is reviewing the current set of changes? Where does the manager post these changes and who does she send the email response to so that everyone is informed? How does she handle rejections or changes so they are tracked and properly noted? Can she see who is currently working on documents in her department?

All these questions can be time consuming and costly to answer and provide process for. With SharePoint's built-in capabilities and the workflows available out of the box with MOSS, organizations can quickly address most of these questions and concerns.

Available Workflows

The MOSS workflows described below represent the extent of what is pre-built and available out of the box. I'll discuss each in detail to explain how they can start helping your organization immediately. Implementing these workflows doesn't have to be complicated or difficult. Many aspects of SharePoint document libraries, along with the following workflows, can solve almost all of the issues and questions regarding manual processes I listed previously.

Collect Feedback. The Collect Feedback workflow is one of the first workflows many users will implement given its ease of creation, combined with the power and usefulness of the functionality. This workflow enables SharePoint end users to quickly create a series of tasks attached to a document that will automatically email other users with a request to open the document and respond to their task with feedback. With a few mouse clicks, users can create a custom workflow for a specific document or build and save reusable workflows for common documents or business processes. By consolidating this effort in SharePoint, the application keeps track of each of the feedback tasks, who the task was assigned to, the due date, current status, and the outcome of the specific task. Users can also review the workflow report history to see the series of events consisting of the initial creation of the workflow, each task creation, who initiated the workflow, and a description of each event and potential outcome. This process provides an easy-to-follow event timeline around the workflow. Figure 1 shows a sample workflow history page.

In the workflow history and the workflow task list, the feedback and comments are displayed on the main report page. The page contains a significant amount of information about the status and history of a specific workflow instance on a document. This data is captured, backed up, and maintained in a logical location relative to the document and document library.

Collect Signatures. Microsoft supports certified digital identifications that you can use to insert your signature and provide digital validation. The Collect Signatures workflow allows information workers to use some of the integrated features of Microsoft Office 2007. This workflow lets users create a Signature Line component in Office Excel 2007 or Office Word 2007 documents that can be digitally signed by required recipients.

The intention here is to allow document validation to move through a business process without requiring a succession of users to print and physically sign a document. Anyone who has gone through this process knows how tedious it can be. You receive a document that you must print to sign. That copy isn't represented digitally, and can't be stored in that manner from this point forward because of the physical signature requirements. The document is now faxed or sent via traditional mailing services to each party for individual signatures. Often by the end of such workflows, the whole process has taken weeks and the documents have been signed, initialed, and faxed so many times that the final document is almost unreadable.

The Collect Signature workflow replaces this process via SharePoint’s document management capabilities, allowing documents to move through a process of signature task assignments. The workflow is simple: After creating a document that requires signatures, the initiator creates digital signature lines for each signer inside the document using built-in components of Office Word 2007 or other Excel 2007files. Once the document is added to a document library containing the Collect Signatures workflow, the user begins the workflow inside the actual document by initiating the workflow process using Office 2007’s native connectivity with SharePoint environments. The workflow assigns tasks to the users added to the workflow and that have signature lines in the document. Users are assigned signature tasks, which require the users to open and digitally sign the document, thus completing their task. The workflow then assigns the signature task to the next signatory in the workflow. Upon final completion of the tasks, you have a document that has a list of digital signatures and version history for the changes.

Disposition Approval. The Disposition Approval workflow shows some of the other abilities and areas where automation and notification can help manage common business process problems. This workflow is designed for retention management tasks and works a little differently than the previously mentioned workflows. It automatically initiates review tasks for documents that have reached the end of a retention lifecycle.

In most organizations, any given document contains a logical or contextual lifecycle. It costs significant resources to maintain documents that are no longer needed for historical or compliance purposes, yet it can cost even more to search existing documents in an effort to find those that should be retained versus destroyed. There have been many cases in which corporations and individuals have found themselves in legal trouble when old documents were located and used as evidence in court. In many of those cases, the documents had reached the end of their lifecycle and were no longer required by law to be maintained. In essence, they were simply liabilities--both legally and financially.

The Disposition Approval workflow offers two common options for managing document-retention policies. The simple method is to allow users to manually initiate the workflow process on documents they see in the SharePoint document libraries that they believe are qualified to be reviewed. The workflow then creates an unassigned task in a task list where users are monitoring the task items. This task queue represents documents that need to be reviewed and acted upon, culminating in the document being saved for an additional period of time or deleted. This process is easy to set up, but holds significant risk: Documents that should be deleted might not be located due to the manual nature in which they're found.

A better way to way to ensure documents are discovered at the end of their lifecycle is to use a combination of content types and information management policies. SharePoint lets users create information management policies that set the timeframe for a document to remain in the repository. These policies can be applied to specific content types, thus allowing organizations to apply different retention policies to specific types of documents. When the time period for retention on a specific policy is reached, the Disposition Approval workflow is automatically initiated by the policy, and the tasks are added to the queue to be handled by those people delegated to review expired documents.

You can see that the combination of technologies in this workflow present many opportunities for business process automation. SharePoint can determine the type of document and specific information management policies associated with that type of document, then can initiate specific workflows on these documents when policy limits are reached or exceeded. The ability for these operations to work together allows organizations to create very specific usability requirements on all their documents and to ensure that tasks are assigned as a result of the business process requirements.

Three-State. The Three-State workflow is again different than the previously mentioned processes in that it allows organizations to create intermediate steps in their workflow tasks. For example, when a user receives a task created from a workflow, the standard steps in that task equate to a status of either open or closed. When the task is created and assigned, the status is open. Upon task completion, the status is closed. This methodology works with many tasks and business processes, but most businesses have individual processes that contain more than simple two-step tasks. The Three-State workflow offers a little more flexibility for these situations. A common use for this workflow is with the Issues list, which is available as part of your standard SharePoint installation. The workflow essentially allows a process to create more than a single task per person depending on the status of the item that created the workflow.

Let's walk through how this workflow works on the standard Issues list. You can add a Three-State workflow to this list, and by default it looks at the Issue Status column for the available states. (A Three-State workflow requires a choice column with at least three choices.) The workflow will choose Active as the initial state, Resolved as the middle state, and Closed as the final state. When you create a new item in the Issues list, if this workflow is set to automatically initiate with a new item, the workflow creates a task and assigns it to the user who is set as the Assigned To user in the Issues list. This task contains a link to the Issue list Item where the assigned user can complete the task. Figure 2 shows an example of this workflow in action. It shows that Ryan Thomas has been assigned Issue number 2. You can also see in Figure 3 that an associated task has been added to the task list and assigned to Ryan and that there is a link from the task back to the issue.

When Ryan sees this task and navigates to the associated issue, he will work to fix the issue and set the status to Resolved, as Figure 4 shows. Now note that the associated task assigned to Ryan Thomas has been completed and a new task assigned to the Administrator (the original creator of the issue) is created requesting that she view the fix and ultimately close the issue. Figure 5 displays what the task list looks like at this point in the process. For the sake of this example, let’s assume there was a problem and the Administrator had to set the issue status back to Active. Figure 6 illustrates that the Administrator task of reviewing the fix was completed, and an additional task has been assigned to Ryan Thomas to continue working on the issue. We will assume Ryan fixes and resolves the issue correctly and the Administrator reviews and accepts the fix, thus closing the Issue. Figure 7 shows the succession of tasks and their metadata. This workflow can help keep a standard business process focused and reviewable.

Simple Yet Effective

Microsoft chose to build and include some workflow options out of the box. Many users believe these workflows are just samples to get you started and too simple or generic to be of value. However, if you look a little deeper at what each of these workflows can do, they represent a nice sampling of some extremely functional behavior. It's true that you can use external tools to build much more powerful and complicated workflows that are specific to an individual organization and business process. Generic workflows that can appeal to most users require keeping the functionality at a high level and consistent with problems most users face.

Many business process problems can be solved with the SharePoint workflows available out of the box. With some preparation and ability to see how the technical process can be applied to current manual business problems, most organizations can find ways to increase efficiency, reduce errors, and begin a series of processes requiring less printed paper and manual intervention. Other workflows can require more effort to understand and apply to a business process. In either case, the resources required to create and use the workflows are almost guaranteed to save money and create a more manageable and compliant organization.