Visio Services in SharePoint 2010


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Visio Services in SharePoint 2010

  1. 1. Visio Services in SharePoint 2010<br />Level 200<br />6/27/2010<br />1<br />Visio Services<br />
  2. 2. About me<br />Alexander Meijers<br />Solution Architect / SharePoint Consultant<br />Over 16 years of IT experience<br />Small to large SharePoint projects<br />SharePoint Geek and Speaker<br />Blog:<br />Twitter: @ameijers<br />Email:<br />6/27/2010<br />Visio Services<br />2<br />
  3. 3. Agenda<br />What is Visio Services<br />Visio and your business<br />Visio Graphics Service<br />Visio Web Access Web Part<br />Use a Data Provider<br />Visio Diagram and Scripting<br />Custom Data Provider<br />Lots of demo’s !!!<br />6/27/2010<br />Visio Services<br />3<br />
  4. 4. What is Visio Services<br />Visio Services enables your SharePoint 2010 environment to display and inter-act with Microsoft Visio documents<br />Connection between Microsoft Visio and SharePoint 2010<br />A service in SharePoint 2010<br />Viewing Visio Diagrams without the need for Microsoft Visio installed<br />6/27/2010<br />Visio Services<br />4<br />
  5. 5. Visio and your business<br />By combining visual representation and data together as one creates great insights for business owners within any part of the organization<br />Enrich your business information<br />Impact on how data is monitored in your organization<br />Known products to business owners<br />Microsoft Visio 2010<br />SharePoint 2010<br />Working collaborative in a visual matter<br />6/27/2010<br />Visio Services<br />5<br />
  6. 6. Visio Graphics ServiceInsight<br />SharePoint 2010 Enterprise edition is needed to use Visio Services<br />Features<br />SharePoint Server Enterprise for site collection and site<br />Attached to a Web Application using a Service Application and Service Application Proxy<br />Tenant data<br />Tenant data is not stored<br />The service can be shared in a multi-tenant environment without partitioned<br />6/27/2010<br />Visio Services<br />6<br />
  7. 7. Visio Graphics ServiceSettings<br />Global settings<br />Settings for performance and security<br />Maximum Web drawing size<br />Caching<br />Recalculation duration<br />Handling external data (Unattended Service Account)<br />Trusted data providers<br />SQLOLEDB<br />SQL Server<br />Oracle, IBM<br />Excel Services<br />WSS<br />Custom Data Providers<br />6/27/2010<br />Visio Services<br />7<br />
  8. 8. Visio Web Access Web Part<br />Web Part available under “Business Data”<br />Based on Silverlight<br />Connect to a Visio Drawing<br />Settings<br />Caching<br />Rendering<br />Overriding e.g. current page, pan, zoom <br />Automatic refresh interval<br />Expose Shape date items to other Web Parts using Web Part connections<br />6/27/2010<br />Visio Services<br />8<br />
  9. 9. Visio Web Access Web PartData caching<br />Configuration<br />Service Application configuration under “Global Settings”<br />Visio Web Access Web Part<br />Automatic refresh interval of the Web Part will not override the cache settings in the Service Application<br />6/27/2010<br />Visio Services<br />9<br />
  10. 10. DemoData Provider<br />Case “SharePoint data in a Visio Diagram”<br />Create a Visio Diagram<br />Create a SharePoint list with data<br />Use the “Microsoft SharePoint Foundation List” adapter<br />Connect items to Visio Shapes<br />Save the Visio Diagram as a Visio Drawing in a document library<br />Build a page containing Visio Web Access Web Part and view on SharePoint list<br />6/27/2010<br />Visio Services<br />10<br />
  11. 11. DemoSharePoint data in a Visio Diagram<br />6/27/2010<br />Visio Services<br />11<br />
  12. 12. Visio Diagram & Scripting<br />ECMAScript Object Model<br />Classes<br />Page<br />ShapeCollection<br />Shape<br />Attach to load event of Sys.Application class<br />Get the Id of the Visio Drawing Web Part<br />Look for the phrase class=“VisioWebAccess” and “WebPartWPQ#”<br />Asynchronous operation<br />Do NOT use the opendiagram handler<br />Example code:<br />6/27/2010<br />Visio Services<br />12<br />varvwaControl = new Vwa.VwaControl(“WebPartWPQ#);<br />vwaControl.addHandler(“diagramcomplete”, onDiagramComplete);<br />
  13. 13. Visio Diagram & ScriptingVisio Shape events<br />The following Visio Shape events<br />diagramcomplete<br />diagramerror<br />shapemouseleave<br />shapemouseenter<br />shapeselectionchanged<br />Example code<br />6/27/2010<br />Visio Services<br />13<br />vwaControl.addHandler(“shapemouseenter”, onShapeMouseEnter);<br />function OnShapeMouseEnter(source, args)<br />{<br /> try {<br />vwaShapes.getItemById(args).addHighligh(2, “#FF0000”);<br /> }<br /> catch(err) {<br /> }}<br />
  14. 14. DemoInter-action (no-coding)<br />Case “Inter-act with Visio Diagram”<br />Create a Visio Diagram<br />Generate a ECMAScript (*.js) file<br /><script type=“text/javascript”> … </script><br />Handlers diagramcomplete, shapemouseleave and shapemouseenter<br />Upload the Visio Diagram and script file into a document library<br />Build a page containing Visio Web Access Web Part and Content Editor Part<br />Reference both files from the Web Parts<br />6/27/2010<br />Visio Services<br />14<br />
  15. 15. DemoInter-act with Visio Drawing<br />6/27/2010<br />Visio Services<br />15<br />
  16. 16. Custom Data Provider<br />Presenting data in a Visio Diagram from a specific data source <br />Visio Diagrams can only read data from the data source. Not possible to write back to data source.<br />Development skills needed<br />VBA coding in Microsoft Visio<br />C#/VB.NET coding in VS2010 for SharePoint 2010<br />6/27/2010<br />Visio Services<br />16<br />
  17. 17. Custom Data ProviderVisio Service API<br />Microsoft.Visio.Server.dll<br />Found only in GAC through [drive]:windowsassemblyGAC_MSILMicrosoft.Office.Visio.Server<br />Two classes<br />Microsoft.Office.Visio.Server.AddonDataHandler (abstract)<br />Microsoft.Office.Visio.Server.AddonDataHandlerException<br />Data provider is asynchronous<br />Use the IAsyncResultinterface<br />The actual DataSetis generated inside a separate thread<br />Important methods<br />BeginGetData<br />EndGetData<br />6/27/2010<br />Visio Services<br />17<br />
  18. 18. Custom Data ProviderInstall the Data Provider<br />Use PowerShell script<br />Install<br />Add-SPSolution <disk>CustomDataProvider.wsp<br />Install-SPSolution <disk>CustomDataProvider.wsp –GACDeployment<br />Uninstall<br />Get-SPSolutionCustomDataProvder.wsp | Uninstall-SPSolution<br />Remove-SPSolutionCustomDataProvider.wsp<br />Make it trusted by adding it to the Trusted Data Providers inside the Service Application configuration<br />Use <Namespace.ClassName, AssemblyName, Version=version, Culture=culture, PublicKeyToken=token> as provider Id<br />6/27/2010<br />Visio Services<br />18<br />
  19. 19. Custom Data ProviderConsume from the Data Provider<br />Use VBA code in Microsoft Visio<br />Add a DataRecordset to the DataRecordsets collection of the Visio Diagram<br />Important DataRecordsets members<br />Add (OLEDB or ODBC)<br />AddFromConnectionFile (Office Data Connections)<br />AddFromXML (XML string)<br />6/27/2010<br />Visio Services<br />19<br />
  20. 20. DemoCustom Data Provider accessing a Web Service<br />6/27/2010<br />Visio Services<br />20<br />
  21. 21. Wrap up!<br />Visio Services allows you to create rich data driven dashboards <br />Better insights for business owners<br />Combine with SharePoint lists, Excel Services, SQL databases and other data sources<br />Out-of-the-box inter-active solutions possible<br />Extending the boundaries with Custom Data Providers.<br />6/27/2010<br />Visio Services<br />21<br />
  22. 22. Questions?<br />6/27/2010<br />Visio Services<br />22<br />