SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Visio Services in
Sharepoint 2013
Thomas Browet
What is Visio Services
• Visio Services in SharePoint 2013 enables you to load, display, and
interact programmatically with Visio files on SharePoint Server 2013
and Microsoft SharePoint Online.
Why Visio Services
• Visio diagrams can be rendered by Visio Services and viewed in a Web
browser. This lets users view Visio documents without having Visio or
the Visio Viewer installed on the local computer. This also allows
diagrams to be viewed on mobile devices.
• Basic exploration and navigation of these rendered diagrams are
supported within the Visio Web Access Web Part. Page designers can
configure the user interface and functionality of the Web Part.
• Visio Services can also refresh the data and recalculate the visuals of a
Visio diagram hosted on a SharePoint site. This enables published
diagrams to refresh connections to various data sources (SQL, Excel,
….) and to update affected data graphics and text fields.
Agenda
• VISIO JSOM
• Creating Visio Shapes with Data Binding
• SharePoint, Visio and SVG
Visio JSOM
Visio JSOM
• What is it?
• A JavaScript based object model for communicating with the
Visio Web Access web part

• What can you do with it?
•
•
•
•
•
•

Read shape data, hyperlinks, comments
Select shapes
Add highlights and overlays (HTML + HTML5)
Respond to mouse events
Change the pan and zoom settings
Navigate pages and diagrams ( drill down )
VWA Javascript Object Model
VWA
Control

getActivePage()
setActivePage()

diagramComplete

Page

getShapes()

shapeMouseEnter

Shapes

shapeMouseLeave
selectionChanged
getItemById()

getItemAtIndex()

diagramError

Shape

Shape

getSelectedShape()
setSelectedShape()
getShapeData()
getHyperlinks()
Getting started
Web Part Page

Document Library
Hooking to add_load()
• When the page is loaded you want to call your function that retrieves the instance of the
VWA web part
• This reference is needed to hook events and access VWA objects within the hosted
diagram

• Alternate load methods that do not work with VWA

• window.attachEvent("onload", vwaOnPageLoad);
• window.addEventListener("DOMContentLoaded", vwaOnPageLoad, false);
• $(document).ready(vwaOnPageLoad); // jQuery
Get the VWA web part instance
• Getting the VWA Instance
Or Find the VWA web part instance via
code
Handle the diagramcomplete event
• Connecting handlers to events
Handling the selection changed event
• Additional Handlers once the diagram has been rendered
• removeHandler before adding it again

At this point the JSOM is initialized and the
specified diagram is rendered in the VWA
web part
Handling the selection changed event
function onShapeSelectionChanged(source, shapeId)
{
var vwaPage = vwaControl.getActivePage();
var vwaShapes = vwaPage.getShapes();
var vwaShape = vwaShapes.getItemById(shapeId);
var data = vwaShape.getShapeData();
for (var j = 0; j < data.length; j++)
{
if (data[j].label == "Step")
{
alert(data[j].value);
}
}
}
Access Shape Data
• VWAShape.getShapeData()
• returns an array of objects corresponding to shape data items associated with
a shape
• data[4].label;
• data[4].value; // .formattedValue
Managing Highlights
• Highlights allow you to outline a shape
( draws a rectangle around the shape bounds)
• Shape Methods
• addHighlight
• http://msdn.microsoft.com/en-us/library/ff394531.aspx

• removeHighlight
• http://msdn.microsoft.com/en-us/library/ff394510.aspx
Pixel width

• Note - Only a single highlight rectangle is allowed per shape
nextShape.addHighlight(4, "red");
Color, Hex or Name
Managing Overlays
• Overlays allow you to define custom highlights/graphics
• Shape Methods
• addOverlay
• http://msdn.microsoft.com/en-us/library/ff394546.aspx

• removeOverlay
• http://msdn.microsoft.com/en-us/library/ff394409.aspx

• Multiple overlays are allowed
• Defined using HTML
• even HTML5 elements like Canvas!
Handling additional events
• Additional VWA events
• http://msdn.microsoft.com/en-us/library/ff394574.aspx
• Follows model for Excel Web Access ( EWA )
Event

VwaControl Methods

Description

Diagram Complete

addHandler() / removeHandler()

Triggered when the diagram is loaded, refreshed,
or changed

Diagram Error

addHandler() / removeHandler()

