Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit...

59
Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsport ale für Unternehmensdaten (IT, BI) mit Visio und SharePoint

Transcript of Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit...

Page 1: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Šenaj Lelić V-TSPMicrosoft Schweiz

Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint

Page 2: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Vortrag- TextViele kennen Visio als Tool für Flussdiagramme, Organigramme und Netzwerkdokumentationen. Dabei verkennt man schnell, dass Visio eigentlich auch eine sehr mächtige Graphikengine ist, die für viele Visualisierungsaufgaben anprogrammiert werden kann. Diese Session zeigt die Grundlagen der Visio Engine und führt in die zwei Programmierumgebungen innerhalb von Visio ein. Damit erstellte Diagramme können dann mit SharePoint 2010 und den Visio Services publiziert werden. Der Publikationsmechanismus der Visio Services hat ebenso ein API welches für die programmatische Steuerung und Navigation verwendet werden kann und so die reine Publikation mit Funktionen erweitert.

Page 3: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Netzwerkportale mit MonitoringProzessportaleVisualisierung von AD, SharePoint und sonstigen InfrastrukturenEigene graphische Visualisierungen

Warum brauche ich Visio?

Page 4: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Fertige graphische EngineEinfach einzubinden (ActiveX, Direkte Ansteuerung, Add-In)Mächtige 2D Visualisierung für Diagramme (kein Zeichenprogramm)Standard-Microsoft Office-Tool UND Applikation

Wieso Visio ?

Page 5: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio ShapeSheet – „das unbekannte Wesen“Grundlagen im ShapeSheet

Visio Automation – „kennt man so ein wenig“Programmierung im Objektmodell

Visio als Komponente – Das Visio Drawing ControlEinbetten und nutzen – ein paar Grundgedanken

Visio Services – Visio goes SharePointGrundlagen Visio ServicesNutzung und Programmierung der Visio Services

Agenda

Page 6: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

ShapeSheet Grundlagen

Visio Shapes

Page 7: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Ist die erste Programmierumgebung von VisioIst essenziell für die Nutzung UND Programmierung in VisioIst wie ein „graphisches Excel“Was der Anwender tut landet im ShapeSheetPoweruser und Programmierer arbeiten direkt im ShapeSheet

Das ShapeSheet

Page 8: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Der Inhalt einer Zelle heisst IMMER Formel (auch wenn nur eine Ziffer drin steht)Kann als Formel oder als berechneter Wert eingesehen und genutzt werden (Wichtig im Objektmodell)Ist etwas USA-lastig Besteht aus Zellen und Zellbezügen

Grundlagen ShapeSheet

Page 9: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Einführung in das ShapeSheet

Demo 1

Page 10: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Programmierung im ShapeSheet

Besteht aus dem Setzen von Zellformeln und –funktionenDas Visio ShapeSheet kennt hunderte von Funktionen

MathematischeGeometrischeLogischeRelationale

ALLES was das Shape ausmacht, steht im ShapeSheetAusnahme: der Text des Shapes

Page 11: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

ShapeSheet - 2Jede Shape hat einen externen und internen Namen

Extern: Prozess.3Intern: Sheet.5

Achtung: die IDs müssen NICHT übereinstimmenDas ShapeSheet ist für EIN Shape definitorischShapeSheet-Referenzen können auf andere Shapes und Zeichenblätter gehen, jedoch die Datei nicht verlassen

Page 12: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

ShapeSheet - 2

Demo 2

Page 13: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

ShapeSheet - 3

Viele Eigenschaften des Shapes sind NUR über das ShapeSheet erreichbar, es gibt hierfür KEINE „Properties“ im ObjektmodellBeispiele:

Farbe in „FillForeGnd“Breite in „Width“Schutzfunktionen in „Protection“Einfache „Shape-Events“ in „Events“

Page 14: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

ShapeSheet - 4

Kenntniss des ShapeSheets ist UNERLÄSSLICH für die Visio-ProgrammierungVorteil: die Logik liegt im Shape, nicht im CodeDeployment: Weitergabe der Schablone

Regel: S F T C

„Shapes First, Then Code“

Page 15: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

ShapeSheet – Zus.fassung

Das Shape ist das ShapeSheet ist das ShapeDas ShapeSheet ist die Grundlage von allemViele Lösungen nutzen NUR das ShapeSheetVisio Lösung := Vorlage + Schablone (+evtl. Code)Wer Excel kann, kann auch das ShapeSheet

Page 16: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Automation in Visio

Visio - Code

Page 17: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Automation

Programmierung gegen das Visio-ObjektmodellVerfügbar:

in jeder COM-Fähigen Sprache (VBA, VB6, C++)In .NET über PIAs, C#, VB.NET etc..

