Implementación de paquetes de solución (SharePoint Server 2010)

 

Se aplica a: SharePoint Server 2010

Última modificación del tema: 2016-11-30

En este artículo se describen los paquetes de soluciones y la función que cumplen en la implementación de personalizaciones creadas y desarrolladas en Microsoft SharePoint Server 2010. Incluye procedimientos de importación e implementación de paquetes de soluciones y un ejemplo para generar e implementar un paquete de soluciones mediante Microsoft Visual Studio 2010.

En este artículo:

  • ¿Qué es un paquete de soluciones?

  • Implementación de los elementos del sitio mediante paquetes de soluciones

  • Creación e implementación de un paquete personalizado de soluciones de elementos web mediante Visual Studio 2010

¿Qué es un paquete de soluciones?

Un paquete de soluciones es un paquete de distribución que entrega el trabajo de desarrollo de SharePoint Server 2010 personalizado a los servidores web o los servidores de aplicación de la granja de servidores. Utilice las soluciones para empaquetar e implementar características, definiciones de sitios, plantillas, páginas de diseño, elementos web, hojas de estilo en cascada y ensamblados personalizados.

En este artículo no se analiza la implementación de soluciones de espacio aislado. Puede implementar una solución de Microsoft SharePoint Server 2010 directamente en la granja de SharePoint Server o puede implementar la solución en un espacio aislado. Un espacio aislado es un entorno de ejecución restringido que permite a los programas tener acceso únicamente a algunos recursos; además, evita que los problemas que se originan dentro del espacio aislado afecten al resto del entorno del servidor. Para obtener más información, vea Introducción a las soluciones de espacio aislado (SharePoint Server 2010).

Un paquete de soluciones es un archivo CAB con una extensión de nombre de archivo .wsp y un archivo de manifiesto. Se recomienda utilizar Visual Studio 2010 Tools para SharePoint 2010 para desarrollar y empaquetar soluciones de SharePoint. Además, puede crear paquetes de soluciones manualmente mediante herramientas como Makecab.exe y SharePoint Packman.

Los componentes que se pueden empaquetar en una solución incluyen:

  • Normalmente, los ensamblados de .NET Framework son ensamblados de elementos web y ensamblados de receptor de eventos.

  • Archivos de implementación, como archivos de recursos, páginas u otros archivos auxiliares.

  • Características que permiten activar y desactivar código en un sitio web y proporcionan funcionalidad que contiene elementos como listas personalizadas, bibliotecas, campos y tipos de contenido.

  • Nuevas plantillas y definiciones de sitios.

  • Configuraciones que se deben realizar en el nivel del servidor web, como por ejemplo, implementación de personalizaciones en los archivos Web.config para el registro de elementos web. Además, puede modificar estas configuraciones con una característica que se distribuye con una característica.

  • Contenido web como páginas web e imágenes solicitadas por páginas web. Si debe implementar el contenido web en un entorno desconectado, debe utilizar un paquete de implementación de contenido.

Implementación de los elementos del sitio mediante paquetes de soluciones

En esta sección:

  • Cuándo se deben usar paquetes de soluciones

  • Implementación de soluciones de granja

  • Importación de un paquete de soluciones

  • Implementación de un paquete de soluciones

  • Creación de un paquete de soluciones

Cuándo se deben usar paquetes de soluciones

El procedimiento recomendado para implementar personalizaciones es utilizar paquetes de soluciones como parte de un proceso de administración de la vida útil de aplicaciones sencillo, seguro y coherente. Los paquetes de soluciones simplifican el cambio de características y funcionalidades de los sitios web después de crear los sitios.

Puede utilizar paquetes de soluciones para implementar nuevas soluciones y actualizar soluciones existentes en la granja. Puede empaquetar todas las entidades de SharePoint Server como un solo archivo, agregar el archivo al almacén de soluciones e implementarlo en los servidores front-end web en la granja. Utilice paquetes de soluciones para sincronizar un servidor front-end web de modo que su estado sea coherente con el estado de otros servidores web de la granja.

Puede utilizar paquetes de soluciones para implementar personalizaciones de elementos de sitio creados desde una granja de integración a una granja piloto, de creación o de producción. En SharePoint Server, los usuarios pueden guardar un sitio personalizado como una plantilla. De esta forma se crea un paquete de soluciones con la extensión de nombre de archivo .wsp que se puede implementar en otra granja.

