Read an Excerpt
Professional Workflow in SharePoint 2010Real World Business Workflow Solutions
By Paul J. Galvin Udayakumar Ethirajulu Chris Beckett Peter Ward Mark Miller
John Wiley & SonsCopyright © 2011 John Wiley & Sons, Ltd
All right reserved.
Chapter OneIntroduction to SharePoint 2010 Workflow
SharePoint 2010 is an exciting technology platform that continues to deliver the promise that Microsoft made with its earliest commercial version, SharePoint Team Services (STS) in 2001. A lot of people in the industry are excited by the product's new technical features (including the authors!) but the real power of the product shouldn't be reduced down to a spreadsheet showing new or upgraded features. Instead, SharePoint 2010, like its predecessors, provides a powerful platform on which skilled technologists can deliver business value and solutions to your customers, your fellow employees, your trading partners, and indeed, almost anyone you can imagine. This book can help you become one of those skilled technologists.
SharePoint has always been like this. STS made this promise in 2001 by focusing on providing basic document sharing and collaboration features primarily for departments. WSS 2.0 and SharePoint Portal Server 2003 expanded this to be enterprise-capable; although, it still had a long way to go. WSS 3.0 and Microsoft Office SharePoint Server (MOSS) extended this even further and represented a leap forward in scalability, functionality, technical extensibility, and overall suitability for solving business problems.
And now you have SharePoint 2010, which delivers even more on the promise, and in many respects, for the first time, the product is truly accessible to the large number of nontechnical users — power users, hands-on business analysts, and site administrators — that form the backbone and embody every company's core competency. A successful car franchise once ran a summertime advertisement with the tag line, "If you can sign your name, you can buy a car!" If Microsoft asks, the authors would suggest a similar tagline, "If you can use a web browser, you can create your own business solution!"
Thousands of organizations learned the truth of this as they rolled out Windows SharePoint Services 3.0. WSS frequently started as a department-level proof of concept (POC). Installed by the IT department, it was quickly handed off to a departmental-level power user to "play around with." Suddenly, IT learned that the little POC had turned into a mission-critical application while they had eyeballs on another, more elaborate project. SharePoint generated a large and varied following, and other departments clamored for the functionality. As you read this book, you can understand that if WSS 3.0 were that successful, you haven't seen anything until you've seen SP 2010.
EXPANDING THE CIRCLE OF TRUST
And so the world finds itself with this interesting and relatively new thing under the sun: a highly advanced technical system that does not require an army of well-trained IT workers to properly use. This isn't to say that your army of well-trained IT resources will find themselves with nothing to do. Far from it! This is discussed in greater detail in the book's final chapters, and indeed, each chapter describes opportunities for advanced technical work. But that doesn't change that suddenly, almost anyone can sit down at a computer, fire up a web browser, point it at an SP 2010 environment, and create nontrivial applications with no coding whatsoever.
Different people will take this in their own personal way. Power users will rejoice for a variety of reasons. These users, typically highly dedicated and on the fast track to increasing levels of responsibility and influence in the company (or leaving for bigger and better opportunities elsewhere), can take matters into their own hands. They know the problems they face. Now they have a tool and platform that empowers them to solve those problems.
IT people may take a different position. Classically trained computer scientists are frankly going to quail at the prospect of untrained, albeit smart, users creating business applications. The authors concur, and that concern gets right to the heart of the problem and one that this book aims to solve.
It is literally true that some CIOs regret bringing SharePoint into their environment. They regret it for the simple reason that they can't effectively control what is happening with the platform. They see the formula for this as something like the following:
Easily configurable environment (SharePoint) + Untrained Power User = Confusing Mess
Actually, their math is 100% accurate. And it's even worse than that. SharePoint projects and implementations managed by highly trained IT people, following tried-and-true development processes, still create confusing messes with SharePoint. The SharePoint technical community (including the authors of this book) has responded with an explosion of articles, blogs, books, and conferences to define "best practices" for SharePoint. These range from best practices around governance, best practices around development, best practices around implementation for scalability, best practices for Internet facing sites with content management, and even best practices for documenting best practices. (That last is only half in jest.)
SP 2010 is the new kid in town, and it's bending, stretching, and in many cases throwing out the old rules altogether. SP 2010 platform features and enhancements over MOSS extend SharePoint's sphere of influence in many ways. Power users and other nontraditional application builders are entering the field of battle, so to speak, and they have a lot to learn if they want to avoid getting bogged down in a SharePoint quagmire. In this book, we strive to fill the gap between accepted best practices for MOSS and the new territory in which organizations shall soon find themselves with SP 2010. This book provides reliable information that these new application builders can use to create comprehensive, stable, and most important, effective solutions that solve business problems. How is this done? By break things down into three parts:
* Business patterns
* Technical patterns
* Real-world examples that illustrate business and technical patterns.
Now consider each in turn.
What does the word, pattern, mean in the context of a book on SharePoint workflow? It boils down to the old clich: If you've seen it once, you've seen it a thousand times. This book includes almost a dozen real-world business scenarios. However, it doesn't dive deeply into more than a tiny fraction of the business and technical problems you'll face on a regular basis in your job (although those scenarios are common and valuable in their own right). But, if this is all that is offered, it would hardly be worth your time. This problem can be solved by focusing on patterns as much or more than focusing on the individual business problem.
This book outlines and explains specific business solutions, which serve as a single example of an entire class of similar business problems. Chapter 6, "Interview Scheduling," as its name implies, explains how to implement an interview scheduling system in SP 2010. However, after you've seen this problem solved once, you can use this technique to solve a wide array of resource scheduling business problems, such as conference room scheduling.
There's nothing new in computer science about patterns. Microsoft, Oracle, HP, and university scientists across the globe have defined various patterns. They are defined by and for their fellow technologists and as a result are inaccessible to the rising new crop of activist users in the SP 2010 world. In response, the authors define a set of business-oriented patterns with you in mind. Business Patterns
The book's chapters walk you through the process to create a solution for about a dozen business problems. These problems show you how to identify a problem and apply the correct business pattern to solve it. In these chapters, you learn about the following business patterns:
* Time Bank: The time bank pattern describes how to manage limited resources, such as allocated time off for an employee. A typical employee in the United States is offered 2 weeks (80 hours) vacation per year. The time bank pattern helps you use SharePoint workflow to control access to that time and ensure that it's properly managed as it's consumed. More broadly, it addresses the category of business problems that have this nature. * Simple and multilevel approval: Many business solutions require an approval mechanism. This pattern explains how to think about approvals from a management and maintenance perspective.
* Routing: Frequently working with approval patterns, the routing pattern explains how to move the ball from one person to the next. That may mean identifying the sequence of approvers for a given request, or it may be as simple as assigning work to a series of individuals to complete a project.
* Reminders: In the real world, stuff has to get done, and it has to get done fast. The reminders pattern helps keep everyone on task by reminding busy people of pending obligations.
* Checklist: Many business processes are checklist-driven. For example, people fill out online forms to join an organization. The organization needs to vet these people before enrolling them as full members. The vetting process includes a reference check, validating professional credentials, and other tasks. The checklist pattern ensure that the process tracks the vetting process and provides a single authoritative source of status information.
* KPI Feeder: Key performance indicators (KPIs) provide a great visual to a business process — what's going well, what's going poorly, and what's heading toward disaster? To work well, KPIs need data upon which to report. The KPI feeder pattern ensures that your business solutions provide the raw data upon which KPIs are built.
* Anonymous users: SharePoint provides a lot of functionality that works well for employees and trusted partners. You can also create business solutions targeted at anonymous users. To provide solutions for anonymous users, you need to address security and overall processing issues that SharePoint solves automatically for named users. This pattern helps you address them early and rigorously.
* Security: There isn't only one business pattern for security. You infuse security throughout your solutions. The business solution chapters explain the need for security and how to think about security in the context of the specific solution.
* Mobile Interface: This pattern identifies both when it's appropriate to provide a mobile interface and second, when it's technically feasible to do so. SharePoint 2010 is better than any other SharePoint platform as far as mobile options go, but it's still relatively limited.
* Delegation: The delegation pattern recognizes the reality of real-life schedules. Many business processes assign tasks to people or request approval dispositions. If that person is on vacation, the task may miss its due date, causing difficulties for all concerned. The delegation pattern identifies and provides a solution for this problem.
Technical patterns describe the work you do "under the covers," so to speak. There isn't a clear business purpose for it, but it lives in service to the business solution it supports. The book's technical patterns provide answers to questions such as "How do I embed a hyperlink into the body of an email I send from my workflow?"
* Simple approval: How do you find the current user's manager? How do you assign a task to that manager and receive the response?
* Multilevel and variable approvals: Picking up from simple approval, how do you create multiple approvals serially or in parallel?
* Time Bank: How do you find time bank records? How do you increment, decrement, and execute other operations against them? How do you use the time bank to approve, deny, or otherwise affect the workflow process?
* Dashboards: What kinds of dashboards can you create with SharePoint 2010? How do you feed a dashboard with content, both in terms of design (making sure you generate the raw data needed to create an effective dashboard) and implementation (what content types, lists, and key values make up the dashboard)? * Rich content in emails: How do you create an email message that contains rich formatting and lots of great contextual information that helps your fellow employees and managers make quick and correct decisions?
* Dates and times: How do you manipulate dates and work with them in SharePoint Designer workflow?
* Document sets: How can you use document sets and manipulate them and their metadata?
* Auditing: Similar to dashboards, how do you ensure you produce long-lived audit trails that link back to original data sets, provide good context and serve as reliable data sources for audit reports?
* Delegation: How do you implement delegation using SharePoint Designer workflow?
What's New in SharePoint 2010 Workflow
At this point, the authors want to make a point about what this book is not: It's not a survey of SharePoint workflow features. It covers a lot of SharePoint workflow, both from a SharePoint Designer perspective and Visual Studio perspective. However, every specific feature that a chapter covers is done purely in service to the business problem that the chapter solves. You won't find a chapter devoted to state machines or a chapter devoted specifically to site workflows. You learn about these things in the book, but always in the context of a business problem. That said, you probably want to hear about "What's new in SharePoint 2010?" Like the newly minted Don Corleone, you can ask the question once — just this one time — and we will answer it.
SharePoint 2010 enhanced SharePoint Designer workflow in the following key ways:
* Transportability: If you've lived in the SharePoint 2007 world for a while (MOSS or WSS, or even earlier) you know about SharePoint Designer's many frustrating limitations. Well, there's good news in SharePoint 2010: Many of those limitations have been removed or at least their impact muted. For starters, SharePoint Designer workflows can now be moved around from list to list. In WSS/MOSS, your workflows were tied to a specific SharePoint list, and if you wanted to reuse the same workflow in another list, you had to rekey the whole thing from scratch. Thankfully, Microsoft addressed this problem. This is the single-most important enhancement from a workflow perspective because it enables activist users to follow change control procedures that were impossible before.
* Scope: SharePoint Designer workflows used to be confined to specific lists. Now you can create a workflow by connecting it to a content type. If you understand content types, you understand the implications of this feature. It means that you can reuse the workflow anywhere you can use that content type. Beyond content types, you can create workflows at the site level. You don't even need a SharePoint list or content type to do it.
* Security: In the past, using SharePoint Designer was an all-or-nothing affair. And because SharePoint Designer in the wrong hands is rightfully called "SharePoint Destroyer," many IT departments disabled it altogether. As a result, activist users who could be trusted to use the tool were punished for the sins of their less careful co-workers. Microsoft added some granularity to SharePoint Designer , which should go a long way toward allaying its concerns and allowing activist users to jump in and use it.
This book is about building solutions using SharePoint's tools and primarily using SharePoint workflow. It's not a reference manual, but by working within the context of real-world business problems, it can be more valuable and provide a better learning experience than a cut-and-dry reference book.
Enough said. It's time to start with the basics in anticipation of your first real-world business problem.
Excerpted from Professional Workflow in SharePoint 2010 by Paul J. Galvin Udayakumar Ethirajulu Chris Beckett Peter Ward Mark Miller Copyright © 2011 by John Wiley & Sons, Ltd. Excerpted by permission of John Wiley & Sons. All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.