Workflow in SharePoint

 

While workflow technologies have been around for many years, their use is still very sporadic with limited impact on the overall business operations. It's quite common that even essential and simple procedures, like a multi-step approval process, are supported by nothing more than a hand-written list of approvers at the beginning of a text document, and email being the main means of facilitating these approvals.

 

This is about to change.

 

The Windows Workflow Foundation (WF)  that Microsoft recently released as part of the .NET framework is a good technology platform. With the release of the "free" Windows SharePoint Services v3 (WSSv3) which includes basic workflow functionality, tech-savvy users can get an early understanding of what Independent Software Vendors (ISVs) could use this technology for. But when you look at the deep integration of workflow into the latest Office 2007 release it becomes quite obvious how much workflow holds the potential to substantially increase efficiency, and at the same time even improve the user experience.

 

It's important to recognize that the Windows Workflow Foundation can be used independently from SharePoint. However, in this article, we'll focus on an overview of how the usage of SharePoint and also the various Office products benefits from workflow functionality. For readers who want to get more technical, please refer to the links listed on this page.

 

 

The Elements of Workflow

Conceptually, a workflow template is associated in SharePoint with a library or list. Any of the templates that are associated can then be instantiated - either automatically by the system, or manually by a user - for a particular element in the library or list.

 

 Workflows consist of activities. The Workflow Foundation provides so-called basic activities, and both WSSv3 and Microsoft Office SharePoint Server 2007 (MOSS 2007) add more specific activities. Of course, the idea is that developers add custom activities to further enhance the workflow capabilities.

 

Of particular value is the fact that Microsoft has built support for Web Services right into the basic features of the Workflow Foundation. It shows that Microsoft understands that SharePoint has to be able to trigger workflow activities, but also that changes to any running workflows can come from outside SharePoint. Even more importantly, even entire workflows need to be "published" so that they can be invoked from another system or solution.

 

Amongst workflow developers it is sometimes of debate whether a workflow solution should allow for a running instance of a workflow template to be changed. Microsoft has built that capability into the WF, understanding that sometimes in business you need to make exceptions from the rules. Users don't like to be "fenced in", so this will resonate well with especially the creative world. But of course, it's up to the administrators to decide whether exceptions are in fact allowed on a particular workflow, and then to assure that any exceptions are logged into the system.

 

It's easy to see that the Workflow Foundation is exactly that: a foundation for workflow solutions. It emphasizes that it is an extensible base of core workflow functionality, as can be seen by Microsoft just announcing support for BPEL 2.0 (Business Process Execution Language), another workflow "standard" that has been a long time coming. But Microsoft also goes beyond the Foundation, in order to provide proof of concept for the WF itself, and to add value to its own Server solutions, like MOSS 2007.

 

 

Workflow in MOSS 2007

 

MOSS as a portal solution manages some of the valuable data itself, but through its Business Data Catalog (BDC) capabilities also allows access and management of data in Line of Business (LoB) applications, like CRM or ERP.

 

Obviously, the quality of process to create valuable data, whether it's a contract, a sales presentation or an image used for marketing, can greatly benefit from involving a workflow solution. Often it has shown though, that if the workflow solution itself is not intuitive and efficient enough, that it actually becomes counter-productive and users start to by-pass, or simply boycott, such system.

 

A big factor of success is to keep things simple. Microsoft has taken a simplictic approach by adding "only" five workflow templates to MOSS, of which only one workflow is immediately deployed by MOSS for various kinds of data: Approvals. The others being Collect Feedback, Collect Signatures, Disposition Approval - and for Web Content Management with multi-language sites, a Translation Management workfow is provided. The Approval workfow template that comes with MOSS is applicable equally well for different kinds of documents and assets and is flexible and efficient enough to be accepted by the users.

 

Approval workflows can be started in MOSS either automatically, e.g. by checking in a major version of a document into the version control system that is part of WSSv3 and MOSS, or manually by the user.

 