Puede usar paquetes de soluciones para implementar personalizaciones entre estos entornos:

  • Desde estaciones de trabajo de desarrolladores a una granja de integración o un sistema de administración de la configuración del software

  • Desde una granja de integración y estaciones de trabajo de creación cliente a granjas piloto y de producción

Implementación de soluciones de granja

Las soluciones de granja se implementan localmente o mediante un servicio de temporizador. Las implementaciones locales y basadas en temporizador pueden desencadenarse mediante instrucciones de línea de comandos o mediante programación con el modelo de objetos.

Implementación local

En una implementación local, los archivos de solución se implementan solo en el equipo desde el que se inició la operación de implementación. La solución no se marca como "implementada" en la base de datos de configuración hasta que se implementen los archivos de solución en todos los servidores aplicables de la granja de servidores. Luego se instalan las características de solución, y los archivos de esquema y definición se confirman en el almacén de configuración.

Implementaciones del servicio de temporizador

En las implementaciones que usan el servicio de temporizador, la implementación crea un trabajo de temporizador. El servicio de temporizador toma este trabajo del temporizador de cada servidor web de la granja de servidores. Inicialmente, el manifiesto y los manifiestos de características se analizan para buscar archivos _layouts y de ensamblado, que se copian en las ubicaciones correspondientes. Todos los demás archivos incluidos en un directorio de características se copian en el directorio de características. Una vez copiados los archivos de solución en los equipos de destino, se programa un restablecimiento de la configuración para todos los servidores front-end web; a continuación, se implementan los archivos y se reinicia Microsoft Internet Information Services (IIS). Luego se registran las características de solución, y los archivos de esquema y definición se confirman en el almacén de configuración.

