Partager via


Création d’un fournisseur de données personnalisé avec Visio Services

Dernière modification : mardi 3 décembre 2013

S’applique à : SharePoint Server 2010

Dans cet article
Fournisseurs de données personnalisés
API Visio Services
Création d’un fournisseur de données personnalisé
Créer les exemples de fichiers
Création du fournisseur de données personnalisé et déploiement sur SharePoint Server
Créer et compiler la solution Visual Studio 2010
Création et exécution du Script PowerShell
Ajout d’un nouveau fournisseur de données approuvé au service Graphiques Visio
Test de l’exemple de fournisseur de données personnalisé

Visio Services permet d’afficher des dessins Microsoft Visio 2010 publiés sous forme de fichiers .vdw dans le composant WebPart Visio Web Access de Microsoft SharePoint Server 2010. Vous pouvez utiliser la bibliothèque de classes Visio Services pour créer des modules de données Visio Services personnalisés ou des fournisseurs de données personnalisés, qui vous permettent d’actualiser par programme les données issues de sources de données personnalisées dans les dessins Web Visio 2010 hébergés sur un site Microsoft SharePoint Server 2010.

Cette rubrique décrit les principales classes et méthodes de la bibliothèque de classes Visio Services, explique comment créer et déployer un exemple de fournisseur de données personnalisé utilisant des données issues d’un fichier XML, et montre comment créer un exemple de fichier .vdw Visio contenant une connexion aux données, qui peut être actualisé par le fournisseur de données personnalisé.

Fournisseurs de données personnalisés

Les dessins Visio peuvent utiliser les données de différents fournisseurs de données standard, qu’il s’agisse de fichiers Microsoft Excel, de listes SharePoint, de bases de données SQL ou d’autres sources de données compatibles ODBC. Cette fonctionnalité s’étend aux dessins affichés dans le client Visio et aux dessins Visio (fichiers .vdw) affichés dans le composant WebPart Visio Web Access dans une page SharePoint. Si vous souhaitez qu’un dessin utilise des données issues d’une source de données qui ne fait pas partie des sources énumérées ci-dessus, vous pouvez créer un fournisseur de données personnalisé. Votre fournisseur de données personnalisé peut se connecter à des données issues de fichiers XML, comme dans l’exemple évoqué dans la section « Création d’un fournisseur de données personnalisé » de cet article : services Web, cubes OLAP et de nombreuses autres sources de données. Vous devez écrire le code permettant de créer un fournisseur de données personnalisé, installer ce fournisseur de données personnalisé sur un serveur sur lequel SharePoint Server 2010 est installé et exécutant Visio Services, puis ajouter votre fournisseur de données personnalisé à la liste des fournisseurs de données approuvés pour Visio Services.

API Visio Services

L’API Visio Services se compose de deux classes et des méthodes associées : la classe de base abstraite AddonDataHandler et la classe AddonDataHandlerException. Ces classes constituent l’espace de noms Microsoft.Office.Visio.Server et sont distribuées dans le fichier Microsoft.Office.Visio.Server.dll. Dans le code de votre solution, créez par exemple une classe appelée VisioCustomDataProvider qui hérite de la classe de base AddonDataHandler et de l’interface IAsyncResult, et qui les implémente. Le fichier VisioCustomDataProvider.cs décrit dans cet article est un exemple d’implémentation de cette interface.

Classe de base AddonDataHandler

Des modules de données personnalisés sont utilisés pour interroger les sources de données pour lesquelles le serveur n’offre pas de prise en charge intégrée. Un module de données personnalisé est représenté par une classe publique qui hérite de AddonDataHandler et implémente ses membres abstraits ainsi que l’interface IAsyncResult. L’exemple de solution décrit dans cet article fournit un exemple d’implémentation de ces membres.

Tableau 1. Membres de la classe de base AddonDataHandler

Nom du membre

Description

Méthode BeginGetData(HttpContext, AsyncCallback, Object)

Appelée par Visio Services pour lancer la récupération de données auprès de la source de données spécifiée par le fournisseur de données personnalisé. Lorsque vous implémentez cette méthode, faites en sorte qu’elle renvoie les données le plus rapidement possible, car les fournisseurs de données personnalisés sont conçus pour être exécutés de façon asynchrone.

Méthode EndGetData(IAsyncResult)

Appelée par Visio Services une fois que ce fournisseur de données personnalisé a terminé la récupération des données. Cette méthode doit renvoyer à Visio Services les données récupérées par le fournisseur de données personnalisé sous la forme d’un objet DataSet ADO.NET.

Méthode Cancel()

Appelée par Visio Services pour arrêter le traitement asynchrone des données lorsqu’une erreur est détectée ou lorsque le délai maximal alloué pour la récupération des données a expiré et que la récupération de données n’est pas terminée.

Propriété Data

Spécifie l’objet DataSet ADO.NET que le fournisseur de données personnalisé doit remplir en utilisant les données mises à jour, puis renvoyer à Visio Services.

Propriété QueryString

Spécifie la chaîne de commande associée à l’objet Visio DataRecordset actualisé par le fournisseur de données personnalisé. Visio Services analyse cette chaîne à partir du dessin Web (fichier .vdw) au moment de l’actualisation du dessin et affecte sa valeur à cette propriété. Cette chaîne est une liste de paires clé/valeur séparées par des points-virgules. Chaque paire contient la clé et la valeur, séparées par un signe =. Le format de la chaîne doit se présenter comme suit : "DataModule=nom_complet_classe, nom_assembly_simple; Clé1=Valeur1;Clé2=Valeur2;…", où nom_complet_classe est le nom de la classe (espace de noms inclus) et où nom_assembly_simple est le nom de l’assembly, sans aucune autre information d’identité. En tant que développeur, vous pouvez utiliser le reste de la chaîne (paires clé/valeur) comme vous le souhaitez. Pour plus d’informations sur cette chaîne, consultez la section « Spécification du module de données à utiliser sur le serveur dans le fichier .vdw » dans le présent article.

La valeur de cette propriété est identique à celle de la propriété CommandString de l’objet Visio DataRecordset associé.

Notes

Pour découvrir un exemple de chaîne, consultez le code figurant dans cet article.

Propriété ConnectionString

