SharePoint 2007: Workflow and Digital Forms Neil Iversen Inetium Overview • SharePoint Crash Course • Collecting Data – SharePoint Lists – InfoPath – Mobile • Workflow – Out of the Box Workflows – SharePoint Designer – Visual Studio Workflow • Putting It All Together • Questions SharePoint 2007 Crash Course • • • • • • Business Intelligence Collaboration Portal Search Content Management Business Forms Business Intelligence Collaboration Portal Search Content Management …and Business Processes Forms • Or How Do I Collect Things? • Collect discrete user data • Not major data collection – Not your GL System SharePoint Lists • • • • Easy to create Good for simple data Limited UI options Supports Mobile Data Access Demo: Using SharePoint Lists Introducing InfoPath • • • • Separate form editing application Simple Drag-and-drop experience Forms are stored in XML Multiple Storage Options – – – – SQL Database Web Service File System SharePoint List Demo: Basic InfoPath Key InfoPath Features • • • • • • • • Web capabilities Mobile capabilities Integration with Outlook Word and Excel conversion Template Parts Multiple deployment options Connection to workflow Document Information Panel (DIP) InfoPath – Getting Some Motion • Validation – Create custom validation scenarios • Formulas – Compare Fields – Perform mathematical functions • Views – Different layouts possible – Still based on the same data – Not all fields need to be displayed Demo: InfoPath and Real Forms Web Based Forms • Fill out forms via the web • InfoPath Client NOT required • .NET code-behind supported • Requires publishing to forms server • Smart Client Only Features: • Some Controls • Filters, Roles, ADO Adapter • Some Script, Custom Task Panes InfoPath – Enabling Web Forms • Compatibility Checker • • • Checks for feature compatibility Browser checker AND InfoPath 2003 compatibility InfoPath and Mobile • Support for mobile browsers InfoPath and Office – The DIP • InfoPath fragment usable inside of Office • Facilitates metadata entry • Associate InfoPath form with a content type • Associate a content type with a document library • New documents will contain the custom DIP InfoPath and Outlook • • • • Yet another way to see forms! InfoPath Forms Folders Published columns show up in Outlook Form is embedded in Outlook InfoPath – Connecting to the Outside World • Can be connected to multiple data sources – – – – Web Service SQL Database Xml Document SharePoint List • Pull in dynamic data • Connection Library – Uses Office Data Connection – SharePoint can host many connections Extending InfoPath • Web Service Calls to LOB data – Ability to use familiar development tools • JScript coding – Easy to deploy in InfoPath client – Lacks the power of .NET • .NET Code Behind – Full .NET connectivity – More difficult to deploy – Visual Studio and Source Control issues Demo: External Data in InfoPath Break We’ve collected all this data…now what? • Workflow! • SharePoint 2007 – Perform actions against the collected data – Gather additional data – Workflow is linked at the List/Library or Content Type level Basic Workflow Capabilities • Ability to start a workflow – Workflows can be automatically as well started • Visibility into running workflows • Collection of historical workflow data – Status of approval, errors,… • Stop (or Terminate) a running workflow • Tight integration with Office Understanding The Workflow Timeline • Association – When a workflow is associated with a list – Data can be associated with the workflow • Initiation – When the workflow is first started on a list item – Data can be associated with the instance of the workflow • Running – Status page reflects state of the workflow – User primarily interacts via Tasks • Termination – End an instance of a workflow • Remove Association Structured Workflow – Different Approaches Visual Studio and Workflow SDK SharePoint Designer Workflows LOB Integration (BizTalk) Purchase Order Processing Custom Tracking Apps Service Requests Asset Tracking Document Processes Spec Review Weekly Status Report Custom Form Actions Email Notification Exception Handling Server Features (parallel) Out-of-the-Box Solutions (with customization) List Moderation Publishing Process Document Expiration Translation Process Ringi (eApproval) Document Approval Task & Issue Tracking (WSS, Access, & Project) (serial) Signature Collection Custom Routing Ad Hoc Document Review Workflows – Out of the Box (MOSS) • Lists and Libraries – – – – Approval Collect Feedback Collect Signatures Disposition Approval • List – All above and – Three State (formerly Issue Tracking) – Translation Management Demo: Our First Workflow OOB Workflows – Main Limitations • Limited options to change – Very powerful and well designed, but only if you need a similar scenario • Dynamic User Assignment is difficult – Hard to use if different instances need different ‘approvers’ Structured Workflow – Different Approaches Visual Studio and Workflow SDK SharePoint Designer Workflows LOB Integration (BizTalk) Purchase Order Processing Custom Tracking Apps Service Requests Asset Tracking Document Processes Spec Review Weekly Status Report Custom Form Actions Email Notification Exception Handling Server Features (parallel) Out-of-the-Box Solutions (with customization) List Moderation Publishing Process Document Expiration Translation Process Ringi (eApproval) Document Approval Task & Issue Tracking (WSS, Access, & Project) (serial) Signature Collection Custom Routing Ad Hoc Document Review SharePoint Designer 2007 • • • • Formerly Front Page 2003 Designed with SharePoint in mind Allows users to create new workflows Associate workflow to a list or library Demo: SharePoint Designer SharePoint Designer Workflow – Main Limitations • Limited set of actions – New actions can be added, but not UI elements • Not Redeployable – Locked to the list instance they were created on Structured Workflow – Different Approaches Visual Studio and Workflow SDK SharePoint Designer Workflows LOB Integration (BizTalk) Purchase Order Processing Custom Tracking Apps Service Requests Asset Tracking Document Processes Spec Review Weekly Status Report Custom Form Actions Email Notification Exception Handling Server Features (parallel) Out-of-the-Box Solutions (with customization) List Moderation Publishing Process Document Expiration Translation Process Ringi (eApproval) Document Approval Task & Issue Tracking (WSS, Access, & Project) (serial) Signature Collection Custom Routing Ad Hoc Document Review Custom .NET Workflow • Bring in the Reinforcements! • You are here because: – – – – – Default Flows might lack specific feature SharePoint designer missing action Custom data or actions needed Existing Windows Workflow investment Expose the full power of .NET • Word of Warning – There is a steep learning curve Custom .NET Workflow – The Platform • Windows Workflow Foundation • Its not just a SharePoint Platform – Built into .NET 3.0 Workflow – Platform Implications • Workflow now a core .NET feature – Workflow can be ‘hosted’ anywhere – SharePoint is Microsoft’s first host • Custom applications can host it as well • Standardized Format – XML based file format (XOML) • Widespread Availability SharePoint Designer 2007 Visual Studio 2005 Designer for Windows Workflow Can write workflows for Windows SharePoint Services or SharePoint Server Can write workflows for Windows SharePoint Services or SharePoint Server Workflow is authored against and data-bound to specific list at design time Workflow is authored as a template, which can be associated with multiple sites and lists Workflow markup, workflow rules, and supporting file are stored, uncompiled, in a specific document library on the site Workflow markup file, or markup and code-behind files, are compiled into workflow assembly Automatically generates ASP.NET forms, which you can then customize Can use any forms technology. For example, ASP forms for Windows SharePoint Services workflows, or InfoPath forms for SharePoint Server workflows InfoPath forms integration not available Can use custom symmetrical InfoPath forms, which enables Office client integration of custom workflow forms Must use activities provided Can author custom activities for inclusion in workflows Automatically handles deployment to specific list Package workflow assembly and workflow definition as a SharePoint feature, and deploy to the site Can author only sequential workflows Can author both sequential and state workflows .NET Workflow – Easing into it • Workflows can be packaged into Features • Custom Actions can be created for SharePoint Designer • 3rd Party Support – K2, Skelta, Nintex Demo: Visual Studio Workflow Workflow – Who’s responsible for What? In Review • Forms – SharePoint Lists – InfoPath • Client • Web • Workflow – – – – OOB Flows SharePoint Designer Custom Workflow (Visual Studio) 3rd Party Break Questions? Thanks! Please Fill Out Evals Neil Iversen Inetium