Componentes del paquete de soluciones

En este artículo:

  • Elemento Solution

  • Elemento FeatureManifest

  • Elemento Assembly

  • Elemento ApplicationResourceFile

  • Elemento CodeAccessSecurity

  • Elemento DwpFile

  • Elemento Resource

  • Elemento SiteDefinitionManifest

  • Elemento RootFile

  • Elemento TemplateFile

En este artículo se discute la estructura de los paquetes de soluciones y se proporciona una descripción del esquema de soluciones y los elementos que se usan dentro de un paquete de soluciones.

Un paquete de soluciones es el paquete de distribución que envía el trabajo de desarrollo personalizado de Office SharePoint Server 2007 y Windows SharePoint Services 3.0 a los servidores web (y posiblemente a los servidores de aplicación) de la granja de servidores. Entre los componentes que se pueden distribuir en un paquete de soluciones se incluyen:

  • Ensamblados de .NET Framework que ajustan el código que controla la solución.

  • Archivos de distribución, como archivos de recursos, imágenes u otros archivos auxiliares.

  • Muchas soluciones incluyen la entrega de nuevas plantillas y definiciones para los sitios, listas, bibliotecas, campos, tipos de contenido, etc. Estas definiciones se encuentran en formato de archivos XML basados en CALM.

  • Las configuraciones que se deben llevar a cabo en el nivel del servidor web: por ejemplo, los archivos Web.config para el registro de elementos web.

Además, debe incluir el archivo de manifiesto para ayudar a Office SharePoint Server 2007 en el proceso de implementación del paquete de soluciones. El archivo de manifiesto contiene la lista de todos los activos incluidos en un paquete de soluciones, junto con ubicaciones de destino para estos activos y las distintas configuraciones en las que deben tener lugar. La definición de esquema del archivo de manifiesto se incluye en el archivo Wss.xsd, que se encuentra en la carpeta de sistema de Office SharePoint Server 2007.

