Поделиться через


Практическое руководство. Создание разметки 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">&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>