Spécifie la chaîne de connexion associée à l’objet Visio DataRecordset actualisé par le fournisseur de données personnalisé. Visio Services analyse cette chaîne à partir du dessin Web (fichier .vdw) au moment de l’actualisation du dessin et affecte sa valeur à cette propriété. Le format de cette chaîne est une liste de paires clé/valeur séparées par des points-virgules. Chaque paire contient la clé et la valeur, séparées par un signe =.

La valeur de cette propriété est identique à celle de la propriété ConnectionString de l’objet Visio DataRecordset associé.

Propriété Error

Renvoie un objet d’exception décrivant l’erreur qui se produirait si ce fournisseur de données personnalisé n’arrivait pas à récupérer les données à partir de la source de données externe associée. Cette propriété peut être utilisée pour propager les informations d’erreur vers l’appelant si un échec se produit au cours du traitement asynchrone. Si le type de cette exception est AddonDataHandlerException, le message d’exception est présenté à l’utilisateur en l’état . Sinon, un message générique est présenté à l’utilisateur.

Classe AddonDataHandlerException

La classe de base AddonDataHandlerException représente une exception que Visio Services peut générer pour transmettre un message d’erreur à l’utilisateur.

Vous pouvez attribuer à la propriété Error de la classe AddonDataHandler une exception de n’importe quel type. Si l’exception est de type AddonDataHandlerException, le message d’erreur décrivant l’exception, qui se compose de la valeur du paramètre message transmis au constructeur de l’objet AddonDataHandlerException, est présenté à l’utilisateur. Sinon, un message d’erreur générique s’affiche.

Création d’un fournisseur de données personnalisé

Suivez cette procédure générale pour créer un fournisseur de données personnalisé. Chaque étape est décrite plus en détail dans la suite de cet article, à partir de la section suivante, « Créer les exemples de fichiers ».

Pour créer un fournisseur de données personnalisé

  1. Créez les exemples de fichiers et déployez-les sur l’ordinateur SharePoint Server 2010.

    Ces exemples de fichiers incluent le fichier XML qui contiendra les données sur le serveur et le fichier de dessin Web Visio 2010 (.vdw) que vous souhaitez afficher sur un site SharePoint. Ce dessin affiche les données récupérées par le fournisseur de données personnalisé à partir d’une source de données qui n’est pas prise en charge nativement par Visio 2010.

  2. Sur l’ordinateur SharePoint Server 2010, créez et compilez une solution Visual Studio 2010 implémentant l’API Visio Services pour créer le fournisseur de données personnalisé.

  3. Utilisez un script Windows PowerShell ou une autre méthode pour déployer le fournisseur de données personnalisé sur l’ordinateur SharePoint Server 2010.

  4. Dans l’Administration centrale de SharePoint, ajoutez le fournisseur de données personnalisé à la liste des sources de données approuvées du service Graphiques Visio.

  5. Testez l’exemple de fournisseur de données personnalisé en générant le rendu du dessin Visio dans un composant WebPart Visio Web Access sur le serveur.

    Désormais, lorsque vous modifiez les données dans la source de données et que vous actualisez le dessin Visio, la page du dessin Web actuel est actualisée pour prendre en compte les données du serveur, qui reflètent les modifications réalisées.

    Notes

    En raison de la manière dont les données sont mises en cache sur le serveur, l’actualisation du dessin ne prend pas toujours immédiatement en compte les modifications apportées dans la source de données.

Créer les exemples de fichiers

Vous devez créer un fichier de données XML et un exemple de fichier Visio .vdw à publier sur l’ordinateur SharePoint Server. L’exemple de fichier .vdw affiche les données initiales que vous importez dans le dessin, en utilisant du code VBA (Visual Basic for Applications). Une fois que le dessin est affiché dans le composant WebPart Visio Web Access, vous pouvez modifier les données dans le fichier XML, qui sont au départ identiques aux données du dessin, puis actualiser le dessin pour afficher les données modifiées.

La figure 1 montre l’apparence de votre dessin Visio au terme de l’opération.

Figure 1. Dessin Visio terminé

Fichier Visio terminé

Création du fichier de données XML à publier sur le serveur

Pour créer le fichier de données XML à publier sur le serveur, procédez comme suit.

Pour créer le fichier de données XML à publier sur le serveur

  1. Dans le Bloc-notes ou un autre éditeur de texte, créez un fichier.

  2. Collez le code suivant dans le fichier.

    <?xml version="1.0" standalone="yes"?>
    <DemoDataDataSet>
      <xs:schema id="NewDataSet"  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
        <xs:element name="DemoDataDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
          <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element name="SuperMarketData">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Name" minOccurs="0">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="50" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="IP" minOccurs="0">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="50" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Status" minOccurs="0">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="50" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:choice>
          </xs:complexType>
        </xs:element>
      </xs:schema>
      <SuperMarketData>
        <Name>sql-sales-01</Name>
        <IP>10.0.5.1</IP>
        <Status>Online</Status>
      </SuperMarketData>
      <SuperMarketData>
        <Name>sql-sales-02</Name>
        <IP>10.0.5.2</IP>
        <Status>Online</Status>
      </SuperMarketData>
      <SuperMarketData>
        <Name>filestore-sales-01</Name>
        <IP>10.0.5.3</IP>
        <Status>Online</Status>
      </SuperMarketData>
      <SuperMarketData>
        <Name>webserver-01</Name>
        <IP>10.0.5.0</IP>
        <Status>Online</Status>
      </SuperMarketData>
    </DemoDataDataSet>
    
  3. Attribuez le nom VisioCustomData.xml au fichier, puis enregistrez-le à un emplacement auquel vous pouvez accéder facilement.

Dans le code XML précédent, les données réelles à afficher sont contenues dans les jeux de balises <SuperMarketData>, situés à la fin du fichier. Elles sont indiquées dans le tableau 2.

Tableau 2. Données à afficher dans le fichier Visio

Nom de l’ordinateur

Adresse IP

État

sql-sales-01

10.0.5.1

En ligne

sql-sales-02

10.0.5.2

En ligne

filestore-sales-01

10.0.5.3

Hors ligne

webserver-01

10.0.5.0

En ligne

Lorsque vous élaborez le diagramme Visio 2010, vous utilisez le code VBA illustré dans la section suivante pour importer ces données directement dans le diagramme, afin de définir les données initiales à afficher. Ensuite, après avoir affiché le diagramme dans SharePoint Server 2010, vous pouvez modifier les données dans le fichier XML présent sur le serveur et actualiser le dessin généré à partir des données du serveur.

