Procédure : créer le balisage XML d’application externe

Dernière modification : lundi 25 octobre 2010

S’applique à : SharePoint Foundation 2010

Cet article explique comment utiliser le balisage Code XML d’application externe pour décrire votre application Silverlight auprès de SharePoint Foundation afin qu’il puisse gérer l’accès de l’application aux données et afficher le composant WebPart qui héberge l’application.

Vue d’ensemble

Le de balisage XML d’application externe fournit des informations à SharePoint Foundation sur une application Silverlight qui est hébergée dans un composant WebPart. Ce balisage est requis seulement si l’application Silverlight est hébergée sur un autre domaine et accède aux données du site Web SharePoint. Il peut également servir, bien qu’il ne soit pas requis, chaque fois qu’un fournisseur d’applications externes (EAP, External Application Provider) est utilisé. Le balisage comprend trois catégories d’informations :

  • Des informations d’identification relatives à l’application Silverlight et le nom d’utilisateur dont elle se sert pour obtenir des données du site Web SharePoint.

  • Des informations sur le composant WebPart qui héberge l’application externe.

  • Des informations personnalisées utilisables par un EAP personnalisé pour inscrire l’application.

Il existe plus d’une manière d’assigner le balisage au composant WebPart :

  • Le balisage peut être attribué au composant WebPart dans l’interface utilisateur de SharePoint Foundation au moment de l’ajout du composant WebPart à une page. Si votre solution de composant WebPart Silverlight utilise cette méthode, vous devez fournir le balisage sous forme de fichier avec des instructions destinées aux utilisateurs indiquant comment l’insérer, éventuellement avec des modifications locales, via l’interface utilisateur.

  • Vous pouvez également spécifier le balisage sous forme de propriété ApplicationXML au sein du balisage du composant WebPart d’un module dans une définition de fonctionnalité (elements.xml) ou dans une définition de site (onet.xml).

  • Enfin, vous pouvez définir la propriété ApplicationXml par programmation, par exemple, dans un événement FeatureInstalled(SPFeatureReceiverProperties) ou FeatureActivated(SPFeatureReceiverProperties).

Exemples de balisage XML d’application externe

Voici un exemple de balisage XML d’application externe. Pour plus d’informations sur les éléments et les attributs, voir Code XML d’application externe. Le codage UTF-16 est utilisé dans cet exemple, mais vous pouvez en utiliser un autre. Les enfants de l’élément <customProperties> peuvent être un balisage XML quelconque. Si vous utilisez des propriétés personnalisées, vous devez créer un EAP personnalisé pour lire et traiter ces propriétés personnalisées.

<?xml version='1.0' encoding='utf-16'?>
<applicationParts xmlns='https://schemas.microsoft.com/sharepoint/2009/fluidapp'>
  <applicationPart>
    <metaData>
      <applicationId>00000000-0000-0000-0000-000000000000</applicationId>
      <applicationUrl>https://www.contoso.com/someapplication.xap</applicationUrl>
      <principal>domain\username</principal>
      <sharepointRequestHandlerUrl>/sp.ashx</sharepointRequestHandlerUrl>
    </metaData>
    <data>
      <webPartProperties>
        <property name='Title'>Title</property>
        <property name='Description'>Description</property>
        <property name='WindowlessMode'>TRUE</property>
        <property name='Height'>200px</property>
        <property name='Width'>100px</property>
        <property name='HelpUrl'>https://www.contoso.com/someapplication/help.aspx</property>
        <property name='HelpMode'>Modal</property>
        <property name='Direction'>NotSet</property>
        <property name='MinRuntimeVersion'>3.0</property>
      </webPartProperties>
      <customProperties>
        <property name='CustomPropertyName'>CustomPropertyInfo </property>
      </customProperties>
    </data>
  </applicationPart>
</applicationParts>

L’exemple suivant illustre du balisage XML d’application externe à l’intérieur d’un élément <AllUsersWebPart> dans un fichier elements.xml ou onet.xml.

<AllUsersWebPart WebPartZoneID="Top_Right" WebPartOrder="2">
<![CDATA[
<webParts>
  <webPart xmlns="https://schemas.microsoft.com/WebPart/v3">
    <metaData>
      <type name="Microsoft.SharePoint.WebPartPages.SilverlightWebPart, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
      <importErrorMessage>Cannot import this Web Part.</importErrorMessage>
    </metaData>
    <data>
      <properties>
        <property name="ChromeType" type="chrometype">Default</property>
        <property name="Height" type="unit">600px</property>
        <property name="Url" type="string" />
        <property name="HelpMode" type="helpmode">Navigate</property>
        <property name="ApplicationXml" type="string">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;applicationParts xmlns="https://schemas.microsoft.com/sharepoint/2009/fluidapp"&gt;
  &lt;applicationPart&gt;
    &lt;metaData&gt;
      &lt;applicationId&gt;00000000-0000-0000-0000-000000000000&lt;/applicationId&gt;
      &lt;applicationUrl&gt;https://server/ClientBin/SomeApplication.xap&lt;/applicationUrl&gt;
      &lt;principal&gt;domain\ContosoApp&lt;/principal&gt;
      &lt;sharepointRequestHandlerUrl&gt;/ReqForwarder.ashx&lt;/sharepointRequestHandlerUrl&gt;
    &lt;/metaData&gt;
  &lt;/applicationPart&gt;
&lt;/applicationParts&gt;</property>
        <property name="Hidden" type="bool">False</property>
        <property name="Title" type="string" />
      </properties>
    </data>
  </webPart>
</webParts>
]]>
</AllUsersWebPart>