Here it becomes obvious how much synergy there is between the elements of a portal, and how integral workflow is for managing the various kinds of documents and assets. But it can be seen that Workflow also benefits from the functionality of a portal, e.g. to store Tasks and Workflow History in a list that SharePoint provides. And while the WF doesn't require a Forms technology, it's obvious that forms are to be used left, right and center with workflow, for associating, instantiating or modifying workflow templates and instances. This then is where the all-new Office InfoPath Forms solution shines (read further, below).

 

Probably one of the most important and valuable parts of a workflow solution is the notifications feature. "Out-of-the-box", SharePoint provides email notifications and of course its web interface also visualizes the tasks well that are assigned to a user. The email typically provides a link back to SharePoint to perform a task or to mark a task as completed. But when you use the new Office 2007 products with MOSS, access to workflow functionality becomes really "modeless" (see below).

 

 

Designing Workflows

 

Out of the box, Microsoft provides two means to design and install workflow templates for SharePoint with the Office SharePoint Designer application and the Workflow Designer that's embedded into the popular Visual Studio 2005 IDE (Integrated Development Environment ...a programming tool).

 

The background to providing two workflow design environments is simple: while most non-programmers get to see only the workflow charts which visualize how the work should flow, underlying is always some programming code. And with every code there is risk (not just the code you download from the internet!). So installing this code on a SharePoint server means a risk and requires due-diligence testing, so it's restricted to the IT and site administrators to take that risk. The design of the workflow (e.g. the order in which the workflow activities are executed) is something a non-programmer can, and for cost reasons should, deal with.

 

The Office SharePoint Designer is mainly a tool to design the websites for SharePoint. SharePoint Designer is new in the Office Suite of products and practically replaces parts of the old FrontPage system.

 

Without going into too much Web Content Management  (WCM) detail, the typical work distribution for web development involves a designer who creates the Master pages and Layout pages which typically determine overall site navigation and design factors, and Content Contributors who add the content for the individual pages. Implicilty the job definition of a website designer could now also include designing simple workflows, as information often managed in one part of the website (e.g. a Forum) could lead to the creation or synchronization of other information (e.g. a Project Task List) on the site. E.g. to allow to automate such manual synchronization and maintenance work between different parts of the site, Microsoft has built in a wizard approach to allow a web designer to build workflow templates without any line of proramming.

 

Uploading and associating a workflow built in SharePoint Designer happens automatically, as the user has to select the list or library as a step in the provided wizard. After the Wizard has been completed, the workflow is immediately available for users.

 

 

Long-running persistent workflows, however, are typically built using Visual Studio - Microsoft's development environment. It not only includes a GUI workflow editor, but also allows the workflow programmers to debug the workflow in the environment they already typically use. It's easy to see how system integrators and ISVs will use this to create more specific, and even vertical market-specific workflows.

 

The GUI of the workflow editor lacks a few common features, like so-called "swimlanes", that workflow designers are used to. But Microsoft has built the WF in a way that ISVs could host the workflow design process in a separate application, adding such functionality. This would also allow separation of the design from the programming, as those functions are typically done by different people. Again, the WF allows for so-called "workflows with code separation" so it's reasonable to expect that this might soon become available too. For now however, the Visual Studio Workflow Designer should be sufficient to get the momentum going and to develop the first commercial workflow solutions which system integrators will then apply for their customers.

 

 

MOSS 2007 and Office 2007

 

It wasn't coincidental that Microsoft released Office 2007 in time with SharePoint at the end of 2006. Both are highly integrated and benefit each other a lot ... I mean A LOT!

 

Let's start by looking at Outlook 2007: Most people have used Outlook as an "OK" email client, and to some degree they've also used the calender function. But when you look at how many used the Task functionality it clearly showed that manually managing Tasks and To Do lists is no fun. And even managing a list of To Do items in a draft email was more efficient than to use the Task functionality of Outlook.

 

