1,693 articles and 12,744 comments as of Monday, September 13th, 2010

Monday, September 6, 2010

SharePoint 2010 and Visio 2010: Better Together – Part 2

Guest Author: Wictor Wilén
http://www.wictorwilen.se/

This is the second post in the SharePoint 2010 and Visio 2010better together series. And it is time to really check out what this great combination has to offer. The most obvious is that we can now use Visio to design the workflows, which then are imported to SharePoint via SharePoint Designer 2010. So let’s get started.

If you’ve ever built workflows for previous versions of SharePoint you either used SharePoint Designer 2007 or Visual Studio 2005/2008. SharePoint Designer 2007 had a very limited workflow designer (you can’t actually call it a designer) that took quite some time to get used to and you were very limited in what to do. Visual Studio, of course, offered you the full set of workflow features. I’m not trying to get too deep into the actual workflow stuff here but it is important to understand how hard it was for the organizations to get their hand-drawn or Visio-drawn workflow into SharePoint. If you used SharePoint Designer to build the workflows, the most problematic situation was when you moved the workflow from you development environment to production – this was just impossible. Yea, there were ways to work around it – but not for mere mortals.

Visio is excellent for drawing flowcharts, workflows and business processes and some business analysts just love it. So very often you were presented with a Visio diagram of a workflow that you were supposed to implement in SharePoint. What did you do then? Yes, you had to translate the workflow into either a SharePoint Designer 2007 workflow, using the wizard or go for the full monty with Visual Studio. There was room for many mistakes in this process with you, the developer or SharePoint professional, interpreting the Visio diagram to a SharePoint workflow.

Now, with SharePoint 2010, SharePoint Designer 2010 and Visio 2010 the story is quite different. You can let your business draw the actual SharePoint workflow using the SharePoint Workflow template in Visio. Then you take this Visio diagram, turn it into a SharePoint Designer acceptable file format and configure the last bits in SharePoint Designer. Once that is done all that is left is to hit the publish button. When the workflow is in place you can let the original author of the Visio diagram verify the functionality. If it is not what he or she asked for you can export it once again, to a Visio drawing, and fine tune it. The workflow can go back and forth between Visio and SharePoint via SharePoint Designer until everything is set and done.

Before going into some conclusions and experience from this new way of producing SharePoint workflows, let’s take a look at how you do this.

Assume that we have a list in SharePoint containing proposals that we would like to send to our clients. In this case we use a custom list, but it could be any kind of list or library. Each proposal has a Proposal Value. If the proposal Value is higher than $100.000 then our manager must approve the proposal before sending it to the client.


The financial controller of our organization decides that this must be implemented as a Workflow on a list and fires up Visio 2010. Of course he uses Visio 2010 Premium – which is the edition of Visio that contains the SharePoint Workflow template. Using this template the controller can draw the workflow with the default SharePoint Actions, Conditions and Terminators.

By dragging a Start and End Terminator onto the drawing and then adding a condition (Compare Data Source) which should be used for comparing the proposal value to the limit he starts building the workflow, visually. If the condition is below a certain threshold it automatically sets the content approval status. If it is above then it should send an e-mail to the manager and then start an approval process and so on. The actual values are not set here, just the actions and conditions in the workflow.


All this is done by dragging the Actions and Conditions onto the drawing surface and then using the connection tool to connect the items. Notice that the controller cannot set any properties, see Shape Data tool pane, on the actual Workflow Actions. The only thing that can be configured is which path to take for a condition. This is set by right-clicking the connection and then selecting Yes or No.

The SharePoint Workflow template, as well as other templates in Visio, can also be validated. This is done using the Check Diagram button in the Process Ribbon tab. This check makes sure that all actions are connected and that there are no loose ends. It also checks for any loops in the workflow, which is not allowed in SharePoint Designer workflows.


Once the financial controller is satisfied with his workflow he saves it and sends it to the SharePoint professional, if he isn’t one himself. Here, he can send it as a standard Visio drawing using the .VSD format or he can use the new Visio Workflow Interchange format with the .VWI extension. The downside of sending it as a .VSD file is that the SharePoint professional must open it in Visio and convert it to a VWI file – which is the format that SharePoint Designer 2010 supports. On the other hand, it might be easier to not teach the business about that and avoid confusions?!


To create the VWI file you cannot choose File > Save As. Once again, you need to use the Process tab in the Ribbon and select the Export button. This pops up an Export Workflow dialog where you can specify path and file name. Also notice the Import button. You use this to import a VWI file created by Visio or exported from SharePoint Designer, if you need to go back and update any changes.

Here it is important to notice that if you export it from SharePoint Designer and then import into Visio, to once again get it back to SharePoint Designer. When exporting an imported VWI file using the same file name you must select Update workflow information in existing file in the dialog. This makes sure that you can import it to SharePoint Designer again, without losing any settings configured in SharePoint Designer, and to allow you to update an existing workflow.

Ok, now you have the VWI file and you have fired up SharePoint Designer on the site containing the Proposals list. Select the Workflows object in the left navigation of SharePoint Designer and choose Import from Visio in the Workflows Ribbon tab. Then choose the workflow interchange file that you just exported. When you have selected the file you will be presented with a dialog that asks you how to import this Workflow. In this case we want it to be a list workflow so we select the Proposals list, give it a good name, and then click Finish.