Création de l’exemple de fichier Visio .vdw

Vous devez commencer par utiliser à la fois l’interface utilisateur de Visio et du code VBA dans l’outil Visual Basic Editor de Visio pour créer le dessin Visio devant afficher les données. Utilisez ensuite le code VBA pour importer les données dans un jeu d’enregistrements de données dans Visio, puis liez les données de ce jeu d’enregistrements de données aux formes de la page de dessin. Vous pouvez également affecter au jeu d’enregistrements de données nouvellement créé la chaîne de commande établissant la connexion entre le dessin publié et le fournisseur de données personnalisé présent sur le serveur. Enfin, utilisez l’interface utilisateur de Visio pour personnaliser les graphiques de données affichant les données associées aux différentes formes.

Dans la procédure ImportData, le code VBA utilise la méthode DataRecordset.AddFromXML pour ajouter les données au dessin. Si vous utilisez cette méthode dans vos propres projets, le fichier XML que vous publiez sur le serveur doit contenir les mêmes données et doit présenter la même structure de données que les données que vous importez dans le dessin à l’aide du code VBA. Le nombre de colonnes doit être identique, le nombre de lignes doit être identique et chaque colonne doit être associée aux mêmes types de données.

Pour créer l’exemple de fichier Visio .vdw

  1. Dans Visio 2010, créez un dessin vierge. Cliquez sur Fichier, puis sur Nouveau. Sous Autres méthodes pour commencer, cliquez sur Zone de dessin vierge, puis sur Créer.

  2. Enregistrez le dessin sous forme de fichier .vdw. Cliquez sur Fichier, puis sur Enregistrer. Accédez à l’emplacement où vous souhaitez enregistrer le fichier. Tapez SampleDiagram comme nom de fichier. Dans la liste Type de fichier, cliquez sur Dessin Web (*.vdw), puis cliquez sur Enregistrer.

  3. Appuyez sur ALT+F11 pour ouvrir Visual Basic Editor.

  4. Dans le volet Explorateur de projets, double-cliquez sur le projet ThisDocument(SampleDiagram) .

  5. Collez le code suivant dans le volet Code.

    Notes

    Le code suivant ouvre des gabarits exprimés en unités américaines. Si vous souhaitez utiliser des gabarits utilisant des unités métriques, modifiez les noms de gabarit et appelez-les respectivement « COMPS_M.VSS », « NETLOC_M.VSS » et « SERVER_M.VSS ».

    Sub ChangeOrientationAndOpenStencils()
    
        'Enable diagram services.
        Dim DiagramServices As Integer
        DiagramServices = ActiveDocument.DiagramServicesEnabled
        ActiveDocument.DiagramServicesEnabled = visServiceVersion140
    
        Application.ActiveWindow.ViewFit = visFitPage
    
        Application.ActiveWindow.Page.PageSheet.CellsSRC(visSectionObject, visRowPage, visPageWidth).FormulaU = "11 in"
        Application.ActiveWindow.Page.PageSheet.CellsSRC(visSectionObject, visRowPage, visPageHeight).FormulaU = "8.5 in"
        Application.ActiveWindow.Page.PageSheet.CellsSRC(visSectionObject, visRowPrintProperties, visPrintPropertiesPageOrientation).FormulaForceU = "2"
        Application.EndUndoScope UndoScopeID1, True
    
        Application.Documents.OpenEx "server_u.vss", visOpenRO + visOpenDocked
    
        Application.Documents.OpenEx "netloc_u.vss", visOpenRO + visOpenDocked
    
        Application.Documents.OpenEx "comps_u.vss", visOpenRO + visOpenDocked
    
        'Restore diagram services
        ActiveDocument.DiagramServicesEnabled = DiagramServices
    
    End Sub
    
    Sub DropAndConnectShapes()
    
        Dim DiagramServices As Integer
        Dim vsoShapeServer1 As Shape
        Dim vsoShapeServer2 As Shape
        Dim vsoShapeServer3 As Shape
        Dim vsoShapeWebServer As Shape
        Dim vsoShapeCloud As Shape
        Dim vsoShapePC As Shape
        Dim vsoSelection As Selection
    
        'Enable diagram services.    
        DiagramServices = ActiveDocument.DiagramServicesEnabled
        ActiveDocument.DiagramServicesEnabled = visServiceVersion140
    
    
        Set vsoShapePC = Application.ActiveWindow.Page.Drop(Application.Documents.Item("COMPS_U.VSS").Masters.ItemU("PC"), 10#, 4.5)
    
        Set vsoShapeCloud = Application.ActiveWindow.Page.Drop(Application.Documents.Item("NETLOC_U.VSS").Masters.ItemU("Cloud"), 8#, 4.5)
        vsoShapeCloud.AutoConnect vsoShapePC, visAutoConnectDirRight
    
        Set vsoShapeWebServer = Application.ActiveWindow.Page.Drop(Application.Documents.Item("SERVER_U.VSS").Masters.ItemU("Web Server"), 6#, 4.5)
        vsoShapeWebServer.AutoConnect vsoShapeCloud, visAutoConnectDirRight  
    
        Set vsoShapeServer1 = Application.ActiveWindow.Page.Drop(Application.Documents.Item("SERVER_U.VSS").Masters.ItemU("Server"), 2#, 2)
        vsoShapeServer1.AutoConnect vsoShapeWebServer, visAutoConnectDirRight
    
        Set vsoShapeServer2 = Application.ActiveWindow.Page.Drop(Application.Documents.Item("SERVER_U.VSS").Masters.ItemU("Server"), 2#, 4.5)
        vsoShapeServer2.AutoConnect vsoShapeWebServer, visAutoConnectDirRight  
    
        Set vsoShapeServer3 = Application.ActiveWindow.Page.Drop(Application.Documents.Item("SERVER_U.VSS").Masters.ItemU("Server"), 2#, 7)
        vsoShapeServer3.AutoConnect vsoShapeWebServer, visAutoConnectDirRight
    
        ActiveWindow.DeselectAll
        ActiveWindow.Select vsoShapeWebServer, visSelect
        Application.ActiveWindow.Selection.Move 1.5, 0#
    
        'Restore diagram services.
        ActiveDocument.DiagramServicesEnabled = DiagramServices
    
    End Sub
    
    Sub ImportData()
    
        'Enable diagram services
        Dim DiagramServices As Integer
        DiagramServices = ActiveDocument.DiagramServicesEnabled
        ActiveDocument.DiagramServicesEnabled = visServiceVersion140
    
        Application.ActiveWindow.Windows.ItemFromID(visWinIDExternalData).Visible = True
    
        Dim strXML As String
        Dim strXML1 As String
        Dim strXML2 As String
        Dim strName As String
        Dim vsoDataRecordset As Visio.DataRecordset
    
        strName = "Server Data"
    
        strXML1 = "<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'" + Chr(10) _
                    & "xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'" + Chr(10) _
                    & "xmlns:rs='urn:schemas-microsoft-com:rowset'" + Chr(10) _
                    & "xmlns:z='#RowsetSchema'><s:Schema id='RowsetSchema'>" + Chr(10) _
        & "<s:ElementType name='row' content='eltOnly' rs:updatable='true'>" + Chr(10) _
        & "<s:AttributeType name='c0' rs:name='_Visio_RowID_' rs:number='1'" + Chr(10) _
        & "rs:nullable='true' rs:maydefer='true' rs:write='true'>" + Chr(10) _
        & "<s:datatype dt:type='int' dt:maxLength='4' rs:precision='0'" + Chr(10) _
        & "rs:fixedlength='true'/></s:AttributeType>" + Chr(10) _
        & "<s:AttributeType name='Name' rs:number='2' rs:nullable='true'" + Chr(10) _
        & "rs:maydefer='true' rs:write='true'>" + Chr(10) _
        & "<s:datatype dt:type='string' dt:maxLength='255' rs:precision='0'/>" + Chr(10) _
        & "</s:AttributeType>" + Chr(10) _
        & "<s:AttributeType name='IP' rs:number='3' rs:nullable='true'" + Chr(10) _
        & "rs:maydefer='true' rs:write='true'>" + Chr(10) _
        & "<s:datatype dt:type='string' dt:maxLength='255' rs:precision='0'/>" + Chr(10) _
        & "</s:AttributeType>"
    
    
        strXML2 = " <s:AttributeType name='Status' rs:number='4' rs:nullable='true'" + Chr(10) _
        & "rs:maydefer='true' rs:write='true'>" + Chr(10) _
        & "<s:datatype dt:type='string' dt:maxLength='255' rs:precision='0'/>" + Chr(10) _
        & "</s:AttributeType>" + Chr(10) _
        & "<s:extends type='rs:rowbase'/>" + Chr(10) _
        & "</s:ElementType></s:Schema>" + Chr(10) _
        & "<rs:data>" + Chr(10) _
        & "<z:row c0='1' Name='sql-sales-01' IP='10.0.5.1' Status='Online'/>" + Chr(10) _
        & "<z:row c0='2' Name='sql-sales-02' IP='10.0.5.2' Status='Online'/>" + Chr(10) _
        & "<z:row c0='3' Name='filestore-sales-01' IP='10.0.5.3' Status='Offline'/>" + Chr(10) _
        & "<z:row c0='4' Name='webserver-01' IP='10.0.5.0' Status='Online'/>" + Chr(10) _
        & "</rs:data></xml>"
    
        strXML = strXML1 + strXML2
    
        ' Create a new DataRecordset object. For more information about 
        ' connecting to data in Visio, see "About Connecting to Data" 
        ' in the Visio Developer Reference.
        Set vsoDataRecordset = ThisDocument.DataRecordsets.AddFromXML(strXML, 0, strName)
        vsoDataRecordset.CommandString = "DataModule=DataModules.VisioCustomDataProvider,VisioCustomDataProvider;File=c:\VisioCustomData.xml"
    
        'Restore diagram services.
        ActiveDocument.DiagramServicesEnabled = DiagramServices
    
    End Sub
    
    ' Link the data in the DataRecordset object to the shapes on the page. 
    ' For more information about linking data to shapes in Visio, 
    ' see "About Linking Shapes to Data" in the Visio Developer Reference.
    Sub LinkDataToShapes()
    
        'Enable diagram services.
        Dim DiagramServices As Integer
        DiagramServices = ActiveDocument.DiagramServicesEnabled
        ActiveDocument.DiagramServicesEnabled = visServiceVersion140
    
        ActiveWindow.DeselectAll
        ActiveWindow.Select Application.ActiveWindow.Page.Shapes(10), visSelect
        Application.ActiveWindow.Selection.LinkToData 1, 1, True
    
        ActiveWindow.DeselectAll
        ActiveWindow.Select Application.ActiveWindow.Page.Shapes(8), visSelect
        Application.ActiveWindow.Selection.LinkToData 1, 2, True
    
        ActiveWindow.DeselectAll
        ActiveWindow.Select Application.ActiveWindow.Page.Shapes(6), visSelect
        Application.ActiveWindow.Selection.LinkToData 1, 3, True
    
        ActiveWindow.DeselectAll
        ActiveWindow.Select Application.ActiveWindow.Page.Shapes(4), visSelect
        Application.ActiveWindow.Selection.LinkToData 1, 4, True
    
        'Restore diagram services.
        ActiveDocument.DiagramServicesEnabled = DiagramServices
    
    End Sub
    
  6. Exécutez chacune des procédures du code précédent, dans l’ordre dans lequel elles sont indiquées.

  7. Enregistrez le fichier.

Amélioration des graphiques de données dans l’exemple de fichier Visio .vdw

À ce stade, votre exemple de fichier de base est pratiquement complet. Il contient des formes associées à des données XML, qui affichent les données sous forme de graphiques de données. Toutefois, il peut être utile de personnaliser les graphiques de données standard utilisés par Visio, qui tendent à superposer les connecteurs et manquent d’informations sur le statut des serveurs. Vous pouvez améliorer facilement l’apparence et les fonctionnalités, mais aussi optimiser l’emplacement des graphiques de données par rapport à leurs formes associées. Pour améliorer les graphiques de données dans l’exemple de fichier Visio .vdw de sorte qu’ils ressemblent à ceux de la figure 1, procédez comme suit.

Pour améliorer les graphiques de données dans l’exemple de fichier Visio .vdw

  1. Cliquez avec le bouton droit de la souris sur l’une des trois formes serveur, pointez sur Données, puis cliquez sur Modifier le graphique de données.

  2. Sous Position par défaut, dans la liste Horizontalement, sélectionnez Extrême gauche, puis cliquez sur Appliquer.

  3. Sélectionnez le champ de données Nom, puis cliquez sur Modifier l’élément.

  4. Dans la liste Style, sélectionnez Titre 3, cliquez sur OK, puis cliquez sur Appliquer pour appliquer la modification.

  5. Cliquez sur Nouvel élément.

  6. Dans la liste Champ de données, sélectionnez Statut, puis dans la liste Affiché comme, sélectionnez Couleur par valeur.

  7. Pour le statut En ligne, dans la liste Couleur de remplissage, sous Couleurs standard, sélectionnez Vert, cliquez sur OK, puis sur Appliquer.

  8. Cliquez avec le bouton droit de la souris sur la forme de serveur Web, pointez sur Données, puis cliquez sur Modifier le graphique de données.

  9. Sous Position par défaut, dans la liste Horizontalement, sélectionnez Centre, puis dans la liste Verticalement, sélectionnez Sous la forme.

  10. Sous Appliquer les modifications à, sélectionnez Uniquement les formes sélectionnées, cliquez sur Appliquer, puis sur OK.

Spécification du module de données à utiliser sur le serveur dans le fichier .vdw

Lorsque vous créez le fichier Visio .vdw à afficher sur l’ordinateur SharePoint Server 2010, vous pouvez spécifier le module de données à utiliser sur cet ordinateur, en procédant comme suit. Un module de données est spécifié par une chaîne au format "DataModule=nom_complet_classe,nom_assembly_simple;". Vous pouvez spécifier le module de données en incluant cette chaîne dans la valeur de la propriété DataRecordset.DataConnection.ConnectionString, qui correspond à la valeur de la propriété ConnectionString sur le serveur. Lorsque l’objet DataRecordset n’a pas de référence DataConnection, vous pouvez spécifier le module de données en incluant cette chaîne dans la valeur de la propriété DataRecordset.CommandString, qui correspond à la propriété QueryString sur le serveur. Dans ce cas, la chaîne est également répliquée dans ConnectionString. Le serveur analyse la chaîne du module de données à partir de ConnectionString et l’utilise pour charger le module. Le serveur supprime la chaîne du module de données de la valeur ConnectionString avant d’exécuter le module. Les autres informations concernant le module de données sont généralement spécifiées dans la chaîne de requête, sous la forme "Clé1=Valeur1;Clé2=Valeur2;..." et ainsi de suite, selon le souhait du développeur.

Déployer les exemples de fichiers sur l’ordinateur SharePoint Server

Maintenant que vous avez achevé votre fichier Visio .vdw contenant les données externes à publier dans une page SharePoint, publiez ce fichier et le fichier XML créé auparavant sur l’ordinateur SharePoint Server 2010 exécutant Visio Services.

Pour déployer les exemples de fichiers sur l’ordinateur SharePoint Server

  1. Copiez le fichier de données XML source créé précédemment sur l’ordinateur SharePoint Server 2010, à l’emplacement spécifié dans la chaîne de commande du dessin Visio. Dans l’exemple de cet article, cet emplacement correspond à la racine du lecteur c:\.

  2. Copiez l’exemple de fichier Visio .vdw contenant les données XML externes dans une bibliothèque de documents du serveur.

Création du fournisseur de données personnalisé et déploiement sur SharePoint Server

Suivez cette procédure générale pour créer un fournisseur de données personnalisé et le déployer sur un ordinateur SharePoint Server 2010 exécutant Visio Services.

Pour créer un fournisseur de données personnalisé et le déployer sur SharePoint Server

  1. Sur l’ordinateur SharePoint Server 2010, créez la solution Microsoft Visual Studio 2010 présentée dans cet article, puis compilez-la.

    Vous enregistrez ainsi un package de solution SharePoint (fichier .wsp) à l’emplacement spécifié dans le projet. Dans l’exemple présenté dans cet article, il s’agit de la racine du lecteur c:\.

  2. Créez sur le serveur SharePoint Server 2010 un fichier script Windows PowerShell à partir du texte indiqué ici, à l’emplacement spécifié dans la chaîne de commande du dessin Visio. Une fois encore, dans l’exemple présenté dans cet article, il s’agit de la racine du lecteur c:\.

  3. Exécutez le script Windows PowerShell.

  4. Ajoutez un nouveau fournisseur approuvé à la liste des fournisseurs approuvés dans l’Administration centrale SharePoint Server 2010.

  5. Double-cliquez sur le fichier Visio .vdw pour générer son rendu dans le composant WebPart Visio Web Access.

Les procédures suivantes expliquent plus en détail comment réaliser les opérations les plus complexes.

Créer et compiler la solution Visual Studio 2010

Une fois compilée, la solution Visual Studio 2010 que vous créez ici génère un package de solution à la racine du lecteur c:\, où vous avez placé les autres fichiers importants de l’exemple. La solution Visual Studio 2010 fait référence à Visio Services et à SharePoint.

Pour créer et compiler la solution Visual Studio 2010

  1. Sur l’ordinateur SharePoint Server 2010, dans Visual Studio 2010, créez un nouveau projet de bibliothèque de classes Visual C# et enregistrez la solution sous le nom CustomDataProvider.

  2. Ajoutez une référence à l’espace de noms System.Web. Dans l’Explorateur de solutions, cliquez avec le bouton droit de la souris sur Références, cliquez sur Ajouter une référence puis sur .NET, sélectionnez System.Web, puis cliquez sur OK.

  3. Ajoutez une référence à Visio Services. Dans l’Explorateur de solutions, cliquez avec le bouton droit de la souris sur Références, cliquez sur Ajouter une référence, puis cliquez sur Parcourir. Accédez au chemin d’accès du dossier Windows de votre ordinateur\assembly\GAC_MSIL\Microsoft.Office.Visio.Server\ 14.0.0.0__71e9bce111e9429c, sélectionnez Microsoft.Office.Visio.Server.dll, puis cliquez sur OK.

  4. Renommez le fichier de classe générique Class1.cs que Visual Studio 2010 crée et appelez-le VisioCustomDataProvider.cs.

  5. Dans le menu Projet, cliquez sur Propriétés de CustomDataProvider. Remplacez la valeur du champ Nom d’assembly par VisioCustomDataProvider et celle du champ Espace de noms par défaut par DataModules.

  6. Ouvrez le fichier VisioCustomDataProvider.cs, sélectionnez le contenu existant, puis collez-le dans le code ci-dessous pour remplacer le texte figurant dans le fichier. Les commentaires du code expliquent son fonctionnement.

    /* VisioCustomDataProviders.cs
     * <copyright>Copyright (c) Microsoft Corporation. All rights reserved.</copyright>
     * <summary>This class demonstrates how to add support for a custom
     * data source to Visio Services by creating a custom data provider. 
     * In this sample, the data source is an XML text file saved on the hard disk
     * of the computer running this custom data provider, typically a SharePoint Server
     * front-end Web server.</summary>
     * */
    using System;
    using System.Data;
    using System.Threading;
    using System.Web;
    using System.Xml;
    using Microsoft.Office.Visio.Server;
    
    namespace DataModules
    {
        /// <summary>
        /// This class demonstrates how to add support for a custom data source
        /// to Visio Services by creating a custom data provider. The class must 
        /// inherit from the AddonDataHandler abstract class, which includes the 
        /// following members:
        /// 
        /// this.Data:  The ADO.NET DataSet that describes the data required by the 
        ///             Visio Graphics Server. 
        ///             The custom data provider can fill this DataSet with updated 
        ///             data and return it to Visio Services. It is up to the 
        ///             implementation to specify the type of each DataColumn and 
        ///             to ensure data type compatibility with Visio Services.
        ///             
        /// this.ConnectionString:  The connection string associated with the Visio 
        ///                         DataRecordset being refreshed by this custom 
        ///                         data provider. This string is parsed out of the 
        ///                         Web drawing at refresh time and its value is then 
        ///                         assigned to this property. The format of this string 
        ///                         is a semicolon-delimited list of key/value pairs. 
        ///                         Each pair contains the key and value, separated by an 
        ///                         equals sign.
        ///                         
        /// this.QueryString:   The query string associated with the Visio
        ///                     DataRecordset being refreshed by this custom data 
        ///                     provider. This string is parsed out of the Web drawing
        ///                     at refresh time and its value is then assigned to this
        ///                     property. The format is a semicolon-delimited list of 
        ///                     key/value pairs. Each pair contains the key and value, 
        ///                     separated by an equal sign.
        ///                     
        /// this.Error: The exception object that describes an error that occurred if this 
        ///             custom data provider failed to retrieve data from its associated 
        ///             external data source. This property can be used to propagate error
        ///             information to the caller about a failure that occurred during the 
        ///             asynchronous processing. If the type of this exception is 
        ///             AddonDataHandlerException, the exception message is presented 
        ///             to the end user as is; otherwise, a generic message will be used.
        ///                     
        /// this.BeginGetData():    This method is called by Visio Services to 
        ///                         start data retrieval in this custom data 
        ///                         provider.
        ///                         
        /// this.EndGetData():      This method is called by Visio Services when
        ///                         the custom data provider finished retrieving data from
        ///                         the associated data source. This method must return 
        ///                         the data retrieved in the form of an ADO.NET DataSet.
        ///                         
        /// this.Cancel():      This method is called by Visio Services to stop the async
        ///                     processing when an error was detected or the maximum time
        ///                     allocated for retrieving data has passed and the custom data
        ///                     provider did not complete.
        ///                     
        /// This class also implements the IAsyncResult interface as described at
        /// https://msdn.microsoft.com/en-us/library/system.iasyncresult.aspx. 
        /// </summary>
        public class VisioCustomDataProvider : AddonDataHandler, IAsyncResult
        {
    
            // Fields used to support the implementation of the IAsyncResult interface.
            private object asyncState;  //Used to maintain a reference to this custom 
                                        //data provider.
            private bool completed;     //Used to notifiy Visio Services that the 
                                        //the custom data provider has finished 
                                        //retrieving data.
    
            #region Implementation of the IAsyncResult Interface
            /// <summary>
            /// This property implements the equivalent AsyncWaitHandle property of
            /// the IAsyncResult interface. More details on this member can 
            /// be found at https://msdn.microsoft.com/en-us/library/system.iasyncresult_properties.aspx
            /// Visio Services does not use this property.
            /// </summary>
            WaitHandle IAsyncResult.AsyncWaitHandle
            {
                get { return null; }
            }
    
            /// <summary>
            /// This property implements the equivalent AsyncState property of
            /// the IAsyncResult interface. More details on this member can 
            /// be found at https://msdn.microsoft.com/en-us/library/system.iasyncresult_properties.aspx
            /// Visio Services requires this property to return the asyncState object
            /// passed to the BeginGetData method by its caller.
            /// </summary>
            object IAsyncResult.AsyncState
            {
                get { return this.asyncState; }
            }
    
            /// <summary>
            /// This property implements the equivalent IsCompleted property of the
            /// IAsyncResult interface. This property gets a value that indicates whether
            /// the asynchronous operation has completed. More details on this member can 
            /// be found at https://msdn.microsoft.com/en-us/library/system.iasyncresult_properties.aspx
            /// </summary>
            bool IAsyncResult.IsCompleted
            {
                get { return this.completed; }
            }
    
            /// <summary>
            /// This property implements the equivalent CompleteSynchronously property
            /// of the IAsyncResult interface. This property gets a value that indicates
            /// whether the asyncrhonous operation has completed. More details on this member can 
            /// be found at https://msdn.microsoft.com/en-us/library/system.iasyncresult_properties.aspx
            /// </summary>
            bool IAsyncResult.CompletedSynchronously
            {
                get { return false; }
            }
            #endregion
    
            #region Implementation of the AddonDataHandler abstract class
            /// <summary>
            /// BeginGetData is called by Visio Services to start data retrieval in 
            /// this custom data provider. This method should return as quickly as possible
            /// because custom data providers are meant to be run asynchronously.
            /// </summary>
            /// <param name="context">The HTTP context of user viewing 
            /// the Web drawing.</param>
            /// <param name="callback">A reference to a Visio Services method that
            /// the custom data provider must call when it is finished retrieving 
            /// data from its associated external data source.</param>
            /// <param name="asyncState">Async state passed-in by the caller. Visio Services
            /// requires the implementation to store this state into the AsyncState member
            /// of the returned IAsyncResult without changes.
            /// </param>
            /// <returns>An IAsyncResult that contains information about the status of 
            /// the operation.</returns>
            public override IAsyncResult BeginGetData(
                System.Web.HttpContext context,         
                AsyncCallback callback,                 
                object asyncState)                      
            {
                //Store the async state.
                this.asyncState = asyncState;
    
                // Start data retrieval. This is done on a separate thread because
                // BeginGetData() should return as soon as possible. 
                // When the ThreadTask function finishes, the thread makes 
                // a call to the callback method, which indicates to Visio Services 
                // that the data retrieval step is complete.
                ThreadPool.QueueUserWorkItem(
                    new WaitCallback(ThreadTask),
                    callback);
    
                return this;
            }
    
            /// <summary>
            /// EndGetData is the method called by Visio Services when this 
            /// custom data provider has finished retrieving data. 
            /// </summary>
            /// <param name="result">An IAsyncResult that contains information 
            /// about the status of the operation.</param>
            /// <returns>This method must return the data retrieved by this
            /// custom data provider to Visio Services in the form of an ADO.NET
            /// DataSet.</returns>
            public override DataSet EndGetData(IAsyncResult result)
            {
                // Return an ADO.NET DataSet containing the data retrieved by this 
                // custom data provider to Visio Services. In this example, 
                // this.Data was updated in the ThreadTask method with the
                // appropriate data.
                return this.Data;
            }
    
            /// <summary>
            /// Cancel is the method called by Visio Services to stop the asynchronous
            /// processing when an error was detected or the maximum time
            /// allocated for retrieving data has passed and the custom data
            /// provider did not complete.
            /// </summary>
            public override void Cancel()
            {
                //This example does not require an implementation of this method.
            }
            #endregion 
    
            #region Data retrieval method
            /// <summary>
            /// This is the worker method which is lauched by BeginGetData(). 
            /// Typically this method should:
            /// (1) parse the the connection and query strings
            /// (2) implement authentication measures
            /// (3) connect to a custom data source, query, and retrieve data
            /// (4) format the retrieved data and update this.Data
            /// (5) in case of errors, set this.Error accordingly.
            /// (6) set this.completed and call the Visio Services callback method
            /// </summary>
            /// <param name="state">A reference to Visio Services callback 
            /// that must be called at the end of this task.</param>
            private void ThreadTask(object state)
            {
                // Get a reference to the Visio Services callback
                AsyncCallback callback = (AsyncCallback) state;
    
                // A string to hold the file name of the data source once 
                // it is parsed out of this.QueryString
                string filename = String.Empty;
    
                try
                {
                    // (1) Parse ConnectionString and QueryString.
                    //
                    // When configuring the Web drawing for custom data providers, the user 
                    // can choose whether to pass information in the ConnectionString, QueryString, 
                    // or both, depending on the data source and preferences.
                    //
                    // In this example, the significant content of ConnectionString
                    // and QueryString is the same and formatted as "File=<File>".
                    //
                    // Where:
                    // <File>" is the path to the xml file that contains the data. 
                    const string FileKey = "File=";
                    int fileNameStart = this.QueryString.IndexOf(FileKey) + FileKey.Length;
                    filename = this.QueryString.Substring(fileNameStart);
    
                    // (2) Authenticate
                    // This code is running in the security context of the end user.
                    // If the end user account does not have access to the disk where 
                    // the text data source is stored, implement the required authentication 
                    // mechanisms below.
    
                    // (3,4) Retrieve and format data 
                    // This custom data provider expects the file to contain an 
                    // ADO.NET DataSet XML description of the data to load; therefore it's 
                    // easy to load into this.Data, which is itself an ADO.NET DataSet.
                    // In this case, Reset must be called first to clear the DataSet.
                    this.Data.Reset();
                    this.Data.ReadXml(filename, XmlReadMode.Auto);
                }
                catch (Exception error)
                {
                    // (5) In case of errors when retrieving data, send feedback 
                    // to the user. This error will also force cancellation of
                    // all other external data refresh operations.
                    String message = String.Format(
                        "There was an error reading: {0}. Error details: {1}", 
                        filename, 
                        error.ToString());
                    this.Error = new AddonDataHandlerException(message);
                }
    
                // (6) Set this.completed to indicate that the async processing is complete
                // and invoke the Visio Services callback method passing a reference to this
                // custom data provider.
                this.completed = true;
                callback(this);
    
            }
            #endregion
        }
    }
    
  7. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nom de la solution, puis cliquez sur Générer la solution.

  8. Ajoutez un projet CAB à la solution. Pour ce faire, cliquez avec le bouton droit de la souris sur la solution, pointez sur Ajouter, puis cliquez sur Nouveau projet.

  9. Cliquez sur Modèles installés, développez Autres types de projets, développez Configuration et déploiement, cliquez sur Programme d’installation Visual Studio, puis cliquez sur Projet CAB.

  10. Appelez le projet CustomDataProviderDeploymentPackage, puis cliquez sur OK.

  11. Ajoutez un groupe de sorties du projet au projet de déploiement : cliquez avec le bouton droit de la souris sur le projet, pointez sur Ajouter, puis cliquez sur Sortie de projet.

  12. Sélectionnez Sortie principale, puis cliquez sur OK.

  13. Ajoutez un autre groupe de sorties du projet au projet de déploiement : cliquez avec le bouton droit de la souris sur le projet, pointez sur Ajouter, puis cliquez sur Sortie de projet.

  14. Sélectionnez Fichiers de contenu, puis cliquez sur OK.

  15. Ajoutez un fichier de clé publique (.snk) aux deux projets pour affecter un nom fort à l’assembly. Pour ce faire, cliquez sur Démarrer, Tous les programmes, Microsoft Visual Studio 2010, Visual Studio Tools, puis sur Invite de commandes de Visual Studio (2010).

  16. Dans la fenêtre d’invite de commandes, accédez au dossier du projet.

  17. À l’invite de commandes, tapez sn /k VisioCustomDataProvider.snk et appuyez sur Entrée.

  18. Cliquez avec le bouton droit de la souris sur le projet CustomDataProvider, pointez sur Ajouter, cliquez sur Élément existant, sélectionnez le fichier VisioCustomDataProvider.snk, puis cliquez sur Ajouter.

  19. Cliquez avec le bouton droit de la souris sur le projet CustomDataProviderDeploymentPackage, pointez sur Ajouter, cliquez sur Fichier, accédez au dossier du projet, sélectionnez le fichier VisioCustomDataProvider.snk, puis cliquez sur Ouvrir.

  20. Sélectionnez le projet de déploiement, puis dans la fenêtre Propriétés, sélectionnez PostBuildEvent et cliquez sur le bouton qui s’affiche.

  21. Dans la fenêtre Ligne de commande de l’événement après génération, collez le code suivant puis cliquez sur OK.

    copy "$(BuiltOuputPath)" "$(ProjectDir)\$(Configuration)\VisioCustomDataProvider.wsp"
    del "$(BuiltOuputPath)"
    
  22. Ajoutez un fichier manifeste à la solution. Pour ce faire, cliquez avec le bouton droit de la souris sur le projet CustomDataProvider, pointez sur Ajouter, puis cliquez sur Nouvel élément.

  23. Sous Modèles installés, sélectionnez Données, sélectionnez Fichier XML, attribuez le nom manifest.xml au fichier, puis cliquez sur Ajouter.

  24. Ajoutez le code suivant à la fin du fichier.

    <Solution xmlns="https://schemas.microsoft.com/sharepoint/"
              SolutionId="DE30781F-2B54-4513-A921-4EEA58C10868" >
      <Assemblies>
        <Assembly DeploymentTarget="GlobalAssemblyCache" Location="VisioCustomDataProvider.dll"/>
      </Assemblies>
    </Solution>
    
  25. Ouvrez le fichier AssemblyInfo.cs et ajoutez la ligne suivante à la fin du fichier.

    [assembly: AssemblyKeyFile("VisioCustomDataProvider.snk")]
    
  26. Cliquez avec le bouton droit de la souris sur le projet CustomDataProviderDeploymentPackage, puis cliquez sur Générer pour compiler le projet.

    La compilation du projet de déploiement génère un fichier .wsp à la racine du lecteur c:\.

Création et exécution du Script PowerShell

En créant et exécutant un script Windows PowerShell, vous déployez le fournisseur de données personnalisé (fichier .wsp) créé dans Visual Studio 2010 sur SharePoint Server 2010.

Pour créer et exécuter le script Windows PowerShell

  1. Sur l’ordinateur SharePoint Server 2010, cliquez sur Démarrer, puis cliquez sur SharePoint 2010 Management Shell.

  2. À l’invite de commandes, tapez cd c:\, puis appuyez sur Entrée pour accéder à la racine du lecteur c:\.

  3. À l’invite de commandes, tapez la commande suivante et appuyez sur Entrée.

    Add-SPSolution c:\visiocustomdataprovider.wsp
    
  4. À l’invite de commandes, tapez la commande suivante et appuyez sur Entrée.

    Install-SPSolution visiocustomdataprovider.wsp -GACDeployment
    
  5. Une fois l’exécution du script terminée, fermez la fenêtre de l’environnement de ligne de commande.

Si par la suite vous souhaitez désinstaller le fournisseur de données personnalisé, utilisez le script suivant.

Get-SPSolution  visiocustomdataprovider.wsp | Uninstall-SPSolution 
Remove-SPSolution visiocustomdataprovider.wsp

Ajout d’un nouveau fournisseur de données approuvé au service Graphiques Visio

Au cours de cette étape, vous ajoutez un nouveau fournisseur de données approuvé à la liste des fournisseurs de données approuvés du service Graphiques Visio dans SharePoint Server 2010. Vous pouvez ainsi actualiser le dessin Visio à partir des données stockées dans le fournisseur de données de l’ordinateur SharePoint Server 2010. L’ID fournisseur que vous entrez doit être au format suivant :

Namespace.ClassSimpleName,AssemblySimpleName, Version=version, Culture=culture, PublicKeyToken= jeton

La procédure suivante explique comment ajouter un nouveau fournisseur de données approuvé.

Pour ajouter un nouveau fournisseur de données approuvé au service Graphiques Visio

  1. Sur l’ordinateur SharePoint Server 2010, cliquez sur Démarrer, puis cliquez sur Administration centrale de SharePoint 2010.

  2. Sous Gestion des applications cliquez sur Gérer les applications de service.

  3. Cliquez sur Service Graphiques Visio, puis sur Fournisseurs de données approuvés.

  4. Cliquez sur Ajouter un nouveau fournisseur de données approuvé.

  5. Dans ID du fournisseur de données approuvé, tapez DataModules.VisioCustomDataProvider,VisioCustomDataProvider, Version=1.0.0.0, Culture=Neutral, PublicKeyToken= votre jeton de clé publique.

    Pour connaître la valeur du jeton de clé publique, recherchez l’entrée de votre fournisseur de données personnalisé dans le dossier c:\Windows\Assembly.

  6. Dans Type de fournisseur de données approuvé, tapez 6.

  7. Dans le champ facultatif Description du type de fournisseur de données approuvé, tapez Services Web Visio.

Test de l’exemple de fournisseur de données personnalisé

À ce stade, si vous n’avez pas encore téléchargé le fichier Visio .vdw créé dans une bibliothèque de documents SharePoint Server 2010, vous devez le faire. Si vous n’avez pas encore enregistré le fichier XML créé dans le dossier racine du lecteur c:\, enregistrez-le à cet emplacement.

Une fois que vous avez téléchargé le fichier .vdw et déployé le fournisseur de données personnalisé et le fichier de données XML sur le serveur exécutant Visio Services, vous pouvez tester l’exemple. Utilisez la procédure suivante.

Pour tester l’exemple de fournisseur de données personnalisé

  1. Dans la bibliothèque de documents dans laquelle vous avez téléchargé le fichier .vdw, cliquez sur le fichier pour en générer le rendu.

  2. Cliquez sur Activer (cette session) ou Activer (toujours) pour activer l’actualisation.

  3. Ouvrez le fichier XML que vous avez enregistré sur le serveur et modifiez une partie des données.

  4. Cliquez sur Actualiser dans le dessin dont le rendu a été généré et observez la manière dont le diagramme évolue pour refléter les modifications apportées aux données XML.

Voir aussi

Référence

IAsyncResult

Concepts

Visio Services dans SharePoint Server

Personnalisation des dessins Web Visio dans le composant WebPart Visio Web Access