Occurs when a request to render the diagram fails

Shape Mouse Enter

addHandler() / removeHandler()

Triggered when the mouse pointer is moved into
the bounding box of the shape

Shape Mouse Leave

addHandler() / removeHandler()

Triggered when the mouse pointer is moved out of
the bounding box of the shape

Shape Selection Changed

addHandler() / removeHandler()

Occurs when the shape that is currently selected
on the page changes
Deployment
• Manual
• Upload Visio files
• Upload JS/HTML files for Content Editor web parts
• Or paste source directly into HTML Form web parts

• Site Template
• Paths may need to be updated for the specified VDW files for the VWA web parts
Drawing URL property

• WSP
• Included as part of a SharePoint solution package
• Empty SharePoint Project or a Visual Web Part
Debugging
• Debug your scripts using browser developer tools
• In browser, press F12 to display the developer tools

• Click on the Script tab to access script debugging features
• Browse your code, set breakpoints, then reload the page to start debugging on the client
Script logging in IE developer tools
• function tryConsole()
{
if (typeof console != "undefined")
{
console.log("hello world");
}
}
• http://blogs.msdn.com/b/cdnwebdevs/archive/2011/05/26/consolelog-say-goodbye-to-javascript-alerts-for-debugging.aspx
In summary…
• JavaScript API

• Allow developers to build rich dashboard applications using javascript, html, etc.
• Incorporate additional functionality using HTML and Silverlight overlays
• Events from these overlays can call additional functions

• Incorporate VWA API scenarios into other SharePoint development projects
• Site Pages
• Robust Dashboards
• Visual Web Parts

• Want to see how the dev team did it

• C:Program FilesCommon FilesMicrosoft SharedWeb Server
Extensions15TEMPLATELAYOUTSVisioWebAccessworkflowstatus.js
Demo
Creating Visio Shapes with
Data Binding
Enable developer mode in visio
Create a shape from the shape library
Editing with Shapesheet
Binding data value
Changing data value
DataBinding the color of the shape
Playing with the value
Saving the shape
• Once finished you can drag and drop
your shape to a stencil
• So user can use your shape and it’s
shape data easily.
• You can now easily bind these data
value to SQL Server or an Excel File.
SharePoint, Visio and SVG
Why did we use this ?
• We had to build :
• An interactive map of an hospital campus. With a menu that allows to hide
and show buildings or highlight roads.

• Problem : VISIO JSOM, can’t dynamically hide Shapes or change it’s
data value.
SVG
• So we had an idea, why not use SVG.
• Visio can export SVG.
• Wikipedia says :
Scalable Vector Graphics (SVG) is an XML-based vector image format for two-dimensional graphics that has
support for interactivity and animation. The SVG specification is an open standard developed by the World
Wide Web Consortium (W3C) since 1999.

SVG images and their behaviors are defined in XML text files. This means that they can be searched,
indexed, scripted, and, if need be, compressed. As XML files, SVG images can be created and edited with
any text editor, but it is often more convenient to create them with drawing programs such as Inkscape.
All major modern web browsers—including Mozilla Firefox, Internet Explorer 9and 10, Google Chrome, Opera,
and Safari—have at least some degree ofsupport for SVG and can render the markup directly.
Inserting a SVG in SharePoint
• Different ways to add a SVG
• Object tag in sharepoint are not allowed.
• Embed tag, don’t allow us to browse the SVG DOM.

• Solution :
• Load the SVG through an ajax call.
Demo
Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

Creating custom visuals with Power BI Visuals CLI
Creating custom visuals with Power BI Visuals CLICreating custom visuals with Power BI Visuals CLI
Creating custom visuals with Power BI Visuals CLIDenys Chamberland
 
PowerPivot, Power View and SharePoint Server
PowerPivot, Power View and SharePoint ServerPowerPivot, Power View and SharePoint Server
PowerPivot, Power View and SharePoint ServerSPC Adriatics
 
KPI Roll-Up In SharePoint 2007
KPI Roll-Up In SharePoint 2007KPI Roll-Up In SharePoint 2007
KPI Roll-Up In SharePoint 2007PathToSharePoint
 
New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!SPC Adriatics
 
