Compartir vía


Explorar la estructura de manifiesto de aplicaciones y el paquete de un complemento de SharePoint

Estructura de paquete de complementos de SharePoint

Un paquete de complemento de SharePoint es un archivo con una extensión ".app" que cumple las Open Packaging Conventions (OPC, Convenciones de empaquetado abierto). El paquete contiene los elementos siguientes.

  • Complemento de manifiesto: se trata de un archivo necesario denominado appmanifest.xml. Este archivo indica a SharePoint algunas de las propiedades importantes del complemento, como el título y los permisos que necesita para ejecutarse. Para obtener más información sobre el contenido del archivo, vea Archivo de manifiesto de un complemento de SharePoint.

  • Paquetes de solución de SharePoint: también es posible que el complemento incluya un paquete de solución de SharePoint (archivo .wsp) que contenga los componentes de la web de complemento. Entre estos componentes, es posible encontrar páginas, instancias de lista, vistas, documentos, funciones de ámbito web y otros componentes de SharePoint. (Para obtener más información sobre qué componentes de SharePoint se pueden incluir en un complemento de SharePoint, vea Tipos de componentes de SharePoint que pueden estar en un complemento de SharePoint). El archivo .wsp también puede contener complementos de Office. Los componentes del archivo .wsp se implementan en la web del complemento. Para obtener un ejemplo de paquete de complemento que incluye un paquete de solución de SharePoint, vea Crear un complemento hospedado por el proveedor que incluya un tipo de contenido y una lista de SharePoint personalizados.

  • Características de web de host con acciones personalizadas o elementos de complemento: además de los componentes de SharePoint que se implementan en la web de complemento, un complemento de SharePoint puede implementar también una o más acciones personalizadas (elementos de menú contextual o extensiones de cinta) en la web de host. Para ello, incluya en el paquete de complemento una característica que no esté en el archivo del paquete .wsp y que implemente los componentes que vayan a la web de host. Esta característica "flexible" se denomina característica de web de host.

    Los elementos de complemento se implementan en la web host de la misma manera. La característica web host consta de un archivo feature.xml de SharePoint estándar y uno o varios archivos de elements.xml asociados. Un archivo elements.xml para una acción personalizada, por ejemplo, contiene el marcado CustomAction para la acción personalizada. También puede incluir marcado para los elementos del complemento. Solo estos dos tipos de componentes pueden estar en la característica web host. Estas características web de host no se detallan en el manifiesto del complemento. Sin embargo, son "partes" en el sentido de OPC y hay una relación explícita de OPC entre el manifiesto del complemento y cada uno de estos archivos. Para obtener un ejemplo de un paquete de complemento que incluye una característica web de host, vea Crear acciones personalizadas para implementar con complementos de SharePoint.

    Nota:

    Los administradores de espacios empresariales pueden realizar la instalación por lotes de un complemento de SharePoint en varios sitios web. Se dice que un complemento que se ha instalado de esta manera tiene ámbito Tenant (espacio empresarial). Si el complemento no se ha instalado por lotes, sino que se ha instalado en cada sitio web por separado, tiene ámbito Web. Si la característica de web de host incluye extensiones de cinta o elementos de complemento, estos no se implementan en las webs de host si el complemento se ha instalado por lotes, por lo que solo se implementan los elementos de menú contextual de complementos con ámbito de espacio empresarial.

    El ámbito del complemento no debe confundirse con el ámbito de la característica. El ámbito de la característica determina dónde se implementan los elementos de una característica. Las posibilidades incluyen Farm, WebApplication, Site (es decir, colección de sitios) y Web. Solo se permite la opción Web con características de complementos de SharePoint (tanto características de web de host como características incluidas en el archivo .wsp de un paquete de complemento).

    El ámbito de complemento hace referencia al ámbito en el que un complemento se instala. Las posibilidades son Web, en cuyo caso el complemento se ha instalado sitio por sitio en uno o más sitios web, y Tenant, en cuyo caso el complemento se ha instalado por lotes en todos o algunos subconjuntos de los sitios web del espacio empresarial de un cliente.

    Para obtener más información sobre los ámbitos Tenant y Web, vea Espacios empresariales y ámbitos de implementación de los complementos de SharePoint.

  • Archivos de recursos (.resx) de localización: su finalidad es localizar aspectos del manifiesto del complemento que incluyen el título del complemento y aspectos de las características de web de host en el paquete de complemento. (Los distintos elementos del paquete de complemento que se encuentran en su propio paquete, como archivos .wsp, paquetes de sitios web de Azure y manifiestos de complemento, cuentan cada uno con sus propios procedimientos de localización que se aplican exactamente como si los elementos en cuestión no formasen parte de un complemento de SharePoint). Para obtener un ejemplo de un paquete de complemento que incluya archivos .resx para una característica de web de host, vea Localizar Complementos de SharePoint.

  • Manifiestos de Complementos de Office: opcionalmente, también es posible que haya más de un manifiesto de Complementos de Office para cada paquete de un Complemento de Office. Este elemento solo puede incluirse en el paquete de complemento si este se va a cargar en un catálogo de complementos corporativo de SharePoint, no en el catálogo de soluciones público. Para obtener más información, vea Publicar complementos de SharePoint.

Archivo de manifiesto de un complemento de SharePoint

