Implementación de paquetes de solución (SharePoint Foundation 2010)
Se aplica a: SharePoint Foundation 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 Foundation 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 solución?
Implementación de elementos de sitio mediante paquetes de solución
Creación e implementación de un paquete personalizado de solución de elementos web mediante Visual Studio 2010
¿Qué es un paquete de solución?
Un paquete de soluciones es un paquete de distribución que entrega el trabajo de desarrollo de SharePoint Foundation 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 Foundation 2010 directamente en la granja de SharePoint Foundation 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 Foundation 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.
Entre los componentes que se pueden empaquetar en una solución se incluyen:
Ensamblados de .NET Framework, normalmente 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 funcionalidades entre las que se incluyen elementos como listas, bibliotecas, campos y tipos de contenido personalizados.
Nuevas plantillas y definiciones de sitios.
Configuraciones que se deben establecer en el nivel de servidor web, como por ejemplo, la implementación de personalizaciones en los archivos Web.config para el registro de elementos web. También 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 elementos de sitio mediante paquetes de solución
En esta sección:
Cuándo se deben usar paquetes de solución
Implementación de soluciones de granja
Importación de un paquete de solución
Implementación de un paquete de solución
Acerca de la creación de un paquete de solución
Cuándo se deben usar paquetes de solución
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 Foundation 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 Foundation, 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 solución para implementar las personalizaciones entre estos entornos:
Desde estaciones de trabajo de programadores a una granja de servidores de integración o un sistema de administración de configuración de 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 del almacenamiento, la implementación y la sincronización de soluciones, vea el tema sobre la implementación de una solución (https://go.microsoft.com/fwlink/?linkid=186995&clcid=0xC0A) en el kit de desarrollo de software (SDK) de Microsoft SharePoint 2010.
Adición de un paquete de solución
Antes de poder implementar un paquete de solución, debe agregarlo a la base de datos de soluciones de una granja de SharePoint Foundation.
Importante
Debe ser miembro del grupo Administradores en cualquier equipo en el que se ejecute Windows PowerShell.
Para importar un paquete de solución mediante Windows PowerShell
Compruebe que cumple los siguientes requisitos mínimos: Consulte Add-SPShellAdmin..
En el menú Inicio, haga clic en Todos los programas.
Haga clic en Productos de Microsoft SharePoint 2010.
Haga clic en Consola de administración de SharePoint 2010.
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 solución
Puede implementar soluciones importadas mediante el sitio web de Administración central o Windows PowerShell. Una vez agregada una solución al almacén de soluciones mediante el cmdlet Add-SPSolution de Windows PowerShell, ésta debe implementarse en un sitio para poder obtener acceso a ella.
Nota
No se puede agregar una solución al almacén de soluciones mediante la página Administración de soluciones de Administración central.
En los siguientes procedimientos se muestra cómo implementar una solución importada en un sitio de la granja de servidores mediante el sitio web de Administración central o Windows PowerShell.
Para implementar una solución mediante Administración central
En la página principal de Administración central, haga clic en Configuración del sistema.
En la sección Administración del conjunto de servidores, haga clic en Administrar soluciones del conjunto de servidores.
En la página Administración de soluciones, haga clic en la solución que desee implementar.
En la página Propiedades de la solución, haga clic en Implementar solución.
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.
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.
Haga clic en Aceptar.
Para implementar un paquete de solución en una única aplicación web mediante Windows PowerShell
Compruebe que cumple los siguientes requisitos mínimos: Consulte Add-SPShellAdmin.
En el menú Inicio, haga clic en Todos los programas.
Haga clic en Productos de Microsoft SharePoint 2010.
Haga clic en Consola de administración de SharePoint 2010.
En el símbolo del sistema de Windows PowerShell, escriba el siguiente comando:
Install-SPSolution -Identity <SolutionName> -WebApplication <URLname>
donde:
<SolutionName> es el nombre de la solución.
<URLname> es la dirección URL de la aplicación web en la que 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 solución en todas las aplicaciones web mediante Windows PowerShell
Compruebe que cumple los siguientes requisitos mínimos: Consulte Add-SPShellAdmin.
En el menú Inicio, haga clic en Todos los programas.
Haga clic en Productos de Microsoft SharePoint 2010.
Haga clic en Consola de administración de SharePoint 2010.
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 Foundation 2010 implementar los ensamblados en la memoria caché global de ensamblados.
CASPolicies permite la creación de un archivo personalizado de directivas 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 de forma inmediata. También se puede programar la implementación con el parámetro time.
Acerca de la creación de un paquete de solución
SharePoint Foundation 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 Foundation 2010. Puede usar Visual Studio 2010 para depurar y probar el archivo .wsp en el servidor que ejecuta SharePoint Foundation 2010. 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 Foundation 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).
Acerca de la personalización de paquetes de solución
Si necesita realizar cualquiera de las siguientes personalizaciones en las soluciones de SharePoint Foundation 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é global de ensamblados.
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 solución.
Creación manual de un archivo de solución
En la mayoría de los escenarios de desarrollo de SharePoint Foundation 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 Foundation 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:
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.
Crear un archivo manifest.xml que enumere los componentes de la solución.
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.
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 CAS.
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 los archivos de manifiesto de soluciones que definen las partes 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 solución 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 Foundation 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.