Para obtener más información acerca de los paquetes de soluciones, vea el artículo sobre soluciones y paquetes de elementos web (https://go.microsoft.com/fwlink/?linkid=106479&clcid=0xC0A) en el kit de desarrollo de software (SDK) de Windows SharePoint Services 3.0 en MSDN.

Cada una de las siguientes secciones describe un elemento de un archivo de paquete de soluciones.

Elemento Solution

El elemento Solution es el elemento raíz del archivo de manifiesto. El atributo SolutionId es un elemento importante del archivo que identifica la solución en el almacén de soluciones (que forma parte de la base de datos de configuración). Las soluciones se identifican con un identificador único global (GUID), como por ejemplo:

<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >

</Solution>

DeploymentServerType y ResetWebServer son atributos opcionales. DeploymentServerType puede tener dos valores posibles: ApplicationServer o WebFrontEnd. Normalmente, la mayoría de las soluciones se dirigen a los servidores web de la granja de servidores. Los ejemplos de soluciones que se dirigen a los servidores de aplicaciones (como servidores de índices, servidores que ejecutan Excel Services, servidores de conversión de documentos, etc.) son configuraciones personalizadas o convertidores personalizados adicionales. Puede usar el atributo IISReset para iniciar un restablecimiento de Internet Information Services (IIS) cuando la solución se implementa en una aplicación web de IIS específica.

Elemento FeatureManifest

Las características desempeñan una función importante en muchas soluciones de Productos y Tecnologías de SharePoint, ya que representan componentes individuales de la solución: como un tipo de campo, un elemento web, un flujo de trabajo, etc. Debe representar cada característica que se incluye en la solución con un elemento FeatureManifest. El siguiente ejemplo de código contiene la característica que anuncia un elemento web en un sitio de SharePoint:

<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >

  <FeatureManifests>

    <FeatureManifest Location="HelloWorldWebPart_28c3eefe-2c03-4791-9f69-4405c80e1d92\feature.xml" />

  </FeatureManifests>

  …

</Solution>

Cuando se implementa la solución en un servidor web, todos los archivos relacionados con la característica se copian en la ubicación especificada.

Elemento Assembly

La mayoría de las soluciones de SharePoint incluyen uno o más ensamblados de .NET Framework. El elemento Assembly se usa en el archivo de manifiesto para que la biblioteca dinámica de vínculos (DLL) esté disponible en el servidor de destino. Por ejemplo:

<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >

  <Assemblies>

    <Assembly Location="HelloWorldWebPart.dll" DeploymentTarget="GlobalAssemblyCache" >

      <SafeControls>

        <SafeControl Assembly="HelloWorldWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" Namespace="MSDN" TypeName="HelloWorldWebPart" Safe="True" />

      </SafeControls>

  </Assembly>

  </Assemblies>

</Solution>

El primer atributo del elemento Assembly es Location, que almacena la ruta de acceso relativa del archivo DLL en el archivo de soluciones. A continuación, se encuentra el atributo DeploymentTarget, que tiene dos valores posibles: GlobalAssemblyCache o WebApplication. GlobalAssemblyCache indica que el ensamblado se debería implementar en la memoria caché de ensamblados global. WebApplication indica a Windows SharePoint Services 3.0 que coloque el ensamblado en la carpeta privada de la aplicación web de IIS. Como se discutirá más adelante, WebApplication implica que la solución que se usa dependerá del nivel de confianza que establezca el administrador en el archivo Web.config asociado a la aplicación web de IIS. La implementación del ensamblado en la memoria caché de ensamblados global, que es una ubicación de plena confianza, significa que como programador, no debe preocuparse de establecer este nivel de confianza.

Los elementos web de la solución se deben registrar como controles seguros en el archivo Web.config. El elemento Assembly puede contener uno o varios elementos SafeControl (agrupados de forma conjunta en un elemento SafeControls). Cada uno de los elementos SafeControl describe la configuración que se debe realizar en el archivo Web.config.

Otro conjunto posible de elementos secundarios del elemento Assembly son los elementos ClassResource (agrupados de forma conjunta en un elemento ClassResources). Cada uno representa un recurso posible que necesita el ensamblado de implementación. Los ejemplos son archivos de recursos, archivos XML o imágenes.

Elemento ApplicationResourceFile

Los archivos de manifiesto pueden contener uno o más elementos ApplicationResourceFile con una ruta de acceso relativa a un archivo de recursos que se debe implementar. En el momento de la implementación, los archivos de recursos se copian a la carpeta privada de recursos de la aplicación correspondiente a la aplicación web de IIS. Por ejemplo:

<Solution SolutionId="8f37f0a7-ec35-4a63-9c3d-91205d9a2ac6"

          xmlns="https://schemas.microsoft.com/sharepoint/" >

    <ApplicationResourceFiles>

        <ApplicationResourceFile Location="hellowp.resx"/>

        <ApplicationResourceFile Location="hellowp.en-us.resx"/>

    </ApplicationResourceFiles>

</Solution>

Elemento CodeAccessSecurity

Es importante incluir el elemento CodeAccessSecurity en el archivo de manifiesto cuando se desean conceder permisos específicos al código. En resumen, el elemento CodeAccessSecurity tiene uno o varios elementos secundarios PolicyItem que definen las especificaciones relativas a la directiva de seguridad de acceso a código para solicitar la solución. El elemento de directiva consta de dos partes: la lista de los permisos que lo conforman y los ensamblados para los que estos permisos deben desempeñar una función.

La lista de permisos, que se representa en un elemento IPermission, se recopila en un elemento PermissionSet, que es el elemento secundario del elemento PolicyItem. Cada elemento IPermission define un permiso de seguridad de acceso a código necesario para que el ensamblado funcione correctamente.

Uno o más elementos Assembly pueden tener una función en la seguridad de acceso del código. Se deben definir de uno en uno, e identificarlos por nombre, versión y clave pública completa.

Elemento DwpFile

Los elementos web deben estar disponibles en la galería de elementos web antes de poder colocarlos en las páginas de elementos web. Los archivos XML, con una extensión .dwp o una extensión .webpart, almacenan la información de metadatos necesaria para que los elementos web estén disponibles. El archivo de manifiesto de la solución puede contener uno o más elementos DwpFile que se pueden recopilar en el elemento DwpFiles, y cada uno señala a uno de estos archivos. Por ejemplo:

   <DwpFiles>

      <DwpFile FileName="hellowebpart.webpart" Location="hellowebpart.webpart"/>

   </DwpFiles>

Elemento Resource

Puede colocar archivos de recursos en la carpeta que contiene la característica y usarla desde esa ubicación. Un elemento Resource representa ese recurso en el archivo de manifiesto de la solución. El único atributo que se debe establecer es la ruta de acceso relativa del paquete al archivo de recursos.

Elemento SiteDefinitionManifest

Este elemento se usa en la implementación de una definición de sitio predeterminada. El elemento SiteDefinitionManifest tiene un atributo Location que recoge todos los archivos de la carpeta especificada y crea la carpeta necesaria en la carpeta \12\Template\SiteTemplates. El elemento secundario WebTempFile implementa el archivo webtemp*.xml para que la plantilla se conozca en Productos y Tecnologías de SharePoint. Por ejemplo:

  <SiteDefinitionManifests>

    <SiteDefinitionManifest Location="LitwareSiteTemplate">

      <WebTempFile Location="1033\xml\webtempLitware.xml" />

    </SiteDefinitionManifest>

  </SiteDefinitionManifests>

Elemento RootFile

Los archivos de soluciones se pueden copiar a una carpeta específica directamente bajo la carpeta \12 durante la implementación; para ello, se inserta un elemento RootFile en el archivo de manifiesto de la solución.

Elemento TemplateFile

El elemento TemplateFile se puede usar para definir los archivos de plantilla que se deben implementar bajo la carpeta \12\Template. Un ejemplo del tipo de archivo que se puede implementar de esta forma es el archivo fldtypes*.xml, que define los detalles de un tipo de campo personalizado. Use el atributo Location para especificar la ruta de acceso relativa al archivo.

Descarga de este libro

En este tema se incluye el siguiente libro descargable para facilitar la lectura y la impresión:

Vea la lista completa de los libros disponibles en la sección de libros descargables para Office SharePoint Server 2007.

Vea también

Conceptos

Implementación de personalizaciones
Implementación de personalizaciones de elementos de sitio creados
Implementación de personalizaciones de elementos de sitio desarrollados