Empfehlung:Visio ab 2007 (bedingt durch Deployment NICHT durch CodeCode auch bei 2003 möglich

Page 18: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Grundlegender Einstieg

Oberstes Element: Visio.ApplicationDann hierarchisch:Documents->Document->Pages->Page>-Shapes->ShapeGenerell: Cells->Cell, aber andere Art von Coding!Cells („ZellennameAusSHapeSheet“).

Page 19: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Programmierung am Shape

Cells.(„Zellenname“) kann als Wert oder als Formel übergeben und ausgelesen werden:

Cells.(„XX“).Formula= String der FormelCells.(„XX“).Result(VisEINHEIT) = Wert

VisEINHEIT: visMilimeters, visSeconds etc..Wichtig: übergeben Sie die richtige EinheitAlternativ: resultStr – gibt den Inhalt immer als (berechneten !) String zurück

Page 20: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Programmierung - Auswahl

Programmierung über externe EXE (Add-On)Programmierung über Einbetten (Drawing Control)Programmierung über In-Memory-Dll (Add-In)

ACHTUNG: Änderung von Visio 2003 zu 2007 (dann aber konsistent mit anderen Office Add-Ins) im Deployment

Page 21: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Objektmodell - 1

Demo 3

Page 22: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Automation - 2

Prototyping in VBA ist Immer noch OKTip: Makro-Rekorder für „ungewöhnliche“ Zugänge im Objektmodell

Page 23: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Bei Add-InsApplication Objekt ist direkt im Application-Fields der ThisAddin-Klasse verfügbarAdd-Ins: In-Process-Memory. Erweiterungen von VisioWerden aber IMMER mitgeladen, also schonendes Ressourcenhandling nötig

Dateikennezichnung über ShapeSheet

Page 24: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

VBA und Makro-Rekorder

Demo 4

Page 25: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Drawing Control und Add-Ins

Demo 5

Page 26: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Hinweise

Das Objektmodell war bis Visio 2007 für alle Editionen (Standard, Professional) identischAb Visio 2010 blockiert das Objektmodell Aufrufe die nicht der Edition entsprechen, bsp:

Diagram Validation: Premium onlyData Connectivity: ab Professional

Generell: bis auf Application – kein new nötig und auch nicht unterstützt!

Page 27: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Automation – Zsfssg.

Automation ist „die halbe Miete“Jeder Aspekt, der nicht über das ShapeSheet zu erreichen ist, ist per Code ansprechbar ( und Zellen über das ShapeSheet)Es bestehen diverse Einbindungsmöglichkeiten

Page 28: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Publikation von Diagrammen

Visio Services

Page 29: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Services - Überblick

Visio Services – eine Komponente von SharePoint 2010

Grundlagen: Visio Services ist ein PUBLIKATIONsmechanismusAnwendung: Visio Web Access WebpartDatenaktualisierung: Datenquellen werden aktualisiert – und damit DatengrafikenEndanwender-sicher: Diagramme können NICHT in Visio Services geändert werdenPoweruser-sicher: Berechtigte Anwender KÖNNEN die Diagramme ändern – im Visio Client

Page 30: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Web Access Webpart

Demo 6

Page 31: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Grundlagen zu Visio Services

Visio Services:Komponente von SharePoint Enterprise ServerReine Publikation, ohne DiagrammänderungMIT Aktualisierung der Datengrafiken (!)Speicherung in speziellem – neuen – Format nötig:

Visio for Web oder Visio Webdrawing (VDW)Zeigt sich dem Anwender als „Visio Web Access“ WebpartDas Visio Services Webpart unterstützt Webpart-Connections

Page 32: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Datenverknüpfungen in Visio Services

Unterstützte Data SourcesSQLSharePoint ListsExcel ServicesOLE DB / ODBCCustom Data Adapters

Nicht unterstütztAccess / Excel (JET & ACE)SQL Analysis Services

Page 33: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Services für den Programmierer und PoweruserDie Visio Services haben ein API: Mashup

APIDas API steht z.B. als JavaScript zur Verfügung

Visualisierung von Shapedaten in anderem Webpart über JavaScript KomponenteHighlightning von Shapes in Visio Web Access Diagramm

Page 34: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Get Drawing URL and Page Name From

Provider sendet document URLConsumer lädt das Diagram zur Ansicht

Page Name nur über SharePoint Designer konfigurierbar

Page 35: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Get Shapes to Highlight From

Provider sendet Liste von Shape NamenConsumer betont die angegebenen Shapes

Highlight Color nur über SharePoint Designer konfigurierbar

Page 36: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Get Filter Results From

Provider sendet Shape Data WerteConsumer betont Shapes mit passenden Werten

Page 37: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Get Shape to View From

Provider sendet Shape NamenConsumer zentriert Sicht auf das angegebene Shape

Zoom Level nur über SharePoint Designer konfigurierbar

Page 38: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Send Shape Data ToProvider ist hier VWA

Auswahl welche Daten an den Consumer gehenConsumer verarbeitet die Argumente

Multiple Argumente nur über SharePoint Designer

Einschließlich der betroffenen Shape Data Felder

Page 39: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Connections verbinden

Web part page kann viele connection beinhaltenAber: nur eine connection per connection Definition

Page 40: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Services JavaScript API

JavaScript basiert

Programmatischer Zugriff aufShape DataHyperlinksAusrichtungsfeld-Koordinaten

Ebenso:Highlight shapesOverlays für das DiagrammMouse events beantwortenPan und Zoom properties ändern

Page 41: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

API SzenarienEvents im Diagramm bewirken Änderungen auf der Seite

OnClick() { for (var j = 0; j < data.length; j++) { if (data[j].label == "Step") { document.getElementById('StepData').src= "http://localhost:8080/details.aspx?ID=" + "'" + data[j].value + "'"; return; }}} // NOTE: this is pseudo code.

Page 42: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

API SzenarienEvents auf der Seite triggern Änderungen im Diagramm

OnClick() { shapes = page1.getShapes(); foreach shape in shapes { if (shape.data[0].value = TextBox.value) { shape.addHighlight(); } }} // NOTE: this is pseudo code.

Page 43: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Services JavaScript APIgetActivePage()

setActivePage()

getShapes()

getItemById() getItemAtIndex()

diagramComplete

shapeMouseEnter

shapeMouseLeave

selectionChanged

diagramError

getSelectedShape()setSelectedShape()

VWA Control

Page

Shapes

Shape

getShapeData()getHyperlinks()

Shape

Page 44: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Services API

VWA Instanz und an events anbinden//--------------------------------------------------------------------------------------------------// Wait till the Visio Web Access HTML & Script has been sent // down from the server and create a VwaControl Object//// Also add handlers for the onDiagramComplete & shapeSelectionChanged//--------------------------------------------------------------------------------------------------Sys.Application.add_load(onApplicationLoad)

function onApplicationLoad(){ vwaControl= new Vwa.VwaControl("WebPartWPQ3");

vwaControl.addHandler("diagramcomplete", onDiagramComplete);

vwaControl.addHandler("shapeselectionchanged", shapeSelectionChangedHandler);}

Page 45: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Services API

selectionChanged für Shape Data handlenfunction shapeSelectionChangedHandler(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") { document.getElementById('StepData').src= "http://vsdemo02:8080/processImproved.aspx?ID=" + "'" + data[j].value + "'";

return; } }