The Power of BI: A guided tour of Microsoft's Business Intelligence tooling
The Power of BI: A guided tour of Microsoft's Business Intelligence toolingThe Power of BI: A guided tour of Microsoft's Business Intelligence tooling
The Power of BI: A guided tour of Microsoft's Business Intelligence toolingJason Himmelstein
 
Mct Summit 2013 Why SharePoint 2013
Mct Summit 2013   Why SharePoint 2013Mct Summit 2013   Why SharePoint 2013
Mct Summit 2013 Why SharePoint 2013Chris Givens
 
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)serge luca
 
Introduction to JSLink in 2013
Introduction to JSLink in 2013Introduction to JSLink in 2013
Introduction to JSLink in 2013Sparkhound Inc.
 
SharePoint Alerts with WCF and jQuery
SharePoint Alerts with WCF and jQuerySharePoint Alerts with WCF and jQuery
SharePoint Alerts with WCF and jQueryNick Hadlee
 
Formation power bi desktop
Formation power bi desktopFormation power bi desktop
Formation power bi desktopamineaidi1
 
Dive into Microsoft SharePoint Server 2016 Upgrade and Migration
Dive into Microsoft SharePoint Server 2016 Upgrade and MigrationDive into Microsoft SharePoint Server 2016 Upgrade and Migration
Dive into Microsoft SharePoint Server 2016 Upgrade and MigrationJason Himmelstein
 
Power-BI and SharePoint
Power-BI and SharePointPower-BI and SharePoint
Power-BI and SharePointatwork
 
SharePoint 2010 Developer 101
SharePoint 2010 Developer 101SharePoint 2010 Developer 101
SharePoint 2010 Developer 101Nick Hadlee
 
How to Manage Data Integration within Microsoft Dynamics
How to Manage Data Integration within Microsoft DynamicsHow to Manage Data Integration within Microsoft Dynamics
How to Manage Data Integration within Microsoft DynamicsGlobalLogic Ukraine
 
Power bi dashboard in hour Agenda
Power bi dashboard in hour AgendaPower bi dashboard in hour Agenda
Power bi dashboard in hour AgendaVishal Pawar
 
Power BI Reporting & Project Online
Power BI Reporting & Project OnlinePower BI Reporting & Project Online
Power BI Reporting & Project OnlineHari Thapliyal
 
Microsoft power bi training courses
Microsoft power bi training coursesMicrosoft power bi training courses
Microsoft power bi training courseskatozesiro
 

Was ist angesagt? (20)

Creating custom visuals with Power BI Visuals CLI
Creating custom visuals with Power BI Visuals CLICreating custom visuals with Power BI Visuals CLI
Creating custom visuals with Power BI Visuals CLI
 
PowerPivot, Power View and SharePoint Server
PowerPivot, Power View and SharePoint ServerPowerPivot, Power View and SharePoint Server
PowerPivot, Power View and SharePoint Server
 
KPI Roll-Up In SharePoint 2007
KPI Roll-Up In SharePoint 2007KPI Roll-Up In SharePoint 2007
KPI Roll-Up In SharePoint 2007
 
New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!
 
The Power of BI: A guided tour of Microsoft's Business Intelligence tooling
The Power of BI: A guided tour of Microsoft's Business Intelligence toolingThe Power of BI: A guided tour of Microsoft's Business Intelligence tooling
The Power of BI: A guided tour of Microsoft's Business Intelligence tooling
 
Mct Summit 2013 Why SharePoint 2013
Mct Summit 2013   Why SharePoint 2013Mct Summit 2013   Why SharePoint 2013
Mct Summit 2013 Why SharePoint 2013
 
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
 
Introduction to JSLink in 2013
Introduction to JSLink in 2013Introduction to JSLink in 2013
Introduction to JSLink in 2013
 
SharePoint Alerts with WCF and jQuery
SharePoint Alerts with WCF and jQuerySharePoint Alerts with WCF and jQuery
SharePoint Alerts with WCF and jQuery
 
Adx studio migration
Adx studio migrationAdx studio migration
Adx studio migration
 
Adx studio migration
Adx studio migrationAdx studio migration
Adx studio migration
 
Formation power bi desktop
Formation power bi desktopFormation power bi desktop
Formation power bi desktop
 
Dive into Microsoft SharePoint Server 2016 Upgrade and Migration
Dive into Microsoft SharePoint Server 2016 Upgrade and MigrationDive into Microsoft SharePoint Server 2016 Upgrade and Migration
Dive into Microsoft SharePoint Server 2016 Upgrade and Migration
 
