Implementación de elementos de sitio mediante características (SharePoint Foundation 2010)

 

Se aplica a: SharePoint Foundation 2010

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

En este artículo se describe cómo implementar personalizaciones de elementos de sitio desarrollados mediante el uso de características. Esto permite controlar el ámbito en el que se podrá activar y desactivar la personalización de sitio e implementar las personalizaciones en varias granjas de servidores.

En esta sección:

  • Qué es una característica

  • Cuándo se deben usar las características

  • Creación de una característica

  • Instalación y activación de una característica mediante Windows PowerShell

Qué es una característica

Una característica es un contenedor de distintas extensiones definidas para SharePoint Foundation 2010 y está compuesta por un conjunto de archivos XML que se implementan en servidores front-end web y servidores de aplicaciones. Puede implementar una característica como parte de un paquete de solución y puede activar individualmente una característica en los sitios de SharePoint Foundation.

Las características reducen la complejidad que implica la realización de personalizaciones sencillas del sitio. Las características eliminan la necesidad de copiar grandes fragmentos de código para cambiar las funcionalidades sencillas y también reducen los problemas de versiones e incoherencia que pueden producirse en los servidores front-end web.

Las características facilitan la activación o desactivación de la funcionalidad en el transcurso de una implementación, y los administradores pueden transformar fácilmente la plantilla o definición de un sitio simplemente activando y desactivando una característica concreta en la interfaz de usuario.

Un elemento es una unidad atómica dentro de una característica. El elemento Feature se usa en un archivo Feature.xml para definir una característica y especificar la ubicación de ensamblados, archivos, dependencias o propiedades compatibles con la característica. Una característica incluye un archivo Feature.xml y una cantidad indeterminada de archivos que describen elementos individuales. Otro elemento Feature procedente de un esquema distinto se usa en un archivo Onet.xml para especificar la activación de una característica cuando se crea un sitio a partir de la definición de sitio.

Un archivo Feature.xml normalmente apunta a uno o más archivos XML cuyas etiquetas <Elements> de nivel superior contienen definiciones para elementos que admiten la característica. Los elementos de SharePoint Foundation 2010 a menudo se corresponden con lo que eran nodos discretos en el archivo Onet.xml o el archivo Schema.xml de Microsoft Office SharePoint Portal Server 2003. Existen varios tipos de elementos, como los elementos de menú personalizado o los controladores de eventos.

Cuándo se deben usar las características

Las características constituyen el método recomendado para implementar partes de funcionalidades, personalizaciones o cambios de configuración en servidores front-end web. Las características constituyen una forma flexible de administrar la funcionalidad a lo largo de su ciclo de vida, incluidas la activación, la actualización y una posible desactivación.

Las características se pueden usar para implementar elementos de sitio desarrollados en uno o varios de los siguientes escenarios:

  • Necesidad de activación y desactivación. Cuando se implementan personalizaciones de elementos de sitio en una característica, se puede instalar, activar y desactivar la característica mediante Windows PowerShell o mediante el modelo de objetos. Además, se puede activar y desactivar una característica mediante el sitio web de Administración central.

  • Flexibilidad del ámbito. Se puede activar una característica para un solo ámbito, incluida una granja de servidores, una aplicación web, una colección de sitios o un sitio web.

  • Facilidad de implementación distribuida. Una característica es fácil de implementar en varias granjas de servidores como parte de una solución.

  • Control mediante el modelo de objetos de características. El modelo de objetos de características permite especificar la lista de características instaladas en un determinado ámbito y controlar si las características están habilitadas en los niveles de granja de servidores y de sitio.

Use paquetes de solución para empaquetar las características e implementarlas en distintos entornos. Por ejemplo, use un paquete de solución para implementar personalizaciones entre las estaciones de trabajo de programadores y una granja de servidores de integración, y también entre una granja de creación o estaciones de trabajo cliente de creación y granjas de servidores piloto o de producción.

Creación de una característica

