Aprovisionamiento de sitios en el modelo de complementos de SharePoint

El método que se usa para aprovisionar colecciones de sitios y subsitios es distinto en el modelo de complementos de SharePoint, en comparación con el código de plena confianza. En un escenario típico de solución de granja de servidores o código de plena confianza (FTC), se crean colecciones de sitios y subsitios con las definiciones de sitio y las plantillas web y, después, se usa código declarativo para configurar los sitios y aplicar las personalizaciones. En este modelo, normalmente se usa código declarativo para crear columnas de sitio, tipos de contenido y listas definidas en XML y, después, se usan elementos del marco de características de SharePoint para empaquetarlos e implementarlos.

En un escenario de modelo de complementos de SharePoint, puede usar el modelo de objetos del lado cliente (CSOM) de SharePoint para crear y configurar las colecciones de sitios y sub sitios. Este patrón se conoce como patrón de aprovisionamiento remoto.

En un nivel alto, el patrón de aprovisionamiento remoto tiene este aspecto:

1) Un trabajo de temporizador remoto, va a 2) Aprovisionamiento inicial basado en el sitio integrado. Normalmente, sitio de equipo o sitio de publicación. Los recursos se cargan desde el motor de aprovisionamiento mediante CSOM/REST. 3) Aplique los cambios necesarios (configuraciones, etc.) sobre el sitio integrado en función de la selección del usuario para crear el sitio de Project, el sitio organizativo o el sitio de grupo de trabajo. Esta es la parte de especialización, pero como comenzamos desde el sitio de OOB, siempre obtenemos las últimas mejoras en él como línea base.

Directrices avanzadas

Como regla general, se recomienda seguir estas directrices avanzadas para crear colecciones de sitios y subsitios.

  • Aprovisione colecciones de sitios y subsitios según las plantillas de sitio integradas que se incluyen con SharePoint.
    • Utilice SharePoint CSOM para crear las colecciones de sitios y sub sitios.
  • Aplique la configuración y personalización a la colección de sitios y subsitios estándar que se ajuste a sus necesidades.
    • Utilice SharePoint CSOM para aplicar la configuración y personalización.
  • Se recomienda no usar elementos del marco de características en la creación de colecciones de sitios y subsitios.
    • La única excepción a esta directriz se da cuando se utiliza el aprovisionamiento declarativo basado en XML en una web de complemento de un complemento de SharePoint hospedado en SharePoint. Esto se debe a que el CSOM no está disponible en un complemento de SharePoint hospedado en SharePoint.

Dificultades al crear colecciones de sitios y subsitios

Creación en un explorador web y creación con código

Es importante comprender que la creación de colecciones de sitios y subsitios a través del explorador web y de código es diferente. En esta lista se describen las diferentes opciones.

  • Creación mediante un explorador web
    • En esta opción, los usuarios acceden a un sitio de SharePoint con un explorador web y usan las páginas administrativas para crear colecciones de sitios y subsitios.
    • Por lo general, solo tiene que usar el explorador web para crear colecciones de sitios y subsitios manualmente cuando se crean prototipos o se modifica un solo sitio de SharePoint que no está previsto que crezca para incluir otras colecciones de sitios o subsitios.
  • Creación con código
    • En esta opción, se puede ejecutar código de SharePoint CSOM para crear colecciones de sitios y subsitios.
    • Más adelante en este artículo puede leer sobre algunos métodos que puede usar para ejecutar el código de SharePoint CSOM.

En la creación mediante un explorador web, tenga en cuenta lo siguiente.

  • La creación de colecciones de sitios y subsitios mediante el explorador web suele ser un proceso complicado que lleva mucho tiempo.
    • Estos factores hacen que la creación de colecciones de sitios y subsitios mediante el explorador web sea propensa a errores.
  • No hay ninguna forma de volver a crear de manera predecible las colecciones de sitios y subsitios (y los componentes que contienen) que se hayan creado mediante el explorador web.
    • Esto hace que resulte difícil implementar de forma rápida y coherente las colecciones de sitios y subsitios en distintos entornos a medida que se pasa de la fase de desarrollo a la de pruebas y la de producción.

