Практическое руководство. Создание разметки XML внешнего приложения
Дата последнего изменения: 25 октября 2010 г.
Применимо к: SharePoint Foundation 2010
В данной статье поясняется, как XML-файл внешнего приложения используется для описания приложения Silverlight для SharePoint Foundation, чтобы он мог управлять доступом приложения к данным и отобразить веб-часть, в которой размещено приложение.
Обзор
XML-данные внешнего приложения — это разметка, которая предоставляет SharePoint Foundation информацию о приложении Silverlight, размещенном в веб-части. Эта разметка требуется только в том случае, если приложение Silverlight размещено в другом домене и обращается к данным с веб-сайта SharePoint. Кроме того, ее можно использовать совместно с поставщиком внешних приложений SharePoint. В разметке используется три категории сведений:
Идентификационные сведения о приложении Silverlight и имени пользователя, которое оно использует для получения данных с веб-сайта SharePoint.
Сведения о веб-части, в которой размещено внешнее приложение.
Настраиваемые сведения, которые могут использоваться настраиваемым поставщиком внешних приложений для регистрации приложения.
Существует несколько способов назначения разметки веб-части:
Разметку можно назначить веб-части в пользовательском интерфейсе SharePoint Foundation при ее добавлении на страницу. Если решение веб-части Silverlight использует этот способ, потребуется предоставить разметку в виде файла с инструкциями для пользователей по ее вставке (возможно, с модификациями, учитывающими локальные условия) с помощью пользовательского интерфейса.
Кроме того, можно указать разметку как свойство XML-свойство приложения в разметке веб-части модуля в определении компонента (elements.xml) или определении сайта (onet.xml).
И наконец, можно программно задать свойство ApplicationXml, например, в событии FeatureInstalled(SPFeatureReceiverProperties) или FeatureActivated(SPFeatureReceiverProperties).
Примеры XML внешнего приложения
Ниже приведен пример разметки в XML-данных внешнего приложения. Дополнительные сведения об элементах и атрибутах см. в статье XML-файл внешнего приложения. В качестве кодировки в данном примере используется UTF-16, но можно использовать любую кодировку. Дочерние элементы элемента <customProperties> могут быть любой разметкой XML. Если используются настраиваемые свойства, необходимо создать настраиваемого поставщика внешних приложений для считывания и обработки настраиваемых свойств.
<?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>
Ниже приведен пример XML-данных внешнего приложения внутри элемента <AllUsersWebPart> в файле elements.xml или 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"><?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>