WF 100 - SharePoint Designer Workflow: Tips, tricks and best practices 

download WF 100 - SharePoint Designer Workflow: Tips, tricks and best practices 

If you can't read please download the document

  • date post

  • Category


  • view

  • download


Embed Size (px)


WF 100 - SharePoint Designer Workflow: Tips, tricks and best practices . Paul Galvin. Agenda. About Paul and BrightStarr (brief) The Arc of a SharePoint Workflow Project Data entry Processing Dashboards Patterns What are they? What are they important? - PowerPoint PPT Presentation

Transcript of WF 100 - SharePoint Designer Workflow: Tips, tricks and best practices 

BrightStarr Services

WF 100 - SharePoint Designer Workflow: Tips, tricks and best practicesPaul Galvin1Agenda About Paul and BrightStarr (brief)The Arc of a SharePoint Workflow ProjectData entryProcessingDashboardsPatternsWhat are they?What are they important?Discuss business solutions in terms of the Arc and patternsExtending SPD to enlarge its scopeWrap-up

Quick note on this presentationMy laptop doesnt like Denver

Re-created this presentation without any of my demos.

About Paul GalvinMicrosoft MVP since July 2008Working on a book on this very topicPaul Galvin Workflow on Amazon.comWorking with SharePoint since January 2007(MOSS just came out)

Twitter: @pagalvinEmail: galvin.paul@gmail.comBlog:

About BrightStarrFounded in UK in 2005 Microsoft Gold PartnerGlobal reach with offices in USA (Paramus, NJ, Houston, TX) and the UK

Microsoft Competencies

Digital MarketingPortals and CollaborationWeb DevelopmentCustomer Relationship ManagementAs a 100% dedicated SharePoint Company we offer a full range of SharePoint services including:

Infrastructure Architecture and DesignInformation Architecture and Business AnalysisUser Experience and Interaction DesignSharePoint and .NET DevelopmentSharePoint TrainingDedicated SharePoint Support 5Our web site and linksSuccess

SharePoint DesignView our cool wall of

6The Arc of a SharePoint Workflow SolutionRequirements gatheringDefining content typesNaming conventionUse lookup columnsImplement the solutionProvide a dashboard

Avoid:List columnsJumping in without considering the dashboardMyopic requirements gathering(You can always choose to ignore a requirement)Workflow Solutions Extend Beyond SPDSPD is the engineSharePoint as a whole provides the solution platformDont fall into the trap thinking that SPD workflow is all that really matters

HR On-boarding:SPD workflow assigns tasksOtherwise, all the rest is about dashboarding and human intervention when necessary

PatternsAt home, I always put the keys in the same place

Patterns are very importantThey save timeThey ensure that work is done more quickly with high qualityProvide a consistent end user experience

PatternsTwo types of patterns:

Business patternsTechnical patterns

End users see and live with the business patterns

Solution designers use technical patterns to accomplish the task at handCommon PatternsThere mare many, many patterns.

Here are a few:

DelegationAuditingSecurity-relatedTime BankNotifications

Lets dig into a couple of them.DelegationBoth a business and technical pattern

From business side:Tasks are assigned to peoplePeople go on vacation or become unavailable for other unplanned reasons

From technical side:How do you set up delegation?How do you use it?Video and blog to be posted next weekAuditingDont rely upon SharePoint workflow historyIts purged automaticallyIts not easy to report against

Instead:Use a custom listRely upon created timestamp to see sequencingAudit often and frequentlyAlways provide this minimum info: who, what, key value and a link to the base itemVideo / blog entry to follow before end of May Patterns and Business SolutionsWalk through some solutions:Helpdesk TicketingHR Time Off Management

Helpdesk Ticketing - RequirementsCapture the requestTry to automatically assign to someone based on problem typeAuto-assign patternVery similar to delegationIntegrate delegationSecurityOnly IT can see my stuffSelf-serviceEmail notifications at key points during my tickets lifespanMetrics reportingHelpdesk Ticketing - ImplementationCustom list to capture the needBack the list with a content typeFollow a naming convention (HD_) for all site columns and the content type itselfUse SPD or InfoPath to improve the UIUse content approval on the list to implement securityImplement the metrics feeder patternTrack events in a custom list(submitted, who submitted it, how long it was open)Dashboard for self-serviceEmail notification includes a link to search with appropriate keywords

Helpdesk DashboardSharePoint dashboards are easyViews on listsCreate web part pagesAdd the helpdesk request list to the dashboardAdd it multiple timesAdd with different views

HR Time Off Management - RequirementsSecurity is paramount

End users become lawyers when their vacation is being calculated

Time bank patternEveryone has types of available time off

Time Off - ImplementationAs always, custom lists backed with content typesAlways follow a naming convention

Security pattern: Use one list per approving managerContent approval wont be sufficient in this caseThe approving managers direct reports request time via this list

Auditing is especially importantRe-use the same auditing patternLog all requestsLog all dispositions

Workflow updates master timebank.Time Off - DashboardTwo audiencesHR managersIndividual employees

This is a good case for item level security* on the time bank End users can go directly to the time bankItem level security ensures that they cannot see anyone elses timeHR can view everyones time

(*) Item level security ios usually a bad idea

Patterns and SharePoint DesignerBusiness patterns transcend SharePoint DesignerTheres a lot of stuff you want to do with SPD that simply cant be done, or shouldnt be doneIn these cases make a decision:Abandon SPDExtend SPDExtending SPDSharePoint Designer is extensibleCustom activitiesCustom conditions

Implemented using C# code.

Can follow same feature/solution framework as web parts (and other technical artifacts)

Why Bother Extending SPD?Invoicing Story from the old daysHuman beings spending a lot of time doing inappropriate things

Extend SPD so that highly trained/skilled IT resources can spend their time doing the kinds of things that require highly trained and skilled resources

This is not a knock against end users / power users.What does it take to extend SPD?Some strong SharePoint coding skillsA good example upon which to base your first effort (i.e. a pattern)Strong developer can get first custom activity working in a few days (fully tested and deployed)

You should think about extending SPD in the same way that you think about creating a content type its a little harder but really, its no big dealGood Candidates for SPD Custom ActivitiesCalculate next business dayTake company calendar and weekends into account when assigning due dates.

IterationsIterate over all the items in the list

Item level securityWhen content approval isnt good enough

Site GovernanceMiscellaneous tips and tricksXOML files (zommel)Role within the SharePoint workflow framework data to the engineText file that can be edited manuallyBest use richly formatted emailsCreate an email in outlookView sourcePut the source into the right place in the XOML file

Miscellaneous tips and tricksSecurityUse the update workflow variable activity Look up from a secured listEmpty result means that current user does not have access

Secure the list by means of SharePoint users, SharePoint groups and active directory groups

Example: Conditional approval$500 approvers$10,000 approvers$50,000 approvers

SummaryKeep the Arc in mind whenever you sit down to start a new business solutionRequirements (cast a wide net)Implementation, using patternsDashboards for self-service and exceptions managementDiscover and use patterns in your daily routine with SharePoint Designer workflowExtend SPD so that the right people with the right skill sets are doing the most appropriate things at all times

Questions?Pauls contact information:Galvin.paul@gmail.comTwitter:

BrightStarr goodies and business cards