SharePoint Designer will open the workflow in the Workflow editor and you will see a workflow without any configuration – just the "flow" as designed in Visio in another, more logical, representation.


Now you have to discuss with the financial controller what exactly the conditions and values are – or even better wish that you got some documentation with the Visio file or even annotations in the actual file. After configuring the workflow it should look like below:


We are almost there. All that is left is to verify the workflow by clicking on the Check for Errors button in the Ribbon menu and then configure the workflow to start whenever an item is added or changed. To edit the start options you use the bread crumb menu in SharePoint Designer and click on the name of the workflow. This takes you to the Workflow page and in the Start Options section check the Start workflow automatically when an item is created and the same for the changed option.

The workflow is done, designed using Visio and configured using SharePoint Designer. Now we need to test it in SharePoint. But first you must publish the workflow. This is also done using the Ribbon menu, click on Publish and wait for the process to finish. SharePoint Designer will also check the workflow for any errors before publishing it. If you don’t want to publish it right now you can select Save, go get a coffee and publish it later.

So now, head on over to the Proposals list and add a new proposal, this time with a proposal value of over $100.000. Notice how a new column is added to the list, with the workflow status, and that it automatically starts when you created an item.


Since this workflow had a Start approval process action, a task item will be created in the Tasks list assigned to the person configured in the workflow using SharePoint Designer. Once the task is done, with approve or reject status, the workflow will continue and update the proposal with the outcome. It will also send an e-mail back to the original person who created the proposal.


Quite easy, isn’t it.

I really like this approach, as a first version of the Visio, SharePoint Designer and SharePoint integration. There are a couple of things that I hope will be addressed in the future. First of all you can’t really put the SharePoint Workflow template in the hands of a business analyst. They are used to working with regular flow charts or BPMN diagrams. It can sometimes be hard for them to get a good understanding of the different actions in the SharePoint workflow directly related to lists. Secondly it is too bad that you can’t configure more using Visio as it will be hard having one person design the workflow in Visio and another configure it in SharePoint Designer. But we have a lot of things to look forward to in upcoming versions – and it’s a fantastic start!

Next time I will show you how to enhance the workflow experience using Visio Services so that your end-users always knows what is happening to their workflows. Which is one of the features I like most about the Visio and SharePoint marriage.

Guest Author: Wictor Wilén
http://www.wictorwilen.se/

Wictor Wilén is a SharePoint Architect at Connecta AB with more than 12 years experience in the web content management and portal industry. He has worked with consulting companies, founded and sold his own software company and saw the dawn of SharePoint back in 2001. Wictor is an active SharePoint community participant, writer, tutor, frequent speaker at local and international conferences, and author of SharePoint 2010 Web Parts in Action. In 2010 Wictor was awarded the SharePoint Server MVP title by Microsoft for his community contributions. He can be found online at http://www.wictorwilen.se/. Wictor is based in Stockholm, Sweden.

View all entries in this series: SharePoint 2010 and Visio 2010: Better Together»
Entries in this series:
  1. SharePoint 2010 and Visio 2010: Better Together - Part 1
  2. SharePoint 2010 and Visio 2010: Better Together - Part 2
 

Please Join the Discussion

4 Responses to “SharePoint 2010 and Visio 2010: Better Together – Part 2”
  1. Rene says:

    Hi Wictor,

    when you say “If it is not what he or she asked for you can export it once again, to a Visio drawing, and fine tune it. The workflow can go back and forth between Visio and SharePoint via SharePoint Designer until everything is set and done.”, does this mean that any settings, additions, and modifications made in SharePoint Designer (e.g. the conditions) will be kept in the VWI file even after it is opened (or does it have to be imported?) and edited again in Visio?

    Thanks,
    Rene

  2. Hi Rene,
    yes you can persist the SPD configuration as long as you overwrite the file and choose the update existing file option. It’s easy to slip and choose the wrong option, but once you miserably lost a few configurations you will learn the correct way :)
    /WW

  3. Kevin Young says:

    Nice summary of the functionality. More business value added with the additional Office/SharePoint collaboration.
    Although, being a BSA, the following comment felt like a poke in the ribs.
    First of all you can’t really put the SharePoint Workflow template in the hands of a business analyst. They are used to working with regular flow charts or BPMN diagrams. It can sometimes be hard for them to get a good understanding of the different actions in the SharePoint workflow directly related to lists.

    • Hi Kevin and thanks for the comment.
      I’m sorry if I offended you or any other BSA – but that line comes from discussions I’ve had with organisations around these features. I’m fully aware of that this is not always true – which I’m very glad about. Congrats to those who successfully manages to get their BSAs to create WFs using the VIsio SP WF template. What I essentially meant was that the actions etc in the template are very tied to SharePoint core features such as lists and list items. That limits your creativity to start with, you should not focus on the actual implementation but instead on the workflow.
      Have a nice weekend.
      /WW


Notify me of comments to this article:


Speak and you will be heard.

We check comments hourly.
If you want a pic to show with your comment, go get a gravatar!