Cada complemento de SharePoint incluye un archivo appmanifest.xml. Este archivo indica a SharePoint lo que debe saber acerca del complemento y define las propiedades más importantes del mismo. A continuación, se describen algunos de los elementos que se especifican en el manifiesto:

  • El nombre interno, el identificador del producto y la versión del complemento.

  • Dirección URL de la página de inicio, que es la página que se abre cuando se inicia el complemento. Puede ser una página en la web del complemento, una página basada en la nube o una página en un servidor web del ISV.

    Nota:

    En determinadas circunstancias, puede haber restricciones sobre el tipo de archivo que se puede especificar en el elemento StartPage. Para obtener más información, vea Elemento UpgradedEventEndpoint (PropertiesDefinition complexType) (Manifiesto del complemento de SharePoint). Cuando se combina más de un parámetro de consulta en el valor StartPage, debe usar la Y comercial & codificada en lugar de & o un punto y coma para unirlos.

  • Otras propiedades del complemento. Entre ellas se incluyen el título y las configuraciones regionales que admite el complemento (ambas son necesarias), las direcciones URL de los servicios que controlan los eventos posteriores a la instalación, posteriores a la actualización y previos a la desinstalación, y la plantilla web que se usa para crear la web de complemento.

  • Solicitudes de permisos que necesita el complemento para recursos de SharePoint que están fuera de la web de complemento.

  • Una identificación con fines de autenticación y autorización para la entidad de seguridad del complemento. Los permisos se otorgan a la entidad de seguridad. Esta acción no es necesaria para complementos hospedados en SharePoint.

  • Debe haber una lista de los requisitos previos, si procede, que esté disponible para el complemento para que este se instale. Por ejemplo, es posible que determinadas características tengan que instalarse y activarse y que determinados servicios necesiten tener licencia e instalarse.

Nota:

El archivo de manifiesto del complemento es el único elemento necesario en el paquete de complemento, pero no todos los elementos de la lista anterior son elementos obligatorios del archivo.

Para obtener más información sobre el marcado del manifiesto del complemento, vea Referencia de esquema para manifiestos de complementos de SharePoint. Este tema no sustituye la información de este nodo como, por ejemplo, la información sobre los atributos y elementos necesarios. Además, tenga en cuenta que los manifiestos de complemento de SharePoint tienen un esquema distinto que los manifiestos de complemento de Office. Puede encontrar información sobre estos últimos en Referencia de esquema para manifiestos de complementos de Office (v1.1).

Este es un ejemplo de archivo appmanifest.xml. Tenga en cuenta que en este ejemplo, la página de inicio del complemento es una página ASP.NET que se encuentra en un servidor remoto, no una página que está en el sitio de SharePoint. La dirección URL de la página incluye una cadena de consulta que pasa la dirección URL de la web de host a la aplicación web remota. La parte {HostUrl} de la cadena es un token que se resuelve cuando se inicia el complemento. El complemento solicita permiso de escritura en todas las listas de la web de host. La entidad de seguridad de complemento a la que hay que conceder este permiso es la aplicación web remota.

Hay que usar el elemento SupportedLocales o el elemento SupportedLanguages en el manifiesto de complemento. SupportedLanguages está en desuso y se ha sustituido por SupportedLocales. El elemento SupportedLanguages seguirá funcionando incluso después del lanzamiento, pero debería evitar usarlo. Para obtener más información sobre estos elementos, vea Elemento SupportedLocales (PropertiesDefinition complexType) (Manifiesto del complemento de SharePoint) y Elemento SupportedLanguages (PropertiesDefinition complexType) (Manifiesto del complemento de SharePoint) .

Nota:

Los valores del atributo Scope del elemento AppPermissionRequest están estructurados como identificadores URI, pero en realidad son cadenas literales. Ningún elemento del valor Scope del ejemplo siguiente es un marcador de posición. Para más información sobre los permisos, vea Permisos de complementos en SharePoint.

<?xml version="1.0" encoding="utf-8" ?>
<App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest"
     ProductID="{4a07f3bd-803d-45f2-a710-b9e944c3396e}"
     Version="1.0.0.0"
     SharePointMinVersion="15.0.0.0"
     Name="MySampleApp"
>
  <Properties>
    <Title>My Sample App</Title>
    <StartPage>http://MyRemoteWebApplicationServer/default.aspx/?SPHostUrl={HostUrl}</StartPage>
    <SupportedLocales>
      <SupportedLocale CultureName="en-US" />
    </SupportedLocales>        
  </Properties>

  <AppPermissionRequests>
    <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write"/>
  </AppPermissionRequests>

  <AppPrincipal>
    <RemoteWebApplication ClientId="1ee82b34-7c1b-471b-b27e-ff272accd564" />
  </AppPrincipal>
</App>


Tokens de URL en el manifiesto del complemento

SharePoint proporciona varios tokens que se pueden usar en el elemento StartPage y en otros lugares en complementos y componentes de complementos para representar información que no se conoce hasta que se ejecuta el complemento. La infraestructura de SharePoint resuelve estos tokens. Algunos se usan al principio de la dirección URL y otros pueden usarse dentro de una dirección URL como valor de un parámetro de consulta. Estos tokens y muchos otros pueden usarse además en diversos contextos de desarrollo de contenido de SharePoint

Para obtener más información sobre todos los tokens y dónde se pueden usar, vea Cadenas de dirección URL y tokens en complementos para SharePoint. Para obtener información general sobre otros tokens y direcciones URL de SharePoint, vea Direcciones URL y tokens en SharePoint.

Nota:

Estos tokens no se usan en el atributo Token de un elemento AppPermissionRequest.

Ver también