En la creación con código, tenga en cuenta lo siguiente.

  • La creación de colecciones de sitios y subsitios con código suele implicar el uso de bibliotecas de utilidades personalizadas para ejecutar código de SharePoint CSOM.
    • Encontrará estas bibliotecas disponibles en muchos proyectos en el repositorio de GitHub de PnP para desarrolladores de Office. Se hace referencia a ellas en todo el artículo y al final.
    • Estos factores hacen que la creación de colecciones de sitios y subsitios con código sea propensa a errores.
  • También puede replicar de forma fácil y coherente las colecciones de sitios y subsitios (y los componentes que contienen) a través de código de forma detallada.
    • Pueden implementarse fácilmente las colecciones de sitios y subsitios en distintos entornos y hacer referencia a ellos a medida que se pasa de la fase de desarrollo a la de pruebas y la de producción.

Debe suceder rápidamente.

Los usuarios finales no aceptarán tener que esperar varias horas a que los nuevos sitios de SharePoint se aprovisionen.

Debe ser sistemáticamente perfecta.

Las colecciones de sitios y subsitios y los distintos componentes que incluyen tales como columnas de sitio, tipos de contenido, listas, páginas maestras, archivos JavaScript, imágenes, etc., conforman la base que define la arquitectura de información, deben ser perfectos.

El aprovisionamiento incorrecto de colecciones de sitios y subsitios puede afectar a toda una aplicación de línea de negocio en el sitio de SharePoint donde se aprovisionen, así como otros elementos de SharePoint y otras aplicaciones de línea de negocio que tienen acceso a los servicios de SharePoint.

Por ejemplo: si tiene sitios de SharePoint que se utilizan para administrar proyectos en la compañía, lo más probable es que cree un esquema de lista común para todos ellos. Esto requerirá la creación de columnas de sitio y tipos de contenido. Cuando busca información en estos sitios a través de la página de búsqueda de SharePoint, filtra los resultados por tipo de contenido o etiqueta (columna de sitio). Si las columnas de sitio y los tipos de contenido no son perfectamente coherentes en todos los sitios de proyecto, no obtendrá resultados precisos.

Este ejemplo puede aplicarse también a los elementos web de búsqueda de contenido, los complementos de SharePoint, las aplicaciones móviles y los demás sistemas que tengan acceso a la información de los sitios de SharePoint.

Opciones para crear colecciones de sitios y subsitios

Existen varias opciones que puede usar para crear colecciones de sitios y subsitios con el nuevo modelo de complementos de SharePoint. Estas opciones se encuentran todas en la opción de creación con código descrita anteriormente.

  • Reemplazar el vínculo de creación de sitios
  • Reemplazar el vínculo de creación de subsitios
  • Utilizar un complemento de SharePoint hospedado por el proveedor
  • Usar aplicaciones .NET/Java/Objective-C o scripts de PowerShell

En este patrón, el vínculo para crear una colección de sitios se reemplaza por un vínculo que apunta a un complemento de SharePoint hospedado por el proveedor. El código CSOM que se ejecuta en un complemento de SharePoint hospedado por el proveedor se distribuye con el patrón de aprovisionamiento remoto como parte del proceso de creación de sitios.

  • El patrón solo se utiliza cuando se aborda la creación de colecciones de sitios; no sirve para crear subsitios.
  • La dirección URL de reemplazo está configurada en el Centro de administración de SharePoint. Esta dirección URL apunta a un complemento de SharePoint hospedado por el proveedor
  • El complemento de SharePoint hospedado por el proveedor usa las API CSOM para crear colecciones de sitios.
    • También pueden utilizarse las API CSOM/REST para configurar otros aspectos del sitio durante el proceso de aprovisionamiento.
  • Es posible usar este método en inquilinos de Office 365 y en instancias de SharePoint local.
  • Ofrece una enorme flexibilidad para crear y configurar colecciones de sitios de SharePoint.
  • De implementación y mantenimiento fáciles y económicos a corto y largo plazo.

