310 likes | 502 Views
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?
E N D
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 Microsoft Competencies Digital Marketing Portals and Collaboration Web Development Customer Relationship Management • Founded in UK in 2005 • Microsoft Gold Partner • Global reach with offices in USA (Paramus, NJ, Houston, TX) and the UK • 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 designswww.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