Approval for expiry.
Customize the OOTB approval workflow.
Table 1. Scenarios for built-in workflows in SharePoint 2010
|Collect Feedback||Routes a document or item to a group of people for feedback. Reviewers can provide feedback, which is then compiled and sent to the person who initiated the workflow.|
|Approval||Routes a document or item to a group of people for approval. By default, the Approval workflow is associated with the Document content type; therefore, it is automatically available in document libraries. The Approval workflow is a staged approval model; that is, the first set of approvers undergoes the review and approval process, then the next set, and so on.|
|Disposition Approval||Manages document expiration and retention by letting participants decide whether to keep or delete expired documents. The Disposition Approval workflow supports records management processes and is intended for use primarily in a Records Center site.|
|Collect Signatures||Routes a document that was created in a Microsoft application to a group of people to collect their digital signatures. Participants must complete the signature task by adding their digital signatures to the document in the relevant client program.|
|Three-State||Designed to track the status of a list item through three states (phases). This workflow can be used to manage business processes that require organizations to track a high volume of issues or items, such as customer support issues, sales leads, or project tasks. The Three-State workflow is so named because it tracks the status of an issue or item through three different states, and through two transitions between the states.|
|Publishing||Supports the SharePoint publishing infrastructure and is available only on sites that have the publishing features enabled. It is similar to the Approval workflow, with some modifications to fit the publishing context.|
Cannot model certain kinds of logic
Declarative workflows are sequential in structure. They cannot model certain kinds of logic. Specifically, some processes lend themselves to a “do-while loop,” where some part of the workflow should be repeated until a condition is satisfied or a list of items is worked through. This kind of loop requires a Visual Studio workflow. An additional structure that is supported in Windows Workflow Foundation, but not in no-code workflows, is the state machine workflow, For more information, see Creating SharePoint 2010 State Machine Workflows in Visual Studio 2010.
Table 8. Common scenarios for Visual Studio workflows
|State machines||These workflows are modeled as transitions between states instead of steps that proceed sequentially. This is better for some processes that may not necessarily finalize the order in which the states are organized. These cannot be created using a purely declarative workflow.|
|Looping workflows||Some processes lend themselves to a do-while loop, where some part of the workflow is repeated until a condition is satisfied or a list of items is worked through. This kind of loop requires a Visual Studio 2010 workflow.|
|Complex, integrated system workflows that span multiple systems||These are vast system workflows that integrate various business systems together, using automation technology such Microsoft BizTalk Server. A SharePoint workflow can provide a front-end user interface for complex systems.|
|Advanced exception handling and audit||The built-in history-logging features provide insight into what happens within a workflow. When more particular logging, robustness, and error-handling requirements surface (such as when workflows are used to enable compliance scenarios), the advanced exception handling possible in programmatic workflow may be necessary.|
|Cannot interact with external systems||Without extension, workflows cannot “call out” to other systems. They are limited to operating within the SharePoint environment. When interactions with external systems are required, you should explore BCS or custom activities.|
Let’s add a field for the user to fill out as part of starting the workflow, so create an Initiation Form Parameter, which should be a Single Line of Text and be named Department Name or something similar. Now, when users start the workflow, they will be asked to provide a value for Department Name. We will use that value to create our new document.