Cuando se crea una página web personalizada en SharePoint Foundation 2010 mediante el explorador o SharePoint Designer, la página ASPX únicamente puede pertenecer a la colección de sitios raíz del servidor que ejecuta SharePoint Foundation 2010. Para crear una página en una colección de sitios que esté disponible en toda la granja de servidores y en todas las colecciones de sitios, use una solución para implementar la página en la carpeta \14\Template\Layouts (mediante el elemento TemplateFiles del archivo de manifiesto de la solución).

Un procedimiento recomendado en una granja de servidores es implementar las características mediante un paquete de solución. Si se debe recompilar un servidor o si se agrega otro servidor a la granja, no es necesario agregar la característica de forma manual a cada servidor front-end web. Mediante los paquetes de solución, se pueden implementar características nuevas y actualizadas en toda la granja de servidores y se puede sincronizar un servidor front-end web de modo que su estado sea coherente con el estado de los demás servidores de la granja.

Para controlar la disponibilidad de una página personalizada en una colección de sitios o un sitio web, implemente la página web personalizada como una característica de SharePoint como parte de una solución. Use el elemento de módulo en el archivo Feature.xml para implementar una página web mediante el uso de un ámbito de colección de sitios y sitio web. Los módulos se suelen usar para implementar una página de elementos web en el sitio.

Una característica que se implementa como parte de una solución, se instala automáticamente. Si implementa una característica de forma manual, deberá instalarla y activarla. Vea Instalación y activación de una característica mediante Windows PowerShell más adelante en este artículo.

Para crear e implementar una característica personalizada

  1. Cree un archivo Feature.xml. A continuación se muestra un ejemplo de archivo Feature.xml, que es necesario para asignar a la característica un identificador único y apuntar al archivo Module.xml.

    <?xml version="1.0"?>
    <Feature Id="8C4DD0CB-5A94-44da-9B7F-E9ED49C2B2DC" Title=
    "Custom Web page"
    Description="This simple example feature adds an ASPX page 
    with a hosted XmlFormView control" 
    Version="1.0.0.0" Scope="Web"
    xmlns="https://schemas.microsoft.com/sharepoint/">
    <ElementManifests>
        <ElementManifest Location="Module.xml"/>
    </ElementManifests>
    </Feature>
    
  2. Cree un archivo Module.xml. A continuación se muestra un ejemplo de archivo Module.xml, que contiene información acerca de la página o páginas que forman parte de la solución.

    <?xml version="1.0"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
        <module name="file" url="" path="">
            <file url="XmlFormViewPage.aspx" type="ghostable"> </file>
        </module>
    </Elements>
    
  3. Cambie el valor file url al nombre de la página ASPX.

  4. Agregue una subcarpeta para la definición de la característica en el directorio de instalación de características en el equipo servidor, generalmente ubicado en %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\TEMPLATE\FEATURES.

    Importante

    Un procedimiento recomendado es usar nombres completos y detallados para las subcarpetas que se crean para las definiciones de características. Este procedimiento disminuye la probabilidad de que se agreguen varias características con el mismo nombre y se sobrescriba el archivo Feature.xml de otra característica. Por ejemplo, use RRHH_Contrato y Finanzas_Contrato en lugar de Contrato.

  5. Agregue la página .aspx personalizada a esta subcarpeta para la definición de la característica.

  6. Agregue los archivos Feature.xml y Module.xml en la misma ubicación.

  7. Agregue la característica a un paquete de solución.

    Puede usar Visual Studio 2010 para agregar la característica a una solución o puede agregar manualmente un elemento FeatureManifests al archivo de manifiesto de solución Manifest.xml.

  8. Cree el paquete de solución.

    Puede usar Visual Studio 2010 para crear el paquete de solución. Además, puede crearlo mediante la herramienta Makecab.exe.

  9. Importe e implemente el paquete de solución.

    Agregue la solución al almacén de soluciones mediante el cmdlet Add-SPSolution de Windows PowerShell y, a continuación, implemente la solución desde el almacén de soluciones mediante el sitio web de Administración central o mediante Windows PowerShell.

