Presentation is loading. Please wait.

Presentation is loading. Please wait.

Intro to Declarative Workflows in SharePoint Daryl Rasmussen, MCSD (.NET), MSTS (Moss 2007), MCSD (SP 2010) Calgary SharePoint Users Group.

Similar presentations


Presentation on theme: "Intro to Declarative Workflows in SharePoint Daryl Rasmussen, MCSD (.NET), MSTS (Moss 2007), MCSD (SP 2010) Calgary SharePoint Users Group."— Presentation transcript:

1 Intro to Declarative Workflows in SharePoint Daryl Rasmussen, MCSD (.NET), MSTS (Moss 2007), MCSD (SP 2010) Calgary SharePoint Users Group

2 Agenda  What is a Workflow?  Applying Workflows in SharePoint  Why Workflow?  Pick a Format  Some Best Practices  What if it “can’t be done”…

3 What is a Workflow?  A set of operations to be performed based on some event  Lists/Libraries support Add & Update event driven WF  In 2010 and beyond, Site Workflows can be scheduled  Either can spawn another workflow  For our purposes today, declarative based (i.e. “no code” solutions)  SharePoint Designer and similar tools  Visio…

4 Applying Workflows In SharePoint  Introduced in MOSS 2007  Extended and Enhanced in SP 2010  New options in SP 2013  Expected to continue to be supported in SP 2016  Works both on premise and on-line (O365 and in Azure)  Available in WSS 3.0 / SharePoint Foundation as well as Enterprise editions

5 Some Limitations:  Not cross-farms, not cross-site collections, generally not cross sites  Lists only in MOSS 2007  Timer bound, not instantaneous  Only one instance per WF at a time  On Add & Update, but not on Delete  Not everything theoretically possible is supported  state based versus sequential workflow  no looping (pre 2013)  no access to external systems, files, etc.

6 Why Workflow?  Business Process Automation  Document Approval – from simple to complex  Employee self-service forms – e.g. Vacation Requests  Annual Policy Acknowledgements  Meta-data assignment – for example based on content type, folder, library or document set location, file type, etc.  Assignment of values to hidden fields – e.g. Title, calculated hyperlinks to related info  More complex calculations / string assignments – there are some things that you can’t do in a calculated column  Notifications – beyond the simple “Alert Me” stuff  Copy data between lists – for security reasons or to implement a drop box  A “No Code” solution – easier to deploy (especially in O365), can be done by power users

7 3 Types:  List Workflow – tied to a specific list or library  Reusable Workflow – a generic one that can be associated with any list or library  Several built in ones created by Microsoft that are installed by default (Collect Feedback, Approval, etc.)  For reusable workflow you can not edit current list custom columns directly. But you can update an item in a specific list (including the current one) by passing current Item ID.  Site Workflows – something that is not associated with any list, but can be scheduled to run periodically.

8 Pick a Format  MOSS 2007 => SharePoint Designer 2007  SharePoint 2010 => SharePoint Designer 2010  SharePoint 2013 => SharePoint Designer 2013 using SP 2013 WorkFlow Engine (if enabled) OR using SP 2010 WorkFlow Engine (enabled by default on prem)  Look at your process needs  2010 has some actions not continued in 2013 (see refs)  2010 lets you “run as” workflow owner, in 2013 you have to  2013 introduced looping, better control of e-mail, “re-usable workflows”, some new actions (see refs)  If it makes no difference, use 2013 format for forward compatibility  Note that you can invoke a SP 2010 workflow from a SP 2013 one…  SharePoint 2016 => TBD, but expect either SPD 2016 will be co-released, or a patch for SPD 2013 will enable it to talk to SP2016  Third Party Tools: K2, Nintex, etc.  Use them if you can, even if you don’t need to, IMHO  Don’t overlook InfoPath: together with WF the two can provide a lot of functionality without code

9 Some Best Practices  Set a Debug flag as the first thing you do  Later if you need to you can introduce “If Debug = True” processing statements  Declare (and initialize) all your variables up front – easier to find (and change initial values) if you don’t have to scroll through pages of rules to find them  Write to the Workflow History Log often  Read who to send notices to from a separate list (so you don’t have to republish your workflow when this changes)  Have both debug and production values for recipients  Break your workflow up into manageable “chunks”  More than a “screen-full” is hard to trace  Name your “chunks” – Step 1 is not meaningful…  Launching another workflow has pros and cons  If you use “run as” option in 2010, create a service account to publish with

10 What if it “can’t be done” declaratively?  Be creative –  If you can’t calculate it, can you keep track of it instead? (ref my blog “You can Count On it!”, parts 1, 2 & 3)You can Count On it!  If you can’t loop, can you launch another wf which in turn launches this one again?  Use the “Call Web Service” action  Exchange.asmx, other existing services  Write one of your or own for just that bit  On Prem, you may have more options:  Download and install the HarePoint WorkFlow Extensions 30 day trial version  Includes about 20 actions for free for ever, including much better than the built-in SPD string manipulations  Purchase a 3 rd Party Add On that gives you an Action you are missing and need  Write your own WorkFlow Action in Visual Studio for just that one bit…  Take a look at the “Run Powershell Script” action from HarePoint  If all else fails, write the whole thing in.NET

11 Using Visio to create the WF  Allows you to set up the “flow” but not the details. For example, there’s a shape for “Send E-Mail” but no way in Visio to set the properties like the subject, body, recipients  So you still have to use SPD to complete it

12 References/Discussion  Discontinued Actions in SPD 2013: https://msdn.microsoft.com/en- us/library/office/jj728659.aspxhttps://msdn.microsoft.com/en- us/library/office/jj728659.aspx  New Workflow Actions in SPD 2013: https://msdn.microsoft.com/en- us/library/office/jj163177.aspxhttps://msdn.microsoft.com/en- us/library/office/jj163177.aspx  Get a value from another list based on a value in this workflow (lookups): http://www.sharepointassist.com/2009/05/09/handling-lookup-columns-in- a-sharepoint-designer-workflow/ http://www.sharepointassist.com/2009/05/09/handling-lookup-columns-in- a-sharepoint-designer-workflow/  Create a workflow with elevated permissions by using the SharePoint 2013 Workflow platform: https://msdn.microsoft.com/en-us/library/jj822159.aspxhttps://msdn.microsoft.com/en-us/library/jj822159.aspx  How to Start a SharePoint 2010 Workflow Within a SharePoint 2013 Workflow Using SharePoint Designer 2013: http://www.c- sharpcorner.com/UploadFile/anavijai/how-to-start-a-sharepoint-2010- workflow-within-a-sharepoint/http://www.c- sharpcorner.com/UploadFile/anavijai/how-to-start-a-sharepoint-2010- workflow-within-a-sharepoint/

13 Some Vendors…  KwizCom Workflow Activity Toolkit KwizCom Workflow Activity Toolkit  HarePoint Workflow Extensions HarePoint Workflow Extensions  Virto SharePoint Workflow Activities Extensions Virto SharePoint Workflow Activities Extensions  K2 K2  Nintex Nintex  Don’t be afraid to check Google for more options…Google

14 Thanks!  Reaching Me:  www.linkedin.com/in/drasmu  drasmu@shaw.ca drasmu@shaw.ca


Download ppt "Intro to Declarative Workflows in SharePoint Daryl Rasmussen, MCSD (.NET), MSTS (Moss 2007), MCSD (SP 2010) Calgary SharePoint Users Group."

Similar presentations


Ads by Google