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

Post on 25-Feb-2016

71 views 2 download

Tags:

description

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 

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?

• Discuss business solutions in terms of the Arc and patterns

• Extending SPD to enlarge its scope• Wrap-up

Quick note on this presentation

My laptop doesn’t like Denver

Re-created this presentation without any of my demo’s.

About Paul Galvin

• Microsoft MVP since July 2008• Working on a book on this very topic

• “Paul Galvin Workflow” on Amazon.com

• Working with SharePoint since January 2007(MOSS just came out)

• Twitter: @pagalvin• Email: galvin.paul@gmail.com• Blog: www.mstechblogs.com/paul

About BrightStarr

• Founded in UK in 2005 • Microsoft Gold Partner• Global reach with offices in USA

(Paramus, NJ, Houston, TX) and the UK

Microsoft Competencies

Digital MarketingPortals and CollaborationWeb DevelopmentCustomer Relationship Management

As a 100% dedicated SharePoint Company we offer a full range of SharePoint services including:

• Infrastructure Architecture and Design• Information Architecture and Business Analysis• User Experience and Interaction Design• SharePoint and .NET Development• SharePoint Training• Dedicated SharePoint Support

Our web site and links

• Success Stories• www.brightstarr.com/US/Pages/Success-Stories.aspx

• SharePoint Design• View our cool wall of designs

www.brightstarr.com/US/Pages/SharePoint-Design.aspx

The Arc of a SharePoint Workflow Solution

• Requirements gathering• Defining content types

• Naming convention• Use lookup columns

• Implement the solution• Provide a dashboard

• Avoid:• List columns• Jumping in without considering the dashboard• Myopic requirements gathering

• (You can always choose to ignore a requirement)

Workflow Solutions Extend Beyond SPD

• SPD is the engine• SharePoint as a whole provides the solution platform• Don’t fall into the trap thinking that SPD workflow is all

that really matters

• HR On-boarding:• SPD workflow assigns tasks• Otherwise, all the rest is about dashboarding and human intervention

when necessary

Patterns

• At home, I always put the keys in the same place

• Patterns are very important• They save time• They ensure that work is done more quickly with high

quality• Provide a consistent end user experience

Patterns

Two types of patterns:

• Business patterns• Technical patterns

End users see and live with the business patterns

Solution designers use technical patterns to accomplish the task at hand

Common Patterns

There mare many, many patterns.

Here are a few:

• Delegation• Auditing• Security-related• Time Bank• Notifications

Let’s dig into a couple of them.

Delegation

Both a business and technical pattern

From business side:• Tasks are assigned to people• People 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 week

Auditing

Don’t rely upon SharePoint workflow history• It’s purged automatically• It’s not easy to report against

Instead:• Use a custom list• Rely upon “created” timestamp to see sequencing• Audit often and frequently• Always provide this minimum info: who, what, key value

and a link to the base item• Video / blog entry to follow before end of May

Patterns and Business Solutions

Walk through some solutions:• Helpdesk Ticketing• HR Time Off Management

Helpdesk Ticketing - Requirements

• Capture the request• Try to automatically assign to someone based on

“problem type”• Auto-assign pattern• Very similar to delegation

• Integrate delegation• Security

• “Only IT can see my stuff”

• Self-service• Email notifications at key points during my ticket’s lifespan

• Metrics reporting

Helpdesk Ticketing - Implementation

• Custom list to capture the need• Back the list with a content type

• Follow a naming convention (“HD_”) for all site columns and the content type itself

• Use SPD or InfoPath to improve the UI

• Use content approval on the list to implement security• Implement the metrics feeder pattern

• Track events in a custom list• (submitted, who submitted it, how long it was open)

• Dashboard for self-service• Email notification includes a link to search with

appropriate keywords

Helpdesk Dashboard

SharePoint dashboards are easy• Views on lists• Create web part pages• Add the helpdesk request list to the dashboard

• Add it multiple times• Add with different views

HR Time Off Management - Requirements

• Security is paramount

• End users become lawyers when their vacation is being calculated

• Time bank pattern• Everyone has types of available time off

Time Off - Implementation

• As always, custom lists backed with content types• Always follow a naming convention

• Security pattern: Use one list per approving manager• Content approval won’t be sufficient in this case• The approving manager’s direct reports request time via this list

• Auditing is especially important• Re-use the same auditing pattern• Log all requests• Log all dispositions

• Workflow updates master timebank.

Time Off - Dashboard

Two audiences• HR managers• Individual employees

This is a good case for item level security* on the time bank

• End users can go directly to the time bank• Item level security ensures that they cannot see anyone

else’s time• HR can view everyone’s time

• (*) Item level security ios usually a bad idea

Patterns and SharePoint Designer

Business patterns transcend SharePoint Designer• There’s a lot of stuff you want to do with SPD that

simply can’t be done, or shouldn’t be done• In these cases make a decision:

• Abandon SPD• Extend SPD

Extending SPD

SharePoint Designer is extensible• Custom activities• Custom 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 days• Human 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 skills• A 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 – it’s a little harder but really, it’s no big deal

Good Candidates for SPD Custom Activities

• Calculate “next business day”• Take company calendar and weekends into account when assigning

due dates.

• Iterations• Iterate over all the items in the list

• Item level security• When content approval isn’t good enough

• Site Governance

Miscellaneous tips and tricks

XOML files (“zommel”)• Role within the SharePoint workflow framework – data

to the engine• Text file that can be edited manually• Best use – richly formatted emails

• Create an email in outlook• “View source”• Put the source into the right place in the XOML file

Miscellaneous tips and tricks

• Security• Use the update workflow variable activity • Look up from a secured list• Empty 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

Summary

• Keep the Arc in mind whenever you sit down to start a new business solution• Requirements (cast a wide net)• Implementation, using patterns• Dashboards for self-service and exceptions management

• Discover and use patterns in your daily routine with SharePoint Designer workflow

• Extend SPD so that the right people with the right skill sets are doing the most appropriate things at all times

Questions?

Paul’s contact information:• Galvin.paul@gmail.com• Twitter: @pagalvin• www.mstechblogs.com/paul

• BrightStarr goodies and business cards