Para obtener más información acerca del uso de Visual Studio 2010 para agregar características a paquetes de solución, vea el tema sobre la creación de paquetes de solución de SharePoint (https://go.microsoft.com/fwlink/?linkid=187035&clcid=0xC0A). Para obtener más información acerca de la creación de un paquete de solución de forma manual o mediante la herramienta Makecab.exe, vea el tema sobre la creación de una solución (https://go.microsoft.com/fwlink/?linkid=187036&clcid=0xC0A). Para obtener más información acerca de la implementación de soluciones, vea Implementación de paquetes de solución (SharePoint Foundation 2010).

Instalación y activación de una característica mediante Windows PowerShell

Puede instalar y activar una característica mediante Windows PowerShell o mediante el modelo de objetos. Además, puede instalar una característica mediante la página Administrar características de la aplicación web o la página Características de la colección de sitios o el sitio en que desea activar la característica. Instalar una característica hace que su definición y elementos sean conocidos en toda la granja de servidores y activarla hace que la característica esté disponible en un ámbito determinado.

Nota

Las características que se implementan como parte de un paquete de solución se instalan con la implementación y no se requiere la instalación manual.

Puede instalar características en la carpeta 14\Template\Features, con cada característica en su propia subcarpeta. En la raíz de esta carpeta, un archivo Feature.xml define el contenido de la característica. Deberá instalar las características individuales antes de poder usarlas y, a menos que la característica se aplique a la granja de servidores, deberá activarlas después de instalarlas. Si una característica se aplica a la granja de servidores o a una aplicación web, se activa inmediatamente.

Para desinstalar una característica de modo que su definición ya no esté disponible en una granja de servidores, primero deberá desactivar la característica mediante el cmdlet de Windows PowerShellDisable-SPFeature, a menos que la característica se aplique para granjas de servidores o aplicaciones web. Después de desactivar la característica, puede usar el cmdlet Uninstall-SPFeature para desinstalarlo. Para obtener más información, vea Uninstall-SPFeature. Después de desinstalar una característica, reinicie Internet Information Services para que puedan aplicarse los cambios.

Para desactivar una característica de modo que quede inactiva en su ámbito originalmente asignado sin desinstalarla, puede usar el cmdlet Disable-SPFeature. Para obtener más información, vea Disable-SPFeature.

Use el siguiente procedimiento para instalar y activar una característica.

Para instalar una característica 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-SPFeature -path <Path> [-force]
    

    donde:

    • <Path> es una ruta de archivo válida; por ejemplo, MyFeature. La ruta de la característica debe ser una ruta literal al nombre de la carpeta 4\Template\Features. El nombre del archivo Feature.xml está implícito y no necesita especificarse.

Para obtener más información, vea Install-SPFeature.

Nota

Se recomienda usar Windows PowerShell para realizar tareas administrativas de línea de comandos. La herramienta de línea de comandos Stsadm ya no se usa, pero se ha incluido para ofrecer compatibilidad con las versiones anteriores del producto.

Para activar una característica 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:

    Enable-SPFeature -Identity <FeatureID> [-url] <URLname> [-force]
    

    donde:

    • <FeatureID> es el nombre de la carpeta de la característica que se encuentra en la carpeta 14\Template\Features. Debe ser una ruta de archivo válida; por ejemplo, MyCustom.

    • <URLname> es la dirección URL principal de la característica de la aplicación web, colección de sitio o sitio web para el cual se activa la característica; por ejemplo, http://unsitio.

Para obtener más información, vea Enable-SPFeature.

Nota

Se recomienda usar Windows PowerShell para realizar tareas administrativas de línea de comandos. La herramienta de línea de comandos Stsadm ya no se usa, pero se ha incluido para ofrecer compatibilidad con las versiones anteriores del producto.