When using Outlook 2007 and SharePoint, task lists can be easily synchronized. This includes Task lists that are managed by the workflow engine running in SharePoint. Implicitly this means that one doesn't have to open up the web browser to see the task list but all deadlines and task information are also available right on the desktop.

 

Of course, the calender(s) in Outlook 2007 and SharePoint can also be synchronized.

 

And more, even documents in SharePoint or entire document libraries can easily be made available, for offline editing, through synchronized folders in Outlook.

 

And as Outlook 2007 also allows notifications to be sent via text message (SMS), task alerts can reach the right person even when not online on a computer. And as you might have already expected: SharePoint can easily set up Mobile views of your data. So even someone on the road with a half-way decent internet connection through the mobile phone could potentially participate in a feedback or approval workflow.

 

Word 2007 also gets quite a boost out of integrated workflow support with MOSS. Any Word document stored in a library in SharePoint allows the user to start or monitor a workflow right from within the Word application, with no need to leave the work environment or to open a web browser.

 

 

Even if a user has been assigned a workflow task on the Word document he/she has currently open, the notification is displayed automatically above the document itself.

 

Word 2007 also displays an overview of all assigned tasks and other valuable workflow-related data on a so-called "document workspace" that a word file is stored in.

 

Another (almost) new application in the Office 2007 product line is InfoPath. It so far had very limited relevance because it practically required a desktop application to use the InfoPath forms. Now with InfoPath 2007, forms can be hosted as "hybrid" on the web as well as within the Office applications. That of course is not only a time-saver for all workflow developers but also means that the deep workflow integration which Microsoft has delivered for Office 2007 can easily be extended in the same consistent way by ISVs.

 

It needs to be noted that InfoPath forms require the commercial MOSS products and come at a certain price. But of course developers are free to continue to develop aspx forms to be used with the "free" WSSv3, instead of Info Path forms.

 

Last but not least, of course PowerPoint and Excel also benefit in a similar way from workflow support.

 

PowerPoint comes with its own kind of built-in "mini-workflow" attached to the Slide Library solution in MOSS: when a user, say a sales engineer, uses slides from the slide library, PowerPoint can remember the origin of these slides and will automatically notify the user when later opening his/her presentation again, if any of the original slides in the slide library have meanwhile been modified. Finally a solution to the common problem where sales staff inadvertently show outdated product information or prices to customers!

 

Excel Services is a very central solution of MOSS by itself, also involving workflow technology. Think of it as hosted Excel documents that are populated automatically by LoB applications through the BDC interface ...too complicated to imagine? I think I'll have to write a separate article on this ;-)

 

 

Web Content Management, Records Management ...and other Workflows

 

Similar to the "hard-wired" mini-workflow mentioned for PowerPoint slides, MOSS includes a lot of useful features that are actually workflows. Another example would be the Expiration feature as part of the Information Management Policy Settings in MOSS: a content administrator can set up an expiration workflow with just a few clicks. Of course, this is useful not just for records management but for all kinds of digital assets in general, e.g. for news information.

 

SharePoint libraries allow copies of documents to be made. These copies can be automatically updated when the original document changes.

 

Also not surprisingly, basic notification functionality like Email Alerts on changes of lists and libraries, or even single documents can easily be activated, and RSS feeds are available as well.

 

And then, just as any editorial system, the Web Content Management solution as part of MOSS heavily relies on the Workflow Foundation - not just for approvals on pages, but also for scheduling and expiration of content.

 

 

Summary

 

Workflow was heavily requested by the users of previous SharePoint releases. Microsoft has delivered on demand and the feedback on the workflow functionality now in SharePoint is very vivid and also very positive.

 

Microsoft has made a verbal commitment that they'll take workflow mainstream ...it's certainly time that somebody does, and I believe that SharePoint will get us - the developers and users - a long way down that road.