Share via


Gewusst wie: Erstellen von Markup mit externer Anwendungs-XML

Letzte Änderung: Montag, 25. Oktober 2010

Gilt für: SharePoint Foundation 2010

In diesem Artikel wird erklärt, wie Sie mithilfe von Externes Anwendungs-XML die Silverlight-Anwendung in SharePoint Foundation beschreiben, sodass SharePoint Foundation den Zugriff der Anwendung auf Daten steuern und ein Webpart rendern kann, das die Anwendung hostet.

Übersicht

Externe Anwendungs-XML (External Application XML) ist Markup, das SharePoint Foundation Informationen über eine in einem Webpart gehostete Silverlight-Anwendung bereitstellt. Das Markup wird nur benötigt, wenn die Silverlight-Anwendung in einer anderen Domäne gehostet wird und auf Daten aus der SharePoint-Website zugreift. Es kann auch immer dann verwendet werden (muss aber nicht), wenn ein externer SharePoint-Anwendungsanbieter (External Application Provider, EAP) verwendet wird. Das Markup enthält drei Kategorien von Informationen:

  • Identifizierungsinformationen zur Silverlight-Anwendung und dem Benutzernamen, den diese zum Abrufen von Daten aus der SharePoint-Website verwendet.

  • Informationen zu dem Webpart, in dem die externe Anwendung gehostet wird.

  • Benutzerdefinierte Informationen, die von einem benutzerdefinierten EAP zum Registrieren der Anwendung verwendet werden können.

Es gibt mehrere Möglichkeiten, das Markup dem Webpart zuzuweisen:

  • Das Markup kann dem Webpart auf der SharePoint Foundation-Benutzeroberfläche zu dem Zeitpunkt zugeordnet werden, zu dem das Webpart der Seite hinzugefügt wird. Wenn diese Methode in der Silverlight-Webpartlösung verwendet wird, müssen Sie das Markup den Benutzern als Datei mit Anweisungen zum Einfügen des Markups (ggf. mit lokalen Änderungen) über die Benutzeroberfläche bereitstellen.

  • Sie können das Markup auch als Anwendungs-XML-Eigenschaft im Webpartmarkup eines Moduls in einer Featuredefinition (elements.xml) oder in einer Websitedefinition (onet.xml) angeben.

  • Und schließlich können Sie die ApplicationXml-Eigenschaft programmgesteuert festlegen, beispielsweise in einem FeatureInstalled(SPFeatureReceiverProperties)- oder einem FeatureActivated(SPFeatureReceiverProperties)-Ereignis.

Beispiele für externe Anwendungs-XML

Im Folgenden sehen Sie ein Beispiel für ein Markup mit externer Anwendungs-XML. Ausführliche Informationen zu den Elementen und Attributen finden Sie unter Externes Anwendungs-XML. In diesem Beispiel wird UTF-16 als Codierung verwendet, Sie können aber auch eine beliebige andere Codierung verwenden. Die untergeordneten Elemente des <customProperties>-Elements können ein beliebiges XML-Markup aufweisen. Wenn Sie benutzerdefinierte Eigenschaften verwenden, müssen Sie einen benutzerdefinierten EAP erstellen, um die benutzerdefinierten Eigenschaften lesen und verarbeiten zu können.

<?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>

Im Folgenden ein Beispiel für externe Anwendungs-XML innerhalb eines <AllUsersWebPart>-Elements entweder in einer elements.xml-Datei oder in einer onet.xml-Datei.

<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>