- Shopping Bag ( 0 items )
SharePoint MVPs offer practical WF4 guidance for SharePoint 2010 developers
With the new Workflow Foundation 4 (WF4) toolkit in SharePoint 2010, companies have new ways to build custom solutions for common or frequent business processes. This unique book is packed with instructions and tips that show you how. You'll use WF4 to create and implement office-practical apps such as expense report approvals, RFPs, sale pipeline management, and more. ...
SharePoint MVPs offer practical WF4 guidance for SharePoint 2010 developers
With the new Workflow Foundation 4 (WF4) toolkit in SharePoint 2010, companies have new ways to build custom solutions for common or frequent business processes. This unique book is packed with instructions and tips that show you how. You'll use WF4 to create and implement office-practical apps such as expense report approvals, RFPs, sale pipeline management, and more. The book also covers how to design custom activities with SharePoint Designer 2010.
Create the processes your business needs with SharePoint 2010's new Workflow 4 and this practical guide.
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.
CHAPTER 1: INTRODUCTION TO SHAREPOINT 2010 WORKFLOW 1
Expanding the Circle of Trust 2
Business Patterns 4
Technical Patterns 5
What’s New in SharePoint 2010 Workfl ow 6
CHAPTER 2: WORKFLOW BASICS 9
Getting Started 9
What You Need 10
Create the “Hello, World” Solution 12
Concepts and Defi nitions 22
What Is SharePoint Designer? 22
Core Workfl ow Concepts 23
Content Types 24
Software Development Life Cycle 24
Designing Business Solutions 25
Swim Lane Diagrams 26
Reusable Patterns 29
Knowing SharePoint Designer’s Limits 29
CHAPTER 3: HR ON-BOARDING 31
What Is the HR On-Boarding Process? 32
Problem Class 32
Technical Patterns 33
Business Patterns 33
Business Problem Description 33
Requirements Discussion 34
High-Level Solution 36
Solution Overview 36
Swim Lane Diagrams 37
Technical Implementation Overview 38
Detailed Technical Implementation 41
Create Workfl ows 46
Advanced Topics 50
Data Cleanup 51
CHAPTER 4: HELPDESK TICKETING 53
What Is the Helpdesk Ticketing Process? 53
Problem Class 55
Technical Patterns 55
Business Patterns 56
Business Problem Description 56
Requirements Discussion 57
High-Level Solution 59
Solution Overview 59
Swim Lane Diagrams 60
Technical Implementation Overview 62
Detailed Technical Implementation 63
Create Workfl ows 67
Managing the Process 76
CHAPTER 5: TIME OFF MANAGEMENT 81
What Is the Time Off Management Process? 81
Problem Class 82
Technical Patterns 82
Business Patterns 83
Business Problem Description 83
Requirements Discussion 83
High-Level Solution 87
Solution Overview 87
Swim Lane Diagrams 89
Technical Implementation Overview 90
Detailed Technical Implementation 91
Content Types Summary 95
Custom Lists 95
Create Workfl ow 97
Managing the Process 108
CHAPTER 6: INTERVIEW SCHEDULING 111
What Is the Interview Scheduling Process? 111
Problem Class 112
Technical Patterns 112
Business Patterns 113
Business Problem Description 113
Requirements Discussion 113
Requirements Summary 115
High-Level Solution 116
Solution Overview 116
Swim Lane Diagram 117
Technical Implementation Overview 118
Detailed Technical Implementation 122
Content Types Summary 126
Create Workfl ows 126
Create the Dashboard 131
Extending the Solution 138
CHAPTER 7: FACILITIES MANAGEMENT 141
What Is the Facilities Management Process? 141
Problem Class 142
Technical Patterns 142
Business Patterns 143
Business Problem Description 144
Requirements Discussion 144
High-Level Solution 147
Solution Overview 147
Swim Lane Diagrams 148
Technical Implementation Overview 149
Detailed Technical Implementation 150
Create Workfl ows 155
Managing the Process 160
CHAPTER 8: ENTERPRISE: AUTHORIZATION FOR CAPITAL EXPENDITURE 165
What Is Authorization for Capital Expenditure? 166
Decision-Making Process 167
Problem Class 168
Technical Patterns 168
Business Patterns 168
Business Problem Description 169
Requirements Discussion 169
High-Level Solution 172
Solution Overview 172
CAPEX Expenditure Decision Swim Lane Diagrams 173
Technical Implementation Overview 175
Detailed Technical Implementation 177
Create Workfl ows 184
CHAPTER 9: MARKETING CONTACT MANAGEMENT 189
The Anonymous Contact Us Form 190
Website Myths 190
Golden Rules 191
Problem Class 192
Technical Patterns 193
Business Patterns 193
Business Problem Description 194
Requirements Discussion 194
High-Level Solution 196
Solution Overview 196
An Anonymous Form Submission Process 197
Technical Implementation Overview 199
Content Types 199
SharePoint Lists 199
Detailed Technical Implementation 200
Create Workfl ows 210
CHAPTER 10: R&D GATEWAY PROCESS 217
What Is the R&D (Research and Development) Gateway? 217
Problem Class 218
Technical Patterns 219
Business Patterns 219
Business Problem Description 219
Requirements Discussion 219
High-Level Solution 222
Solution Overview 222
Swimlane Diagram 222
Technical Implementation Overview 224
Detailed Technical Implementation 228
Create Workfl ows 238
CHAPTER 11: ENHANCING THE USER INTERFACE 257
How to Build Great User Interfaces 258
Enhancement Techniques in Detail 258
Data View Web Part 268
CHAPTER 12: CUSTOM ACTIVITIES 285
The What, Why, and How of Custom Activities 286
What Is a Custom Activity? 286
Why Create a Custom Activity? 287
What Tools Do You Need to Create a Custom Activity? 287
The Business Scenario 288
Technical Overview 289
SharePoint Designer 289
Actions File 290
Web.confi g 291
The .NET Assembly 291
Detailed Walk-Through: Create a Custom Activity 291
Creating the Custom Activity Project 292
Create a Deployment Project 294
Deploy, Test, and Debug — Part 1 299
Error Scenarios and Fixes 301
Finishing the Logic 303
Advanced Topics 308
Troll for Ideas 308
Debugging Workfl ows 308
Automatically Update web.confi g 310
CHAPTER 13: SITE GOVERNANCE 311
What Is Site Governance? 311
Problem Class 312
Technical Patterns 313
Business Patterns 313
Business Problem Description 313
Requirements Discussion 313
Requirements Summary 318
High Level Solution 318
Solution Overview 318
Swim Lane Diagrams 319
Technical Implementation Overview 321
Content Types 321
Custom Lists 322
Workfl ow 323
Custom Activity 323
SharePoint Time Job 324
Detailed Technical Implementation 325
Custom Activity 327
Timer Job 330
Workfl ows 333
Create the Dashboard 334
Extending the Solution 335
Identifying Abandoned Sites 335
Archiving Versus Deleting 335
Security Considerations 336
Parameter-Driven Timer Job 336