CONTENTS

Chapter 1: Introduction To Sharepoint 2010 Workflow

Expanding the Circle of Trust

Patterns

Conclusion

Chapter 2: Workflow Basics

Getting Started

Concepts and Definitions

Designing Business Solutions

Knowing SharePoint Designer’s Limits

Summary

Chapter 3: Hr On-Boarding

What Is the HR On-Boarding Process?

Problem Class

Technical Patterns

Business Patterns

Business Problem Description

High-Level Solution

Detailed Technical Implementation

Advanced Topics

Summary

Chapter 4: Helpdesk Ticketing

What Is the Helpdesk Ticketing Process?

Problem Class

Technical Patterns

Business Patterns

Business Problem Description

High-Level Solution

Detailed Technical Implementation

Summary

Chapter 5: Time Off Management

What Is the Time Off Management Process?

Problem Class

Technical Patterns

Business Patterns

Business Problem Description

High-Level Solution

Detailed Technical Implementation

Summary

Chapter 6: Interview Scheduling

What Is the Interview Scheduling Process?

Problem Class

Technical Patterns

Business Patterns

Business Problem Description

High-Level Solution

Detailed Technical Implementation

Summary

Chapter 7: Facilities Management

What Is the Facilities Management Process?

Problem Class

Technical Patterns

Business Patterns

Business Problem Description

High-Level Solution

Detailed Technical Implementation

Summary

Chapter 8: Enterprise: Authorization For Capital Expenditure

What Is Authorization for Capital Expenditure?

Problem Class

Technical Patterns

Business Patterns

Business Problem Description

High-Level Solution

Detailed Technical Implementation

Summary

Chapter 9: Marketing Contact Management

The Anonymous Contact Us Form

Problem Class

Technical Patterns

Business Patterns

Business Problem Description

High-Level Solution

Technical Implementation Overview

Detailed Technical Implementation

Summary

Chapter 10: R&D Gateway Process

What Is the R&D (Research and Development) Gateway?

Problem Class

Technical Patterns

Business Patterns

Business Problem Description

High-Level Solution

Detailed Technical Implementation

Summary

Chapter 11: Enhancing The User Interface

How to Build Great User Interfaces

Enhancement Techniques in Detail

Summary

Chapter 12: Custom Activities

The What, Why, and How of Custom Activities

The Business Scenario

Technical Overview

Detailed Walk-Through: Create a Custom Activity

Advanced Topics

Summary

Chapter 13: Site Governance

What Is Site Governance?

Problem Class

Technical Patterns

Business Patterns

Business Problem Description

High Level Solution

Technical Implementation Overview

Detailed Technical Implementation

Summary

Introduction

Advertisement

Chapter 1

Introduction 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.

ON THE FRUSTRATING LACK OF A GOOD WORD

The Spanish language has a word, simpatico, that translates literally to the word “nice” in English. However, it actually embodies more than just a description such as “That’s a nice haircut!” It describes a state of being at the same time, more along the lines of having performed a good deed. There is no single word in English equivalent to simpatico.

We have a similar problem describing a kind of user, probably you, dear reader. This user is often called a “power user” or even more loosely, an “end user.” Microsoft tends to use the word “information worker.” Sadly, none of these words capture the meaning of an important role that always exists in successful companies. What do we mean? We’re talking about user who are “plugged in” and dedicated to their job. They may get in early or stay late. They put in some serious hours and focus on doing a good job for the company at all times. These are the kind of people who work in department [X] but for whatever reason, know what’s going on in other departments even though they aren’t connected to those other departments. When they go to conferences, they agonize over that they can’t attend every session they want rather than sneak off to the golf course for a few rounds.

The current lexicon fails because of the following:

“Power users” traditionally mean individuals who are experts at a software application, such as Microsoft Excel. All of you know an “Excel guy” who can navigate around Excel, fix your pivot table problems, and help you write a macro.

End users are normally the last users in the solution food chain. IT creates a solution and deploys the solution, and end users use the solution. End users figure prominently in usability tests and scenarios, but end user is too broad a term and frankly, a little derogatory at times.

The term “information worker” is more or less a fancy term for “end user.” This is someone that uses tools to manage information. You’re all information workers. Whoop-dee-doo.

None of these words catch the meaning of the extraordinary professionals at every company who spend their days “in the trenches,” pushing and prodding their co-workers and their company to greater success on a daily basis. The authors tried to come up with a good word, such as “educated user” or “motivated user.” But these are problematic because everyone in a company is in some sense educated and motivated (or so we hope). The term “activist user” seems to be as close as we can come to coining a term that matches well with the envisioned kind of person.

In any event, a label doesn’t matter too much in daily terms. You know who you are, and your peers know what you do. This book is for you.

PATTERNS

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

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.

CONCLUSION

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.

Chapter 2

Workflow Basics

WHAT’S IN THIS CHAPTER?

Creating content types

Making custom lists

Creating custom workflows

Working with SharePoint Designer

Welcome to Chapter 2, “Workflow Basics.” This chapter introduces you to SharePoint Designer, workflows, and content types. It then shows you how to design business solutions using swim lane diagrams and reusable patterns.

The walk-through sections of the book’s remaining chapters focus on solving business problems with a practical approach based on SharePoint 2010 functions and tools (primarily workflow). They do not explain how to create a content type but instead provide instructions, such as “create a site content type with the following site columns. . . .” Refer back to this chapter for detailed instructions for those kinds of tasks if you need to.

GETTING STARTED

In the next few pages, you learn what you need to create your first workflow solution. Attempts were made to ignore the “Hello, World” siren song, but we failed. First, you learn what you need to create the workflow (hardware and software), then you create the simple “Hello, World” workflow solution.

The origin of “Hello, World” is somewhat obscure, but it dates back at least as far as the introduction of the C programming language. Many books and tutorials use “Hello, World” as a way to introduce a new programming concept.

What You Need

To create business solutions in a SharePoint 2010 world, you need the following:

Hardware: A laptop or desktop to run the client tools.

Software: SharePoint Designer 2010 is the most essential tool for creating the kinds of business solutions this book describes.

Access to a SharePoint server: You need a SharePoint 2010 environment and you need appropriate privileges.

The next sections discuss each of these in detail.

Hardware

Hardware needs depend on whether you want (or must) run SharePoint 2010 on your laptop/workstation. This gives rise to two scenarios:

Remote SharePoint environment: You have access to a SharePoint environment within your business or hosted someplace other than your workstation. In this case, you need only the client tools.

Local SharePoint environment: You do not need access to a remote environment, or you want to have a local environment for personal reasons.

Local SharePoint environments require much more horsepower than remote environments because you are, after all, running an entire server application (SharePoint) on your workstation. The following table displays minimum recommended configurations for remote and local SharePoint hardware requirements:

Remote SharePoint environment:

64-bit hardware recommend, 32-bit supported

50 gigabytes free disk space

4 gigabytes RAM

Single core 1.66GHZ CPU, equivalent or higher

Local SharePoint environment:

64 -bit hardware required

8 gigabytes RAM (more can make a huge improvement)

150 gigabytes free disk space

Dual core 1.66GHZ CPU, equivalent or higher

You can survive with less. You can squeeze the entire development and server environment onto a single laptop. But, you won’t be happy about it.

Software

As with hardware, required software depends on whether your SharePoint environment is local or remote.

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!