Skip to main content

Professional Workflow in SharePoint 2010: Real World Business Workflow Solutions

Professional Workflow in SharePoint 2010: Real World Business Workflow Solutions

Paul J. Galvin, Udayakumar Ethirajulu, Chris Beckett, Peter Ward, Mark Miller

ISBN: 978-1-118-21971-3

Nov 2011

384 pages

Select type: E-Book

Product not available for purchase

Description

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.

  • Explains how to build business solutions using the Workflow Foundation 4 toolkit in SharePoint 2010
  • Shows even non-IT readers how to create and implement processes such as sales pipeline management, creating and managing RFPs, setting up a conference room scheduling solution across a multi-national company, and more
  • Explores the basics vital to all process design: system analysis, researching requirements, and basic design considerations
  • Includes a SharePoint 2007 template for Training and Scheduling; the book walks you through how to upgrade that to 2010 and extend it with new features

Create the processes your business needs with SharePoint 2010's new Workflow 4 and this practical guide.

FOREWORD xxiii

INTRODUCTION xxv

CHAPTER 1: INTRODUCTION TO SHAREPOINT 2010 WORKFLOW 1

Expanding the Circle of Trust 2

Patterns 4

Business Patterns 4

Technical Patterns 5

What’s New in SharePoint 2010 Workfl ow 6

Conclusion 7

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

Interviews 25

Swim Lane Diagrams 26

Reusable Patterns 29

Knowing SharePoint Designer’s Limits 29

Summary 30

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

Actors 35

Actions 35

Challenges 36

High-Level Solution 36

Solution Overview 36

Swim Lane Diagrams 37

Technical Implementation Overview 38

Detailed Technical Implementation 41

Setup 41

Create Workfl ows 46

Advanced Topics 50

Dashboards 51

Delegation 51

Data Cleanup 51

Summary 52

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

Actors 58

Actions 59

Challenges 59

High-Level Solution 59

Solution Overview 59

Swim Lane Diagrams 60

Technical Implementation Overview 62

Detailed Technical Implementation 63

Setup 64

Create Workfl ows 67

Managing the Process 76

Summary 79

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

Actors 85

Actions 86

Challenges 86

High-Level Solution 87

Solution Overview 87

Swim Lane Diagrams 89

Technical Implementation Overview 90

Detailed Technical Implementation 91

Setup 91

Content Types Summary 95

Custom Lists 95

Create Workfl ow 97

Auditing 107

Managing the Process 108

Summary 110

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

Actors 114

Actions 114

Challenges 115

Requirements Summary 115

High-Level Solution 116

Solution Overview 116

Swim Lane Diagram 117

Technical Implementation Overview 118

Detailed Technical Implementation 122

Setup 122

Content Types Summary 126

Create Workfl ows 126

Create the Dashboard 131

Extending the Solution 138

Summary 139

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

Actors 146

Actions 146

Challenges 146

High-Level Solution 147

Solution Overview 147

Swim Lane Diagrams 148

Technical Implementation Overview 149

Detailed Technical Implementation 150

Setup 151

Create Workfl ows 155

Managing the Process 160

Summary 162

CHAPTER 8: ENTERPRISE: AUTHORIZATION FOR CAPITAL EXPENDITURE 165

What Is Authorization for Capital Expenditure? 166

Estimates 166

Decision-Making Process 167

Problem Class 168

Technical Patterns 168

Business Patterns 168

Business Problem Description 169

Requirements Discussion 169

Actors 171

Actions 171

Challenges 172

High-Level Solution 172

Solution Overview 172

CAPEX Expenditure Decision Swim Lane Diagrams 173

Technical Implementation Overview 175

Detailed Technical Implementation 177

Setup 177

Create Workfl ows 184

Summary 187

CHAPTER 9: MARKETING CONTACT MANAGEMENT 189

The Anonymous Contact Us Form 190

Facts 190

Website Myths 190

