Compartir a través de


Procedimiento para crear un marcado XML de aplicación externa

Última modificación: lunes, 25 de octubre de 2010

Hace referencia a: SharePoint Foundation 2010

En este artículo se explica cómo usar el XML de aplicación externa para describir la aplicación de Silverlight a SharePoint Foundation para que pueda administrar el acceso de la aplicación a datos y presentar un elemento web que hospede la aplicación.

Introducción

Un XML de aplicación externa es un marcado que proporciona información a SharePoint Foundation acerca de una aplicación de Silverlight hospedada en un elemento web. El marcado sólo se necesita si la aplicación de Silverlight se hospeda en otro dominio y obtiene acceso a datos desde el sitio web de SharePoint. También se puede usar, si bien no es necesario, cuando se usa un proveedor de la aplicación externa (EAP) de SharePoint. Existen tres categorías de información en el marcado:

  • Información de identificación acerca de la aplicación de Silverlight y del nombre de usuario que usa para obtener datos desde el sitio web de SharePoint.

  • Información acerca del elemento web que hospeda la aplicación externa.

  • Información personalizada que puede usar un EAP personalizado para registrar la aplicación.

Existe más de un modo de asignar el marcado al elemento web:

  • Se puede asignar el marcado al elemento web en la interfaz de usuario de SharePoint Foundation en el momento en que éste se agrega a una página. Si la solución del elemento web de Silverlight usa ese método, es necesario proporcionar el marcado como un archivo con instrucciones para los usuarios acerca de cómo insertarlo, posiblemente con modificaciones locales, mediante la interfaz de usuario.

  • También puede especificar el marcado como una propiedad Application XML dentro del marcado del elemento web de un módulo de una definición de característica (elements.xml) o una definición de sitio (onet.xml).

  • Finalmente, puede establecer la propiedad ApplicationXml mediante programación en, por ejemplo, un evento FeatureInstalled(SPFeatureReceiverProperties) o un evento FeatureActivated(SPFeatureReceiverProperties).

Ejemplos de XML de aplicación externa

El siguiente es un ejemplo de un marcado XML de aplicación externa. Para obtener información detallada acerca de los elementos y atributos, vea XML de aplicación externa. En este ejemplo se usa UTF-16 como codificación, pero puede usar cualquier otra. Los elementos secundarios del elemento <CustomProperties> pueden ser cualquier formato XML. Si usa propiedades personalizadas, debe crear un EAP personalizado para que lea y procese las propiedades personalizadas.

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

El siguiente es un ejemplo de un XML de aplicación externa dentro de un elemento <AllUsersWebPart> de un archivo elements.xml u 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>