Publishing visual data from Visio
Microsoft Visio has had, for several versions, a useful Save As Web feature that creates a mini-website, complete with widgets for pan and zoom, Shape Data, and shape reports. This has worked best using the Vector Markup Language (VML) in Microsoft Internet Explorer; or in Scalable Vector Graphics (SVG) using a web browser that supports it natively; or in older browsers that have the required plug-in. This is quite powerful, but it does require that the native Visio file is republished if any changes are made to the document. The new Open Packaging Convention XML in Visio 2013 is utilized by Visio Services in SharePoint 2013 to render the diagram in html directly, and has a JavaScript Object Model (JSOM) for developers. In addition, Microsoft has an ActiveX Visio Viewer control that can display native Visio files that are in the new OPC format or the older binary and XML formats.
This control is installed as default with Microsoft Outlook 2007 and later, but is also available as a separate free download from Microsoft. In fact, the Visio Viewer control has a programmable API that enables Shape Data and hyperlinks to be extracted and exposed too. While this viewer has the advantage that the native file does not need to be hosted on SharePoint with Visio Services, its reach is limited by the choice of browsers available and the willingness to make the native Visio file accessible—this is not always the best strategy.
Microsoft Visio 2013 provides Visio Services for Microsoft SharePoint. Therefore, with rendering on the server, any client that accesses the Microsoft SharePoint site will have the ability to view Visio diagrams without having to install anything locally.
The user can interact with the diagrams by clicking on shapes to view the Shape Data, navigating any embedded hyperlinks as well as pan/zoom and print capabilities. These are capabilities of the Save As Web and Visio Viewer options too. In addition, Visio 2013 introduced commenting on shapes and the ability to co-author. These features are extremely useful for collaboration.
Microsoft Visio 2007 introduced the ability to add a data recordset to a diagram and refresh that data so that the diagram could be kept up-to-date, but the Save As Web html pages and the Visio Viewer ActiveX controls are not able to automatically respond to any data changes. Therefore, the diagram can quickly become outdated, thus requiring you to refresh the diagram in Visio, and then to republish it.
Now with Visio Services, that same data recordset can be refreshed by the server, thus providing everyone who views the diagram using the new Visio web part with the latest information. This is extremely nice, but be aware that there are some limitationsfor example, no shapes will be added or deleted in this operation, but data-linked cells will have their formulas updated, which is a big advance from Visio 2010 when only linked Shape Data and Data Graphics were updated. No layer visibility changes will be respected. Still, you no longer have to republish just to refresh the data set!
Note
Visio has a complex layering system. Most CAD systems, for example, insist that all diagram elements belong to a single layer. This layer can either be made visible or not, or all elements on a layer can have a specified color. Drawing elements in Visio can belong to none, one, or many layers! Visio Services, however, simply ignores layers.