Golden Rules 191

Problem Class 192

Technical Patterns 193

Business Patterns 193

Business Problem Description 194

Requirements Discussion 194

Actors 195

Actions 195

Challenges 196

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

Setup 200

Lists 206

Create Workfl ows 210

Summary 215

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

Actors 220

Actions 221

Challenges 221

High-Level Solution 222

Solution Overview 222

Swimlane Diagram 222

Technical Implementation Overview 224

Detailed Technical Implementation 228

Setup 228

Create Workfl ows 238

Summary 256

CHAPTER 11: ENHANCING THE USER INTERFACE 257

How to Build Great User Interfaces 258

Enhancement Techniques in Detail 258

InfoPath 258

Data View Web Part 268

jQuery 275

Summary 283

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

Summary 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

Actors 315

Actions 316

Challenges 317

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

Dashboard 325

Detailed Technical Implementation 325

Setup 325

Custom Activity 327

Timer Job 330

Workfl ows 333

Create the Dashboard 334

Extending the Solution 335

Auditing 335

Identifying Abandoned Sites 335

Archiving Versus Deleting 335

Security Considerations 336

Parameter-Driven Timer Job 336

Summary 336

INDEX 337

Read Me
Download
Chapter 3 - Part 1: Stsadm Export Format - HROnBoarding.export
Download
Chapter 3 - Part 2: Site Template (WSP) Format - HROnBoarding.wsp
Download
Chapter 3 in PDF Format - Revised w/ Error Corrections
Download
Chapter 4 - helpdesk.export - helpdesk.export
Download
Chapter 4 in PDF Format - Revised w/ Error Corrections
Download
ChapterPageDetailsDatePrint Run
Corrected Versions of Chapters 3-4 Available for Download
PDFs on downloads page.
5/8/12

42Error in Text
In the third paragraph:
the "Site actions" button should be in the upper left hand corner, not the upper right hand corner.
03/05/2012

42Error in Text
Third paragraph:
Text should indicate to select "Site Settings" from the drop-down, not "Site Actions"
03/05/2012

43Error in Text
To clarify:
In the last row in table 3-1:
Additional Settings column should read: "Create in a group named: General Purpose WF Technical"
03/05/2012

44Error in Text
To clarify:
2nd paragraph should read: "Create the new content type based off the item content type and name it: HR New Hire" (italics indicates appended text).
Although Figure 3-3 shows this, due to size constraints it may not be seen clearly.
03/05/2012

44Error in Text
In the third bullet near the bottom of the page:
Currently reads: "New hire Task Status"
Should read: "New Hire Task Description: Multiple lines of text that will represent the instructions you wish AP, IT and Security to follow when they are assigned one of these tasks."
03/05/2012

45Error in Text
The rows under the columns named "New hire Task Status" and "New hire Task Due Date" should be removed
03/05/2012

45Error in Text
The last sentence should read:
"When you have your base content type, create the three task content types to support the model. These are: New Hire IT Task, New Hire AP Task and New Hire Security Task."
03/05/2012

45Error in Text
Immediately after the two figures (3-5 and 3-6), add a new heading labeled "New Hire Task Descriptions." Create a new content type named New Hire Task Descriptions. The new hire task descriptions content defines just one site column named New Hire Task Description. This site column should be defined as "multiple lines of text."
03/05/2012

46Error in Text
Before the Create Workflows Section, there should be Create Lists section.
This new section should read as follows:

Now that the site content types have been created, it's time to create new SharePoint custom lists that use these content types. Create three custom lists in your sandbox site named:
  1. HR New Hire (backed by the New Hire site content type)
  2. New Hire On-boarding Tasks. Back this with all three task types (IT, AP and Security)
  3. New Hire Task Descriptions backed by the site content type New Hire Task Description.
03/05/2012

46Error in Text
In order to clarify, the sentence before the numbered list should read:
"The Confirm New hire Start Date workflow is attached to the New Hire List"
03/05/2012