Page 46: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Services APIOverlays nutzen

vwaShape.addOverlay( "myOverlay" + j, generateOverlayMarkup(vwaShape), Vwa.HorizontalAlignment.center, Vwa.VerticalAlignment.middle, shape.getBounds().width, shape.getBounds().height);

function generateOverlayMarkup…

var shapeWidth = shape.getBounds().width;var shapeHeight = shape.getBounds().height;

// Data for path is clock-wise from top leftreturn "<Path Stroke=\"Red\" StrokeThickness=\"2\" Fill=\"#00000000\" Data=\"M0,0 L" + shapeWidth + ",0 L" + shapeWidth + "," + shapeHeight + " L0," + shapeHeight + "z\" \/>";

Page 47: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Objekt: VWAProperties

VersiondiagramURLdisplayMode

MethodengetDiagramURLopenDiagramrefreshDiagramgetActivePage – setActivePagegetAllPageIDsisShapeInView

Page 48: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Objekt: Page

MethodsgetSelectedShape - setSelectedShapecenterViewOnShapegetSizegetIDgetShapesgetPosition – setPositiongetZoom – setZoomisShapeInView

Page 49: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Objekt: Shapes

PropertiesCount

MethodsgetItemAtIndexgetItemByID

Page 50: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Objekt: ShapeProperties

IDboundingBoxLeft – boundingBoxRightboundingBoxTop - boundingBoxBottom

MethodsgetIDgetBoundsgetShapeDatagetHyperlinksaddHighlight – removeHighlight (rectangle)addOverlay – removeOverlay (html or xaml)

Page 51: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio Services – komplexeres Szenario

Demo 7

51

Page 52: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

ZusammenfassungVisio Web Access Web Part

Erzeugung einfacher Dashboards mit automatischem Refresh

Web Part ConnectionsFür Poweruser: erlauben mash ups ohne Code in JavaScript

JavaScript APIMächtige Dashboard Applikationen mit Javascript, html, asp, etc.

Page 53: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Visio 2003-2010Das Dateiformat ist das GLEICHE (Ausnahme: VDW)Alle Lösungen auf ShapeSheet-Basis funktionieren von 2003 – 2010 gleichermassenFunktionen werden „stummgeschaltet“ sind aber „aktiv“ wenn die richtige Plattform die Datei öffnetAUSNAHME: Addins wie Flowchart (Code-Abhängigkeit)

Page 54: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Q&A

Page 56: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 57: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

PowerPoint templateSubtitle color

Example of a slide with a subheadSet the slide title in “Sentence case”Set subheads in “Sentence case”Set subhead to 60pt to match the title sizeThe subhead color is defined for this template but must be selected; In PowerPoint 2007/2010, it should match the section title color

Hyperlink color: www.microsoft.com

Page 58: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Bar chart

Category 1 Category 2 Category 3 Category 40

1

2

3

4

5

6

Series 1Series 2Series 3

Page 59: Šenaj Lelić V-TSP Microsoft Schweiz Visualisierungsportale für Unternehmensdaten (IT, BI) mit Visio und SharePoint.

Line chart

Category 1 Category 2 Category 3 Category 40

1

2

3

4

5

6

Series 1Series 2Series 3