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.
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).
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.
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.
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.
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.
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.
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.
Then follow the wizard to set up the web part connections, choosing ‘Get Filter Values From’, the then clicking ‘Configure’.
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’.
Repeat the above to configure the wiki library and your solution is complete.