Configuración

Para reemplazar el vínculo de creación de sitios, abra la página de configuración en el Centro de administración de SharePoint (que se muestra a continuación).

Menú del Centro de administración de SharePoint, con la opción de menú Configuración resaltada.

Marque luego la casilla Use the form at this URL (Usar el formulario en esta dirección URL) y escriba la dirección URL al complemento de SharePoint hospedado por el proveedor que implemente la funcionalidad de creación de sitios (que se muestra a continuación).

Un cuadro de diálogo Cancelar correcto titulado Mensaje de la página web que indica que, al cambiar la ubicación en la que los usuarios crean sitios, puede permitirles ejecutar un script personalizado que pueda acceder a otros sitios (para obtener más detalles, vea http://go.microsoft.com/fwlink/?LinkId=164264). Para evitarlo, ejecute el siguiente comando de Shell de administración de SharePoint Online: Set-SPOsite <SiteURL> -DenyAddAndCustomizePages 1 ¿Desea cambiar la ubicación donde los usuarios crean sitios?

Observe que (en el siguiente cuadro de diálogo) SharePoint advierte sobre las implicaciones de seguridad asociadas a este método y le ofrece una opción para deshabilitar este tipo de función.

En esta página, una flecha apunta a la casilla titulada Usar el formulario en esta dirección URL, que no está activada. Otro texto y controles de esta página: proporcione a los usuarios un acceso directo para crear nuevos sitios de equipo en una ubicación definida. Botón de radio Ocultar el vínculo no seleccionado, botón de radio Mostrar el vínculo seleccionado. El campo de clasificación de sitios está oculto para los usuarios. No es necesario el campo de contacto secundario.

¿Cuándo es una buena opción?

Esta opción funciona bien cuando hay que proporcionar a los usuarios finales una capacidad de autoservicio para crear colecciones de sitios de SharePoint con plantillas personalizadas.

Introducción

En los artículos siguientes se describe el patrón de reemplazo del vínculo de creación de sitios y se ofrecen ejemplos de código para que empiece.

En este patrón, el vínculo para crear un subsitio se reemplaza por un vínculo que apunta a un complemento de SharePoint hospedado por el proveedor. El código CSOM que se ejecuta en un complemento de SharePoint hospedado por el proveedor se distribuye con el patrón de aprovisionamiento remoto como parte del proceso de creación de sitios.

  • El patrón solo se utiliza cuando se aborda la creación de colecciones de subsitios; no sirve para crear colecciones de sitios.
  • La dirección URL de reemplazo está configurada con una acción personalizada que usa JavaScript para modificar el vínculo. Esta dirección URL apunta a un complemento de SharePoint hospedado por el proveedor
  • El complemento de SharePoint hospedado por el proveedor usa las API CSOM para crear subsitios.
    • También pueden utilizarse las API CSOM/REST para configurar otros aspectos del sitio durante el proceso de aprovisionamiento.
  • Es posible usar este método en inquilinos de Office 365 y en instancias de SharePoint local.
  • Ofrece una enorme flexibilidad para crear y configurar sitios de SharePoint.
  • De implementación y mantenimiento fáciles y económicos a corto y largo plazo.

¿Cuándo es una buena opción?

Esta opción funciona bien cuando hay que proporcionar a los usuarios finales una capacidad de autoservicio para crear subsitios de SharePoint con plantillas personalizadas.

Introducción

En los artículos siguientes se describe el patrón de reemplazo del vínculo de creación de subsitios y se ofrecen ejemplos de código para que empiece.

  • Provisioning.Cloud.Sync (ejemplo de PnP de O365)
    • En esta solución se muestra el modelo que ofrece la experiencia sincrónica de creación de sitios o de creación de subsitios para presentar un modelo de plantillas de sitio sin usar archivos de STP ni soluciones de espacio aislado reales.
  • Provisioning.SubSiteCreationApp (ejemplo de PnP de O365)
    • En esta solución se utiliza el llamado patrón de aprovisionamiento remoto que ofrece un sistema de plantillas de subsitio lo más flexible posible. También incluye un vídeo.

Utilizar un complemento de SharePoint hospedado por el proveedor

En este patrón, el código CSOM que se ejecuta en un complemento de SharePoint hospedado por el proveedor se distribuye con el patrón de aprovisionamiento remoto como parte del proceso de creación de sitios.

  • Es posible usar el patrón para abordar la creación de colecciones de sitios y subsitios.
  • El complemento hospedado en SharePoint debe tener permisos de control total en el entorno de SharePoint.
    • No puede usar este patrón en Microsoft Marketplace porque necesita permisos de control total.
  • El complemento de SharePoint hospedado por el proveedor utiliza las API CSOM para crear colecciones de sitios y subsitios.
    • También pueden utilizarse las API CSOM/REST para configurar otros aspectos del sitio durante el proceso de aprovisionamiento.
  • Es posible usar este método en inquilinos de Office 365 y en instancias de SharePoint local.
  • Ofrece una enorme flexibilidad para crear y configurar sitios de SharePoint.
  • De implementación y mantenimiento fáciles y económicos a corto y largo plazo.

¿Cuándo es una buena opción?

Esta opción funciona bien cuando hay que proporcionar a los usuarios finales una capacidad de autoservicio para crear colecciones de sitios y subsitios de SharePoint con plantillas personalizadas. Tenga en cuenta que debe proporcionar un vínculo a la aplicación hospedada por el proveedor a los usuarios para que puedan acceder a ella.

Usar aplicaciones .NET/Java/Objective-C o scripts de PowerShell

En este patrón, se ejecuta código de CSOM a través de aplicaciones .NET/Objective-C/iOS o scripts de PowerShell. Este modelo incluye también el uso de trabajos del temporizador remoto; por ejemplo, un trabajo web de Azure.

  • Es posible usar el patrón para abordar la creación de colecciones de sitios y subsitios.
  • Los complementos de SharePoint deben tener permisos de control total en el entorno de SharePoint.
  • La autenticación puede ser un reto según el tipo de complemento de SharePoint que cree y la configuración de seguridad de SharePoint.
  • El complemento de SharePoint hospedado por el proveedor utiliza las API CSOM para crear colecciones de sitios y subsitios.
    • También pueden utilizarse las API CSOM/REST para configurar otros aspectos del sitio durante el proceso de aprovisionamiento.
  • Es posible usar este método en inquilinos de Office 365 y en instancias de SharePoint local.
  • Ofrece una enorme flexibilidad para crear y configurar sitios de SharePoint.
  • De implementación y mantenimiento fáciles y económicos a corto y largo plazo.

¿Cuándo es una buena opción?

Esta opción funciona bien en escenarios de operaciones de desarrollo. Permite crear aplicaciones o scripts personalizados que se compilan específicamente para trabajar con los procesos de operaciones de desarrollo. Esta opción proporciona el máximo nivel de automatización porque los scripts y complementos de SharePoint pueden compilarse para su ejecución sin intervención del usuario.

Ejemplos de PnP

Se aplica a

  • Office 365 multiempresa (MT)
  • Office 365 dedicado (D) parcial
  • SharePoint 2013 local parcial

Los modelos para Office 365 dedicado y local son idénticos a las técnicas del modelo de complemento de SharePoint, pero existen algunas diferencias en las posibles tecnologías que se pueden usar.