Power-BI and SharePoint
Power-BI and SharePointPower-BI and SharePoint
Power-BI and SharePoint
 
Anusha Padala
Anusha PadalaAnusha Padala
Anusha Padala
 
SharePoint 2010 Developer 101
SharePoint 2010 Developer 101SharePoint 2010 Developer 101
SharePoint 2010 Developer 101
 
How to Manage Data Integration within Microsoft Dynamics
How to Manage Data Integration within Microsoft DynamicsHow to Manage Data Integration within Microsoft Dynamics
How to Manage Data Integration within Microsoft Dynamics
 
Power bi dashboard in hour Agenda
Power bi dashboard in hour AgendaPower bi dashboard in hour Agenda
Power bi dashboard in hour Agenda
 
Power BI Reporting & Project Online
Power BI Reporting & Project OnlinePower BI Reporting & Project Online
Power BI Reporting & Project Online
 
Microsoft power bi training courses
Microsoft power bi training coursesMicrosoft power bi training courses
Microsoft power bi training courses
 

Ähnlich wie Visio services in sharepoint 2013

SPSOslo 2014 - Visio 2013 & Visio Services – A Quick Guide
SPSOslo 2014 - Visio 2013 & Visio Services – A Quick GuideSPSOslo 2014 - Visio 2013 & Visio Services – A Quick Guide
SPSOslo 2014 - Visio 2013 & Visio Services – A Quick GuideKnut Relbe-Moe [MVP, MCT]
 
SPSNYC - Visio 2013 and Visio Services a quick guide
SPSNYC - Visio 2013 and Visio Services a quick guideSPSNYC - Visio 2013 and Visio Services a quick guide
SPSNYC - Visio 2013 and Visio Services a quick guideKnut Relbe-Moe [MVP, MCT]
 
Visio in the cloud
Visio in the cloudVisio in the cloud
Visio in the cloudDavid Parker
 
A brief introduction on HTML5 and responsive layouts
A brief introduction on HTML5 and responsive layoutsA brief introduction on HTML5 and responsive layouts
A brief introduction on HTML5 and responsive layoutsTim Wray
 
HTML5 & CSS3 refresher for mobile apps
HTML5 & CSS3 refresher for mobile appsHTML5 & CSS3 refresher for mobile apps
HTML5 & CSS3 refresher for mobile appsIvano Malavolta
 
Data Visualization with D3
Data Visualization with D3Data Visualization with D3
Data Visualization with D3Usman Shabbir
 
Intro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site BuildersIntro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site BuildersSuzanne Dergacheva
 
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin..."Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...Yandex
 
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]David Wesst
 
.NET Fest 2017. Matteo Pagani. Prism and Xamarin Forms: create cross-platform...
.NET Fest 2017. Matteo Pagani. Prism and Xamarin Forms: create cross-platform....NET Fest 2017. Matteo Pagani. Prism and Xamarin Forms: create cross-platform...
.NET Fest 2017. Matteo Pagani. Prism and Xamarin Forms: create cross-platform...NETFest
 
MVVM Magic in SharePoint 2010 using Knockoutjs!
MVVM Magic in SharePoint 2010 using Knockoutjs!MVVM Magic in SharePoint 2010 using Knockoutjs!
MVVM Magic in SharePoint 2010 using Knockoutjs!jhendrix88
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4Jon Galloway
 
JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3Helder da Rocha
 
Developing JavaScript Widgets
Developing JavaScript WidgetsDeveloping JavaScript Widgets
Developing JavaScript WidgetsBob German
 
Bringing Data to Life with MongoDB Charts - Guillaume Meister
Bringing Data to Life with MongoDB Charts - Guillaume MeisterBringing Data to Life with MongoDB Charts - Guillaume Meister
Bringing Data to Life with MongoDB Charts - Guillaume MeisterMongoDB
 

Ähnlich wie Visio services in sharepoint 2013 (20)

SPSOslo 2014 - Visio 2013 & Visio Services – A Quick Guide
SPSOslo 2014 - Visio 2013 & Visio Services – A Quick GuideSPSOslo 2014 - Visio 2013 & Visio Services – A Quick Guide
SPSOslo 2014 - Visio 2013 & Visio Services – A Quick Guide
 
