Another great feature of SharePoint 2010 – Visio Services

Recently, at the Australian SharePoint Conference, I demonstrated how SharePoint 2010’s Visio Services could be used to create a fully interactive project management process map for your organisation. The concept behind the demonstration was to show how quickly and easily you could develop a process map that allows users to visualise a process, but also how you could link that process map to a template library and wiki library to automatically filter and display the relevant templates and wiki content.

Process Map narrated

At the core of the solution was Visio Services, a new feature in SharePoint 2010 that allows Visio diagrams to be rendered within a special webpart in SharePoint, nothing really earth shattering, until you look at two other features Visio Services provides:

  • Data Binding – diagrams can be bound to data allowing the diagrams to visualise real live data diagrammatically.
  • Interactivity – the ability to make the diagrams interactive, a bit like the old HTML image maps, but slightly more powerful.
  • For the demonstration, I leveraged the interactivity elements of Visio Services, specifically publishing a process map flowchart that users could click on to cause documents within a template document library and wiki content within a page to filter.

Setting up a similar solution couldn’t be easier, and the steps below will take you through how you can create your own.

1. Tag up the process in Visio

To start with we need to take the Process map that we want to make interactive and edit in the Visio desktop client to add a ProcessArea attribute to each shape we want to make interactive. In the example below both items have a ProcessArea defined (IP1 & CD2).

process bit

To make the shape interactive, right click on it and choose Data > Define Shape Data. A dialog will be displayed where you can define the shape data, we specifically want to define a new attribute called ProcessArea and set the value to match the ProcessArea name from the diagram, in this case IP1.

Define Shape Data 2

Once we have tagged up all your shapes, save the diagram with a type of ‘Web Drawing’ and upload it into a document library in the SharePoint site we are going to use as a host.

2. Set up SharePoint to show the diagram

To display the Visio diagram, we need to add the new Visio Web Access web part to the site and configure it. To add the web part, choose to insert a web part and then look in the Office Client Application category and choose Visio Web Access.

Add Web Part

Once the web part has been added, configure it to show the Visio web diagram we added in step 1. This is achieved by simply entering the location of the web drawing in the Web Drawing Url field.

Visio Services Properties

The web part also has a number of other options that can be configured allowing the diagram to be panned, zoomed and opened in Visio. I decided to turn most of these off, but you may choose to keep them enabled.

3. Configure the template document library

Each of the relevant document templates that will be displayed when we select a shape will reside in a document library. In order to identify the relevant document, add a new metadata column called Process Area which contains the corresponding ProcessArea that we tagged up in the Visio diagram. This metadata column will be used to filter the contents of the library.

Document Library

4. Configure the wiki page library and view

Similar to the template document library, the Wiki Page library also needs to be set up to include a Process Area metadata column which will be used to filter the content. However, unlike the document library, in order to render the content of the wiki page, it is necessary to customise the default view to show the ‘Wiki Content’ only.

Wiki Content

Typically when you click on a wiki page, SharePoint will render the whole page including the ‘chrome’ Choosing the ‘Wiki Content’ column ensures only the information entered into the wiki is displayed.

5. Set up the web part connection

Finally, we need to link the various web parts together using a web part connection between the Visio Services web part and the document library / wiki library. Select the Visio Services web part and choose Connections > Send Shape Data To and choose the name of the document library or wiki you want to connect to.

Send Shape to

Then follow the wizard to set up the web part connections, choosing ‘Get Filter Values From’, the then clicking ‘Configure’.

Configure Connection 1

In the Connection settings tab, choose the Provider Field name of ‘ProcessArea’ and the matching Consumer Field Name which will be the same as the metadata column added, in our case ‘Process Area’.

Configure Connection 2

Repeat the above to configure the wiki library and your solution is complete.


9 thoughts on “Another great feature of SharePoint 2010 – Visio Services

  1. Alex,

    Is it possible to use Visio Services to build Project Governance Workflows akin to the “Demand Management” workflows that are illustrated in the virtual server image of Project Server 2010 provided by Microsoft. It strikes me that using Visio to map out the process would be a powerful route to achieving tailored workflows to suit the specific needs of customers.

    • Hi Dominic,

      You can certainly use Visio to build up the normal SharePoint workflows you may use to control a document approval process. A colleague of mine, Elaine van Bergen did a session on this recently at the Australian SharePoint conference, showing how you could use Visio to define the workflow, then genericise it, and later move it into Visual Studio if you wanted to.

      With regards to the Project Server demand management workflows, you can use Visio to build up a visualisation of the workflow to be implemented, but unfortunately you will need to use Visual Studio or Nintex Workflow for Project Server to implement that workflow in the tool. The MS example for a branching workflow at demonstrates this.

      Unfortunately Visio Services itself doesn’t allow any of this, the technology is essentially a web rendered of content, with the limited interaction models described above, it’s still powerful mind you, but the Visio desktop client is what would specifically of use in the scenario you mentioned.


  2. Hi Alex,

    I anm intersted in linking each shape on the visio diagram to link to a specific Wiki page when clicked, and providing the relevant data on that page. Could your method be adapted to do this?



  3. Is there someway I can set the document library so that we can see all (including filtered) documents at start and then when a shape is clicked, the filtering begins?!


  4. Alex :Hi,I am not sure there is. I will have a play and let you know

    Had any luck? Or haven’t you had time to look in to it?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s