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"><?xml version="1.0" encoding="utf-8"?>
<applicationParts xmlns="https://schemas.microsoft.com/sharepoint/2009/fluidapp">
<applicationPart>
<metaData>
<applicationId>00000000-0000-0000-0000-000000000000</applicationId>
<applicationUrl>https://server/ClientBin/SomeApplication.xap</applicationUrl>
<principal>domain\ContosoApp</principal>
<sharepointRequestHandlerUrl>/ReqForwarder.ashx</sharepointRequestHandlerUrl>
</metaData>
</applicationPart>
</applicationParts></property>
<property name="Hidden" type="bool">False</property>
<property name="Title" type="string" />
</properties>
</data>
</webPart>
</webParts>
]]>
</AllUsersWebPart>