49Error in Text
To clarify, the first sentence in the Change Start Date section should read:

"Use a new workflow named Change Start Date to handle the common business scenario when a new hire's start date changes."
03/05/2012

65Error in Text
Before the section labeled "Helpdesk Category Codes", insert the following bolded text:

Create a new SharePoint custom list named "Helpdesk Status Codes. Via this new list's settings, enable content types (via advanced settings) and then add the content type you just created to it (i.e. Helpdesk Status Codes).
04/03/2012

65Error in Text
For clarity, add to the following sentence the bolded text:

"Having created the site columns, add them to a new content type named Helpdesk Status Codes. Create the new Helpdesk Status Codes based off the standard Item system content type."
04/03/2012

66Error in Text
Just before the new section labeled Helpdesk ticket, add the following bolded text:

Create a new SharePoint custom list for this new content type. Name it Helpdesk Category Codes and associate the site content type, Helpdesk Category Codes, with this new list.
04/03/2012

66Error in Text
In Table 4-3, the text Additional Settings for the column name "HD_TicketStatus" should be changed from "See next." to the following bolded text:

Selects values from the Helpdesk Status Codes custom list you created earlier.
04/03/2012

66Error in Text
At the bottom of this page (or before the following section "GP_Delegate", add the following bolded text:

Once you've created site content type, create a custom SharePoint list for it. Name this custom list "Helpdesk Ticket."
04/03/2012

67Error in Text
In table 4-4, the Column name should read GP_DelegateTo instead of HD_DelegateTo
04/03/2012

67Error in Text
After the table listing and before the new section, "Create Workflows", add the following text:

Create a new site content type named "General Purpose Delegate" based off the default SharePoint Item content type. Add the GP columns from table 4-4 to this new site content type.
Next, Create a new custom list named GP_Delegation. Configure this custom list to use the General Purpose Delegate site content type.
04/03/2012

73Error in Text
Insert the following at the top of page 73 right before the paragraph that starts, "This utility workflow is almost a mirror image ?"

This workflow runs against the Helpdesk Ticket custom list that you created earlier. Just like the Update Delegate Key workflow you just finished creating, this utility workflow also runs automatically. Again, it's also useful to allow a manual start for debugging purposes.
04/03/2012

73Error in Text
Step #1 should be amended to read as follows:

1. First, create two workflow variables named wfv_CalculatedKey and wfv_DelegatedUser.
04/03/2012

73Error in Text
Figure 4-14 should show the variable "wfv_DelegatedUser" instead of "wfv_CalculatedKey." This change should be made in the "Find the List Item" section of the screen capture and lies just below the word "Field."
04/03/2012

73Error in Text
The paragraph immediately after Step 3 should replace "wfv_CalculatedKey" with "wfv_DelegatedUser."
04/03/2012

75Error in Text
At the bottom of the page, Step 5 should read:

5. Select HD_CategoryCode from Current Item.
04/03/2012

75Error in Figure
Figure 4-21: The full text in the screen capture should read:

[%Current Item:ID%];#[%Current Item:HD_CategoryCode%]
04/03/2012

76Error in Text
The first sentence in the Assign Default Owner section should be amended as bolded:

The Assign Default Owner workflow leverages the Helpdesk Category Codes list to look up and assign a helpdesk administrator to work on the ticket.
04/03/2012

76Error in Text
The 3rd paragraph in the "Assign Default Owner" section:

Replace the word "HD_Categories" in that sentence with "Helpdesk Category Codes"
(this is basically the same change as the previous bullet point)
04/03/2012

76Error in Text
4th paragraph:

Replace "HD_Categories" with "Helpdesk Category Codes"
04/03/2012

76Error in Figure
Figure 4-23:

In the screen capture, the "Data Source" should read "Helpdesk Category Codes" instead of "Helpdesk Categories."
04/03/2012