SPSOslo 2014 Visio Services
SPSOslo 2014 Visio Services SPSOslo 2014 Visio Services
SPSOslo 2014 Visio Services
 
SPSNYC - Visio 2013 and Visio Services a quick guide
SPSNYC - Visio 2013 and Visio Services a quick guideSPSNYC - Visio 2013 and Visio Services a quick guide
SPSNYC - Visio 2013 and Visio Services a quick guide
 
Visio in the cloud
Visio in the cloudVisio in the cloud
Visio in the cloud
 
A brief introduction on HTML5 and responsive layouts
A brief introduction on HTML5 and responsive layoutsA brief introduction on HTML5 and responsive layouts
A brief introduction on HTML5 and responsive layouts
 
HTML5 & CSS3 refresher for mobile apps
HTML5 & CSS3 refresher for mobile appsHTML5 & CSS3 refresher for mobile apps
HTML5 & CSS3 refresher for mobile apps
 
Data Visualization with D3
Data Visualization with D3Data Visualization with D3
Data Visualization with D3
 
Drupal migrate-june2015
Drupal migrate-june2015Drupal migrate-june2015
Drupal migrate-june2015
 
Intro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site BuildersIntro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site Builders
 
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin..."Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
 
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
 
.NET Fest 2017. Matteo Pagani. Prism and Xamarin Forms: create cross-platform...
.NET Fest 2017. Matteo Pagani. Prism and Xamarin Forms: create cross-platform....NET Fest 2017. Matteo Pagani. Prism and Xamarin Forms: create cross-platform...
.NET Fest 2017. Matteo Pagani. Prism and Xamarin Forms: create cross-platform...
 
MVVM Magic in SharePoint 2010 using Knockoutjs!
MVVM Magic in SharePoint 2010 using Knockoutjs!MVVM Magic in SharePoint 2010 using Knockoutjs!
MVVM Magic in SharePoint 2010 using Knockoutjs!
 
Sai Sharan_UI_Resume
Sai Sharan_UI_ResumeSai Sharan_UI_Resume
Sai Sharan_UI_Resume
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4
 
SVG 101
SVG 101SVG 101
SVG 101
 
JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 
Developing JavaScript Widgets
Developing JavaScript WidgetsDeveloping JavaScript Widgets
Developing JavaScript Widgets
 
Bringing Data to Life with MongoDB Charts - Guillaume Meister
Bringing Data to Life with MongoDB Charts - Guillaume MeisterBringing Data to Life with MongoDB Charts - Guillaume Meister
Bringing Data to Life with MongoDB Charts - Guillaume Meister
 

Mehr von BIWUG

Biwug20190425
Biwug20190425Biwug20190425
Biwug20190425BIWUG
 
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT ProWorking with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT ProBIWUG
 
Global Office 365 Developer Bootcamp
Global Office 365 Developer BootcampGlobal Office 365 Developer Bootcamp
Global Office 365 Developer BootcampBIWUG
 
Deep dive into advanced teams development
Deep dive into advanced teams developmentDeep dive into advanced teams development
Deep dive into advanced teams developmentBIWUG
 
SharePoint wizards - no magic needed, just use Microsoft Flow
SharePoint wizards - no magic needed, just use Microsoft FlowSharePoint wizards - no magic needed, just use Microsoft Flow
SharePoint wizards - no magic needed, just use Microsoft FlowBIWUG
 
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professionalMake IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professionalBIWUG
 
Modern collaboration in teams and projects with Microsoft 365
Modern collaboration in teams and projects with Microsoft 365Modern collaboration in teams and projects with Microsoft 365
Modern collaboration in teams and projects with Microsoft 365BIWUG
 
Mining SharePoint data with PowerBI
Mining SharePoint data with PowerBIMining SharePoint data with PowerBI
Mining SharePoint data with PowerBIBIWUG
 
Don't simply deploy, transform! Build your digital workplace in Office 365
Don't simply deploy, transform! Build your digital workplace in Office 365Don't simply deploy, transform! Build your digital workplace in Office 365
Don't simply deploy, transform! Build your digital workplace in Office 365BIWUG
 
Connect SharePoint Framework solutions to APIs secured with Azure AD
Connect SharePoint Framework solutions to APIs secured with Azure ADConnect SharePoint Framework solutions to APIs secured with Azure AD
Connect SharePoint Framework solutions to APIs secured with Azure ADBIWUG
 