Para obtener más información acerca de la sincronización, implementación y almacén de soluciones, vea el tema sobre implementaciones de soluciones (https://go.microsoft.com/fwlink/?linkid=186995&clcid=0xC0A) en el kit de desarrollo de software de Microsoft SharePoint 2010 (SDK)

Adición de un paquete de soluciones

Antes de poder implementar un paquete de soluciones, debe agregarlo a la base de datos de soluciones de una granja de SharePoint Server.

Importante

Debe ser miembro del grupo de administradores en cualquier equipo en el que ejecute Windows PowerShell.

Para importar un paquete de soluciones mediante Windows PowerShell

  1. Compruebe que cumple los siguientes requisitos mínimos: Consulte Add-SPShellAdmin..

  2. En el menú Inicio, haga clic en Todos los programas.

  3. Haga clic en Productos de Microsoft SharePoint 2010.

  4. Haga clic en Consola de administración de SharePoint 2010.

  5. En el símbolo del sistema de Windows PowerShell, escriba el siguiente comando:

    Add-SPSolution -LiteralPath <SolutionPath>
    

La solución se agrega al almacén de soluciones de la granja. Para usar la solución, siga el procedimiento de la siguiente sección de este artículo. Para obtener más información, vea Add-SPSolution.

Implementación de un paquete de soluciones

Se pueden implementar soluciones importadas mediante el sitio web de Administración central o mediante Windows PowerShell. Después de que se agrega una solución al almacén de soluciones mediante el cmdlet Add-SPSolution de Windows PowerShell, se debe implementar en un sitio para poder tener acceso a dicha solución.

Nota

No se puede agregar una solución al almacén de soluciones a través de la página Administración de soluciones de Administración central.

En los siguientes procedimientos se muestra cómo implementar una solución importada a un sitio del conjunto o granja de servidores a través del sitio web de Administración central o Windows PowerShell.

Para implementar una solución mediante Administración central

  1. En la página principal de Administración central, haga clic en Configuración del sistema.

  2. En la sección Administración del conjunto de servidores, haga clic en Administrar soluciones del conjunto de servidores.

  3. En la página Administración de soluciones, haga clic en la solución que desee implementar.

  4. En la página Propiedades de la solución, haga clic en Implementar solución.

  5. En la página Implementar solución, en la sección ¿Cuándo desea implementarla?, seleccione una de las siguientes opciones:

    • Ahora

    • A una hora específica. Si selecciona esta opción, especifique la fecha y hora en los cuadros correspondientes. Se recomienda seleccionar una hora cuando la carga en los servidores de destino sea baja.

  6. En la sección ¿Dónde implementarla?, en la lista Una aplicación web específica, haga clic en Todas las aplicaciones web o seleccione una aplicación web específica.

  7. Haga clic en Aceptar.

Para implementar un paquete de soluciones en una única aplicación web mediante Windows PowerShell

  1. Compruebe que cumple los siguientes requisitos mínimos: Consulte Add-SPShellAdmin.

  2. En el menú Inicio, haga clic en Todos los programas.

  3. Haga clic en Productos de Microsoft SharePoint 2010.

  4. Haga clic en Consola de administración de SharePoint 2010.

  5. En el símbolo del sistema de Windows PowerShell, escriba el siguiente comando:

    Install-SPSolution -Identity <SolutionName> -WebApplication <URLname>
    

    donde:

    • <nombreDeSolución> es el nombre de la solución.

    • <nombreDeDirecciónURL> es la dirección URL de la aplicación web donde se desea implementar la solución importada.

    De manera predeterminada, la solución se implementa inmediatamente. También puede programar la implementación mediante el parámetro time. Para obtener más información, vea Install-SPSolution.

Para implementar un paquete de soluciones en todas las aplicaciones web mediante Windows PowerShell

  1. Compruebe que cumple los siguientes requisitos mínimos: Consulte Add-SPShellAdmin.

  2. En el menú Inicio, haga clic en Todos los programas.

  3. Haga clic en Productos de Microsoft SharePoint 2010.

  4. Haga clic en Consola de administración de SharePoint 2010.

  5. En el símbolo del sistema de Windows PowerShell, escriba el siguiente comando:

    Install-SPSolution -Identity <SolutionName> -AllWebApplications -time <TimeToDeploy> -GACDeployment -CASPolicies
    

    donde:

    • GACDeployment es el parámetro que permite a SharePoint Server 2010 implementar los ensamblados en la memoria caché de ensamblados global.

    • CASPolicies habilita la creación de un archivo personalizado de directiva de seguridad de acceso al código (CAS) y su activación en el archivo Web.config de la colección de sitios de destino.

    De forma predeterminada, la solución se implementa inmediatamente. También se puede programar la implementación con el parámetro time.

Creación de un paquete de soluciones

SharePoint Server 2010 no incluye ninguna herramienta para la creación de paquetes de soluciones. En esta sección se describen formas de crear paquetes de soluciones que contienen artefactos y elementos de sitio desarrollados.

Visual Studio 2010

Puede usar Visual Studio 2010 para agrupar elementos de SharePoint relacionados en una característica y luego empaquetar varias características, definiciones de sitios, ensamblados y otros archivos en un único paquete (archivo .wsp) para implementar en servidores que ejecutan SharePoint Server 2010. Puede usar Visual Studio 2010 para depurar y probar el archivo .wsp en el servidor que ejecuta SharePoint Server 2010 en el equipo de desarrollo. Además, puede personalizar los pasos de implementación en el equipo de desarrollo.

Los programadores pueden crear soluciones de SharePoint en Visual Studio 2010 y producir archivos .wsp mediante el proceso de compilación automatizado. El código fuente del proyecto de SharePoint de Visual Studio que se utiliza para generar el archivo .wsp también se puede agregar al sistema de control de código fuente mediante la integración de Visual Studio 2010. Visual Studio 2010 puede importar archivos .wsp y crear proyectos para extenderlos aún más y para crear nuevos archivos .wsp. El origen principal de los archivos .wsp que se importan en Visual Studio 2010 son plantillas que se guardan con el comando Guardar como plantilla desde los sitios de SharePoint Server 2010. Estas plantillas se pueden utilizar para guardar todas las personalizaciones de sitios en una solución de SharePoint.

Para obtener más información, vea el tema sobre el desarrollo de SharePoint en Visual Studio (https://go.microsoft.com/fwlink/?linkid=187000&clcid=0xC0A).

Makecab

Los paquetes de soluciones se pueden crear manualmente mediante herramientas como Makecab.exe. La herramienta Makecab.exe toma un puntero a un archivo .ddf, que describe la estructura del archivo CAB. El formato de un archivo .ddf es similar al de un archivo .inf, es decir, se declara un encabezado estándar y luego se enumera, un archivo por línea, el conjunto de archivos según su ubicación en el disco y la ubicación donde deben estar en el archivo CAB.

La herramienta Makecab.exe está disponible para su descarga en el kit de desarrollo de software de archivos .CAB de Microsoft (https://go.microsoft.com/fwlink/?linkid=107292&clcid=0xC0A).

SharePoint PackMan

SharePoint PackMan es una herramienta que simplifica el proceso de empaquetado y administración de soluciones de SharePoint. Arrastre y coloque los archivos en la herramienta y esta creará un archivo .ddf, un archivo manifest.xml y ejecutará Makecab.exe desde un símbolo del sistema. SharePoint PackMan también simplifica el proceso de agregar, implementar, retirar y eliminar una o varias soluciones de la granja, las aplicaciones web o las colecciones de sitios.

La herramienta SharePoint PackMan está disponible para su descarga desde CodeBox: https://codebox/sppackman (https://go.microsoft.com/fwlink/?linkid=107292&clcid=0xC0A).

Acerca de la personalización de paquetes de soluciones

Si necesita realizar cualquiera de las siguientes personalizaciones en las soluciones de SharePoint Server 2010, se recomienda utilizar Visual Studio 2010 para personalizar los paquetes de soluciones. Para realizar estas personalizaciones, también puede crear manualmente los paquetes de soluciones de SharePoint.

  • Implementar ensamblados de .NET Framework en la carpeta de aplicaciones privada en lugar de en la memoria caché de ensamblados global.

  • Agregar permisos de seguridad de acceso a código a la solución que se deben aplicar durante la implementación.

  • Cambiar los nombres usados de forma predeterminada para las carpetas de características.

  • Localizar la solución.

  • Asociar controladores de eventos de características a ciertos tipos de soluciones de SharePoint Foundation 2010, como soluciones de elementos web.

  • Agregar recursos (archivos XML, imágenes, archivos .dll y ensamblados) al paquete de soluciones.

Creación manual de un archivo de solución

En la mayoría de los escenarios de desarrollo de SharePoint Server 2010, se recomienda utilizar Visual Studio 2010 Tools para SharePoint 2010 para desarrollar y empaquetar soluciones de SharePoint. En Visual Studio 2010, el proceso de implementación copia el archivo .wsp en el servidor que ejecuta SharePoint Server 2010, instala la solución y luego activa las características.

También puede crear manualmente un archivo de solución. A continuación, se presentan los pasos básicos para crear un archivo de solución:

  1. Recopilar todos los archivos de soluciones individuales en una carpeta. No existen directrices específicas sobre cómo se debe llevar a cabo esta tarea, pero un procedimiento recomendado es separar los diferentes tipos de archivos de soluciones en sus propias subcarpetas.

  2. Crear un archivo manifest.xml que enumere los componentes de la solución.

  3. Crear un archivo .ddf que defina la estructura del archivo de solución. Este archivo contiene la lista de archivos de soluciones individuales que determinan el archivo .wsp de salida.

  4. Ejecutar Makecab.exe con el archivo .ddf como entrada y el archivo .wsp como salida.

Acerca del archivo de manifiesto de las soluciones

El manifiesto de las soluciones (llamado siempre manifest.xml) se almacena en la raíz de un archivo de soluciones. Este archivo define la lista de características, definiciones de sitios, archivos de recursos, archivos de elementos web y ensamblados que se van a procesar. No define la estructura de archivos; si hay archivos incluidos en una solución, pero no están incluidos en el archivo manifest.xml, no se procesarán de ninguna forma.

A continuación se incluye un ejemplo de la estructura de un archivo manifest.xml, que se muestra en XML.

<?xml version="1.0" encoding="utf-8" ?>

<Solution xmlns="https://schemas.microsoft.com/sharepoint/"

SolutionId="{79d1a62e-3627-11db-963e-00e08161165f}"

ResetWebServer="TRUE">

    <Assemblies>

        <Assembly DeploymentTarget="GlobalAssemblyCache"

Location="Example.Sharepoint.Webparts\

Example.SharePoint.WebParts.dll">

            <SafeControls>

                <SafeControl Assembly="Example.Sharepoint.Webparts,

Version=1.0.0.0, Culture=Neutral, PublicKeyToken=63cce650e8605f5d"

Namespace="Example.Sharepoint.Webparts" TypeName="*"/>

            </SafeControls>

        </Assembly>

        <Assembly DeploymentTarget="GlobalAssemblyCache"

Location="Example.Sharepoint.Timer/Example.Sharepoint.Timer.dll"/>

    </Assemblies>

    <FeatureManifests>

        <FeatureManifest Location="Example.Sharepoint.Timer\Feature.xml"/>

        <FeatureManifest Location="Example.CustomType\Feature.xml"/>

        <FeatureManifest Location="Example.ExampleLibrary\Feature.xml"/>

        <FeatureManifest Location="Example.Columns\Feature.xml"/>

        <FeatureManifest Location="Example.Workflow.ProcessExample\Feature.xml"/>

        <FeatureManifest Location="Example.Workflow.ProvisionExample\Feature.xml"/>

    </FeatureManifests>

    <SiteDefinitionManifests>

        <SiteDefinitionManifest Location="EXAMPLE">

            <WebTempFile Location="1033\XML\WEBTEMPExample.XML"/>

        </SiteDefinitionManifest>

    </SiteDefinitionManifests>

</Solution>

Además, puede agregar un elemento DwpFiles para especificar archivos .webpart o .dwp, o un elemento ResourceFiles para especificar archivos de recursos, definiciones de sitio, recursos de aplicaciones y directivas de seguridad de acceso a código.

Si lo desea, puede incluir anotaciones en los archivos Feature.xml mediante etiquetas <ElementFile>.

Si la solución contiene características, en la etiqueta <ElementManifests> del archivo Feature.xml, agregue <ElementFile Location="..."/> para todos los archivos adicionales de la característica, como páginas ASP.NET (por ejemplo, allitems.aspx) o páginas maestras, etc.

Para obtener más información acerca de archivos de manifiesto de las soluciones que definen los elementos constituyentes de una solución, vea el tema sobre el esquema de solución (https://go.microsoft.com/fwlink/?linkid=183466&clcid=0xC0A).

Creación e implementación de un paquete personalizado de soluciones de elementos web mediante Visual Studio 2010

Para obtener un tutorial de ejemplo que muestra cómo utilizar Visual Studio 2010 para crear, personalizar, depurar e implementar una definición de lista de SharePoint para seguir las tareas de proyecto, vea el tutorial sobre cómo implementar una definición de lista de tareas de proyecto (https://go.microsoft.com/fwlink/?linkid=189612&clcid=0xC0A) en MSDN Library.

En este tutorial se ilustran las siguientes tareas:

  • Creación de un proyecto de definición de lista de SharePoint que contiene tareas.

  • Adición de la definición de lista a una característica de SharePoint.

  • Adición de un receptor de eventos a la lista.

  • Creación y personalización de un paquete de SharePoint para implementar la característica.

  • Creación e implementación de la solución SharePoint.

Al compilar el proyecto de ejemplo de este tutorial, Visual Studio 2010 implementa automáticamente la solución en el servidor que ejecuta SharePoint Server 2010 en el equipo de desarrollo para pruebas y depuración. También puede crear un archivo de paquete de soluciones que puede agregar e implementar en otro equipo. Para obtener más información, vea cómo implementar una solución de SharePoint (https://go.microsoft.com/fwlink/?linkid=187004&clcid=0xC0A). Puede utilizar el cmdlet Add-SPSolution de Windows PowerShell para importar la solución a otro equipo.

Puede utilizar la página Administración de soluciones de Administración central para implementar el paquete de soluciones. También tiene la opción de utilizar el cmdlet Install-SPSolution de Windows PowerShell para implementar el paquete de soluciones.

En el tutorial, el ámbito de la característica de lista de proyecto es la Web. Para activar la característica, en el sitio web, expanda el menú Acciones del sitio y haga clic en Configuración del sitio. En Acciones del sitio, haga clic en Administrar características del sitio. En la página Características, haga clic en Activar junto al nombre de la característica.