230 likes | 427 Views
Overview and Demonstration of declarative workflows in SharePoint using Microsoft SharePoint Designer 2007. Basic Declarative Workflows. Kevin Hughes MCT, MCITP, MCSA, MCTS, MCP, Network+, A+, ITIL SharePoint Architect Kevin@SharePointKevin.com http://www.sharepointkevin.com.
E N D
Overview and Demonstration of declarative workflows in SharePoint using Microsoft SharePoint Designer 2007 Basic Declarative Workflows Kevin Hughes MCT, MCITP, MCSA, MCTS, MCP, Network+, A+, ITIL SharePoint Architect Kevin@SharePointKevin.com http://www.sharepointkevin.com
Workflow Basics • A SharePoint workflow is the automated movement of documents or items through a sequence of actions or tasks that are related to a business process • Enables the organization to attach business logic to documents or items in a SharePoint list or library. • Can streamline the cost and time required to coordinate common business processes
Buying an item in a store • When you buy an item, you need to: • find correct item • take item to counter • receive the price from attendant • decide between credit card or cash • if cash: • give appropriate amount to attendant • receive any change • verify change • pocket change • if credit card: • give credit card to attendant • receive receipt for signature • verify amount • sign receipt • return receipt to attendant • put pen in pocket • retrieve item, and run before the attendant notices the missing pen
SharePoint Workflow Basics • Allow automation of many business processes • Can work with many SharePoint components • OOTB workflows have limitations • Conditional logic is NOT supported • Can not look up site data • Little ability to route tasks
Declarative Workflows • Declarative means • Follows a pre-defined process model where all specifications, conditions and actions are defined within the workflow. • Relies on known and predictable circumstances • The websvcWebPartPages Web Service in Windows SharePoint Services contains methods that enable a declarative rules-based, code-free workflow editor, such as Office SharePoint Designer 2007, to create workflow templates and associate them with specific SharePoint lists. • Defined entirely in Extensible Application Markup Language (XAML)
Files and Storage • For a given site, declarative workflows must be stored in a site-level document library called Workflows. • Files: • Workflow markup (.xoml) file • Rules file • Workflow configuration file • Any .aspx forms needed, such as initiation forms (for workflows that are started manually) or custom task forms • The files for each declarative workflow must be stored in a separate folder in the Workflow document library.
Benefits • Write workflow logic more advanced than OOTB templates • Create rules that associate conditions and actions with items in SharePoint lists and libraries • Use conditions to allow branching workflow paths • Manipulate list items or list data • Automatically generates necessary, customizable, forms • No-Code required
Limitations • Security Context – Always run in the context of the user account which “owns” the workflow. • Can NOT be defined for Content Types • Must be attached to specific list/library • Can NOT be triggered by “System Account” • Can NOT be triggered by list items submitted via Email • Fixed in SP2 to allow STSADM command to set this property • “stsadm.exe –o setproperty –propertynamedeclarativeworkflowautostartonemailenabled –propertyvalue yes” • Uses “default” Task list – may not be the one you think
Building Blocks • Events • Conditions • Actions
Events • What starts or initiates a workflow • An item is created. • An item is changed. • A workflow participant clicks a start button on the SharePoint site.
Conditions • Rules that apply conditional logic to SharePoint lists and items • Rules establish a condition where the workflow performs the associated action only if that condition is true • Associated with one or more actions: If all clauses in the condition are true, do all the associated actions
Conditions • SPD 2007 provides several ready-made, reusable conditions • Is created or modified in a specific time span. • Is created or modified by a specific person. • Has a title field that contains specified keywords. • Is a file of a specific type or has a file size in a specific range. (Available only when the workflow is attached to a document library.)
Actions • Most basic unit of work in a workflow • SPD 2007 provides a set of ready-made, reusable actions • Create, copy, change, or delete list items (including documents). • Check items in or out. • Send an e-mail message. • Create a task for someone on the Tasks list of your team site. • Collect data from a participant that can be referenced later in the workflow. • Pause or stop the workflow. • Log workflow information to a History list to use for repudiation or workflow debugging. • Set workflow variables or perform calculations.
Actions • Workflows may contain any number of actions • Not all actions in a workflow may be automated • An action does not require a condition • Actions can be set up to run at the same time (parallel) or one after another (serial)
Actions: Parallel vs. Serial • Parallel – All actions “fire” at the same time • Serial – One action must complete before the next one begins • In any given rule (conditions and actions), all actions must be either serial or parallel • A set of serial or parallel actions must be contained within a single step
Steps • A workflow is comprised of one or more steps • Each step can contain any number of actions and associated conditions • Steps allow you to group conditions and actions so that one set of rules (conditions and actions) can be evaluated and performed before a second set • Rules in one step are processed to conclusion before going on to the next step • Each step can hold one set of 'Else If' conditional branches
Workflow Forms • Make workflow more dynamic and flexible • Collect information from workflow participants at predefined times in the workflow • Make it possible for participants to interact with the tasks for that workflow • Two types of workflow forms • Initiation Form • Custom Task Form • SPD 2007 automatically generates the ASP.NET forms, you can customize them. • Workflow forms are ASP.NET pages with a Data Form Web Part and a master page applied to it. • The .aspx files are stored on the SharePoint site with the workflow source files. • You can open and customize these forms as you would any other .aspx file
Initiation Form • Gathers information from the workflow participant when they start the workflow • Displayed to users when they manually start a workflow on a given SharePoint item • Users can specify additional parameters or information about the workflow as it applies to the given SharePoint item
Custom Task Form • Allows workflow participants to interact with tasks in the Tasks list on a SharePoint site • Custom Task Wizard - create custom form fields and add them to a custom task form
Before you begin… • Make any necessary changes or customizations to your site, list, or library • A workflow is always attached to exactly one SharePoint list or library • Site must have at least one list or library before you create a workflow • Must create custom columns or settings before you create the workflow so that those columns and settings are available to you in the Workflow Designer • Turn on desired features before you design the workflow • Same version of the Workflow Foundation must be installed on both your computer and the server
Demonstration SharePoint Designer Workflows http://www.sharepointkevin.com/wfdemo/Lists/Active%20Projects/AllItems.aspx
Pitfalls • Infinite Loops – BAD! • A workflow that starts when an item is changed should never change an item in the list to which it is attached • A workflow that starts when an item is created should never create an item in the list to which it is attached • Recursive firing is possible • No data in the list item is changed until the workflow is complete