Cloud First. Be Prepared
Cloud First. Be PreparedCloud First. Be Prepared
Cloud First. Be PreparedBIWUG
 
APIs, APIs Everywhere!
APIs, APIs Everywhere!APIs, APIs Everywhere!
APIs, APIs Everywhere!BIWUG
 
Advanced PowerShell for Office 365
Advanced PowerShell for Office 365Advanced PowerShell for Office 365
Advanced PowerShell for Office 365BIWUG
 
New era of customizing site provisioning
New era of customizing site provisioningNew era of customizing site provisioning
New era of customizing site provisioningBIWUG
 
Understanding SharePoint Framework Extensions
Understanding SharePoint Framework ExtensionsUnderstanding SharePoint Framework Extensions
Understanding SharePoint Framework ExtensionsBIWUG
 
Microsoft Flow in Real World Projects: 2 Years later & What's next
Microsoft Flow in Real World Projects: 2 Years later & What's nextMicrosoft Flow in Real World Projects: 2 Years later & What's next
Microsoft Flow in Real World Projects: 2 Years later & What's nextBIWUG
 
Microsoft Stream - Your enterprise video portal unleashed
Microsoft Stream - Your enterprise video portal unleashedMicrosoft Stream - Your enterprise video portal unleashed
Microsoft Stream - Your enterprise video portal unleashedBIWUG
 
What's new in SharePoint Server 2019
What's new in SharePoint Server 2019What's new in SharePoint Server 2019
What's new in SharePoint Server 2019BIWUG
 
Why you shouldn't probably care about Machine Learning
Why you shouldn't probably care about Machine LearningWhy you shouldn't probably care about Machine Learning
Why you shouldn't probably care about Machine LearningBIWUG
 
Transforming your classic team sites in group connected team sites
Transforming your classic team sites in group connected team sitesTransforming your classic team sites in group connected team sites
Transforming your classic team sites in group connected team sitesBIWUG
 

Mehr von BIWUG (20)

Biwug20190425
Biwug20190425Biwug20190425
Biwug20190425
 
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT ProWorking with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
 
Global Office 365 Developer Bootcamp
Global Office 365 Developer BootcampGlobal Office 365 Developer Bootcamp
Global Office 365 Developer Bootcamp
 
Deep dive into advanced teams development
Deep dive into advanced teams developmentDeep dive into advanced teams development
Deep dive into advanced teams development
 
SharePoint wizards - no magic needed, just use Microsoft Flow
SharePoint wizards - no magic needed, just use Microsoft FlowSharePoint wizards - no magic needed, just use Microsoft Flow
SharePoint wizards - no magic needed, just use Microsoft Flow
 
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professionalMake IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
 
Modern collaboration in teams and projects with Microsoft 365
Modern collaboration in teams and projects with Microsoft 365Modern collaboration in teams and projects with Microsoft 365
Modern collaboration in teams and projects with Microsoft 365
 
Mining SharePoint data with PowerBI
Mining SharePoint data with PowerBIMining SharePoint data with PowerBI
Mining SharePoint data with PowerBI
 
Don't simply deploy, transform! Build your digital workplace in Office 365
Don't simply deploy, transform! Build your digital workplace in Office 365Don't simply deploy, transform! Build your digital workplace in Office 365
Don't simply deploy, transform! Build your digital workplace in Office 365
 
Connect SharePoint Framework solutions to APIs secured with Azure AD
Connect SharePoint Framework solutions to APIs secured with Azure ADConnect SharePoint Framework solutions to APIs secured with Azure AD
Connect SharePoint Framework solutions to APIs secured with Azure AD
 
Cloud First. Be Prepared
Cloud First. Be PreparedCloud First. Be Prepared
Cloud First. Be Prepared
 
APIs, APIs Everywhere!
APIs, APIs Everywhere!APIs, APIs Everywhere!
APIs, APIs Everywhere!
 
Advanced PowerShell for Office 365
Advanced PowerShell for Office 365Advanced PowerShell for Office 365
Advanced PowerShell for Office 365
 
New era of customizing site provisioning
New era of customizing site provisioningNew era of customizing site provisioning
New era of customizing site provisioning
 
Understanding SharePoint Framework Extensions
Understanding SharePoint Framework ExtensionsUnderstanding SharePoint Framework Extensions
Understanding SharePoint Framework Extensions
 
Microsoft Flow in Real World Projects: 2 Years later & What's next
Microsoft Flow in Real World Projects: 2 Years later & What's nextMicrosoft Flow in Real World Projects: 2 Years later & What's next
Microsoft Flow in Real World Projects: 2 Years later & What's next
 
Microsoft Stream - Your enterprise video portal unleashed
Microsoft Stream - Your enterprise video portal unleashedMicrosoft Stream - Your enterprise video portal unleashed
Microsoft Stream - Your enterprise video portal unleashed
 
What's new in SharePoint Server 2019
What's new in SharePoint Server 2019What's new in SharePoint Server 2019
What's new in SharePoint Server 2019
 
Why you shouldn't probably care about Machine Learning
Why you shouldn't probably care about Machine LearningWhy you shouldn't probably care about Machine Learning
Why you shouldn't probably care about Machine Learning
 
Transforming your classic team sites in group connected team sites
Transforming your classic team sites in group connected team sitesTransforming your classic team sites in group connected team sites
Transforming your classic team sites in group connected team sites
 

Kürzlich hochgeladen

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Kürzlich hochgeladen (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Visio services in sharepoint 2013

  • 1. Visio Services in Sharepoint 2013 Thomas Browet
  • 2. What is Visio Services • Visio Services in SharePoint 2013 enables you to load, display, and interact programmatically with Visio files on SharePoint Server 2013 and Microsoft SharePoint Online.
  • 3. Why Visio Services • Visio diagrams can be rendered by Visio Services and viewed in a Web browser. This lets users view Visio documents without having Visio or the Visio Viewer installed on the local computer. This also allows diagrams to be viewed on mobile devices. • Basic exploration and navigation of these rendered diagrams are supported within the Visio Web Access Web Part. Page designers can configure the user interface and functionality of the Web Part. • Visio Services can also refresh the data and recalculate the visuals of a Visio diagram hosted on a SharePoint site. This enables published diagrams to refresh connections to various data sources (SQL, Excel, ….) and to update affected data graphics and text fields.
  • 4. Agenda • VISIO JSOM • Creating Visio Shapes with Data Binding • SharePoint, Visio and SVG
  • 6. Visio JSOM • What is it? • A JavaScript based object model for communicating with the Visio Web Access web part • What can you do with it? • • • • • • Read shape data, hyperlinks, comments Select shapes Add highlights and overlays (HTML + HTML5) Respond to mouse events Change the pan and zoom settings Navigate pages and diagrams ( drill down )
  • 7. VWA Javascript Object Model VWA Control getActivePage() setActivePage() diagramComplete Page getShapes() shapeMouseEnter Shapes shapeMouseLeave selectionChanged getItemById() getItemAtIndex() diagramError Shape Shape getSelectedShape() setSelectedShape() getShapeData() getHyperlinks()
  • 8. Getting started Web Part Page Document Library
  • 9. Hooking to add_load() • When the page is loaded you want to call your function that retrieves the instance of the VWA web part • This reference is needed to hook events and access VWA objects within the hosted diagram • Alternate load methods that do not work with VWA • window.attachEvent("onload", vwaOnPageLoad); • window.addEventListener("DOMContentLoaded", vwaOnPageLoad, false); • $(document).ready(vwaOnPageLoad); // jQuery
  • 10. Get the VWA web part instance • Getting the VWA Instance
  • 11. Or Find the VWA web part instance via code
  • 12. Handle the diagramcomplete event • Connecting handlers to events
  • 13. Handling the selection changed event • Additional Handlers once the diagram has been rendered • removeHandler before adding it again At this point the JSOM is initialized and the specified diagram is rendered in the VWA web part
  • 14. Handling the selection changed event function onShapeSelectionChanged(source, shapeId) { var vwaPage = vwaControl.getActivePage(); var vwaShapes = vwaPage.getShapes(); var vwaShape = vwaShapes.getItemById(shapeId); var data = vwaShape.getShapeData(); for (var j = 0; j < data.length; j++) { if (data[j].label == "Step") { alert(data[j].value); } } }
  • 15. Access Shape Data • VWAShape.getShapeData() • returns an array of objects corresponding to shape data items associated with a shape • data[4].label; • data[4].value; // .formattedValue
  • 16. Managing Highlights • Highlights allow you to outline a shape ( draws a rectangle around the shape bounds) • Shape Methods • addHighlight • http://msdn.microsoft.com/en-us/library/ff394531.aspx • removeHighlight • http://msdn.microsoft.com/en-us/library/ff394510.aspx Pixel width • Note - Only a single highlight rectangle is allowed per shape nextShape.addHighlight(4, "red"); Color, Hex or Name
  • 17. Managing Overlays • Overlays allow you to define custom highlights/graphics • Shape Methods • addOverlay • http://msdn.microsoft.com/en-us/library/ff394546.aspx • removeOverlay • http://msdn.microsoft.com/en-us/library/ff394409.aspx • Multiple overlays are allowed • Defined using HTML • even HTML5 elements like Canvas!
  • 18. Handling additional events • Additional VWA events • http://msdn.microsoft.com/en-us/library/ff394574.aspx • Follows model for Excel Web Access ( EWA ) Event VwaControl Methods Description Diagram Complete addHandler() / removeHandler() Triggered when the diagram is loaded, refreshed, or changed Diagram Error addHandler() / removeHandler() Occurs when a request to render the diagram fails Shape Mouse Enter addHandler() / removeHandler() Triggered when the mouse pointer is moved into the bounding box of the shape Shape Mouse Leave addHandler() / removeHandler() Triggered when the mouse pointer is moved out of the bounding box of the shape Shape Selection Changed addHandler() / removeHandler() Occurs when the shape that is currently selected on the page changes
  • 19. Deployment • Manual • Upload Visio files • Upload JS/HTML files for Content Editor web parts • Or paste source directly into HTML Form web parts • Site Template • Paths may need to be updated for the specified VDW files for the VWA web parts Drawing URL property • WSP • Included as part of a SharePoint solution package • Empty SharePoint Project or a Visual Web Part
  • 20. Debugging • Debug your scripts using browser developer tools • In browser, press F12 to display the developer tools • Click on the Script tab to access script debugging features • Browse your code, set breakpoints, then reload the page to start debugging on the client
  • 21. Script logging in IE developer tools • function tryConsole() { if (typeof console != "undefined") { console.log("hello world"); } } • http://blogs.msdn.com/b/cdnwebdevs/archive/2011/05/26/consolelog-say-goodbye-to-javascript-alerts-for-debugging.aspx
  • 22. In summary… • JavaScript API • Allow developers to build rich dashboard applications using javascript, html, etc. • Incorporate additional functionality using HTML and Silverlight overlays • Events from these overlays can call additional functions • Incorporate VWA API scenarios into other SharePoint development projects • Site Pages • Robust Dashboards • Visual Web Parts • Want to see how the dev team did it • C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions15TEMPLATELAYOUTSVisioWebAccessworkflowstatus.js
  • 23. Demo
  • 24. Creating Visio Shapes with Data Binding
  • 26. Create a shape from the shape library
  • 30. DataBinding the color of the shape
  • 32. Saving the shape • Once finished you can drag and drop your shape to a stencil • So user can use your shape and it’s shape data easily. • You can now easily bind these data value to SQL Server or an Excel File.
  • 34. Why did we use this ? • We had to build : • An interactive map of an hospital campus. With a menu that allows to hide and show buildings or highlight roads. • Problem : VISIO JSOM, can’t dynamically hide Shapes or change it’s data value.
  • 35. SVG • So we had an idea, why not use SVG. • Visio can export SVG. • Wikipedia says : Scalable Vector Graphics (SVG) is an XML-based vector image format for two-dimensional graphics that has support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium (W3C) since 1999. SVG images and their behaviors are defined in XML text files. This means that they can be searched, indexed, scripted, and, if need be, compressed. As XML files, SVG images can be created and edited with any text editor, but it is often more convenient to create them with drawing programs such as Inkscape. All major modern web browsers—including Mozilla Firefox, Internet Explorer 9and 10, Google Chrome, Opera, and Safari—have at least some degree ofsupport for SVG and can render the markup directly.
  • 36. Inserting a SVG in SharePoint • Different ways to add a SVG • Object tag in sharepoint are not allowed. • Embed tag, don’t allow us to browse the SVG DOM. • Solution : • Load the SVG through an ajax call.
  • 37. Demo