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:
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
Reemplazar el vínculo de creación de sitios
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).
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).
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.
¿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.
- Aprovisionamiento de sitios sin intervención del administrador con complementos de SharePoint 2013 (Blog de MSDN)
- Artículo completo sobre este patrón con vídeo incluido.
- 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.
Reemplazar el vínculo de creación de subsitios
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.
- Aprovisionamiento asincrónico con escenarios híbridos (artículo del Blog de MSDN)
- Provisioning.Hybrid.Simple (ejemplo de PnP de O365)
- En este ejemplo se muestra la configuración híbrida más sencilla posible con colas de Azure Storage, WebJobs y Service Bus Relay. Esta es una demostración de cómo hospedar un complemento de SharePoint de proveedor en el sitio web de Azure, que se puede usar para aprovisionar nuevas colecciones de sitios con personalización de marca en granjas de servidores locales sin ningún requisito de infraestructura de complementos de SharePoint en el entorno local.
- Provisioning.Services.SiteManager (ejemplo de PnP de O365)
- En este ejemplo se muestra cómo ampliar una granja de servidores local para admitir la creación de colecciones de sitios desde un complemento de SharePoint hospedado por el proveedor.
- Provisioning.SiteCollectionCreation (ejemplo de PnP de O365)
- Se muestra cómo crear colecciones de sitios con CSOM para Office 365 desde un complemento de SharePoint hospedado por el proveedor.
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.
- Aprovisionamiento asincrónico para Office 365 con WebJobs (artículo del Blog de MSDN)
- Provisioning.Cloud.Async.WebJob (ejemplo de PnP de O365)
- En esta solución se muestra cómo compilar solución de aprovisionamiento asincrónico de colecciones de sitios sin intervención del administrador con colas de Azure Storage y Azure WebJobs.
- Provisioning.Framework.Console (ejemplo de PnP de O365): marco de aprovisionamiento de sitios de ejemplo que muestra la potencia del motor de nuevo.
- Provisioning.Cloud.Async (ejemplo de PnP de O365): muestra cómo crear colecciones de sitios asincrónicamente en Office 365 o SharePoint. Las solicitudes se guardan en una lista dentro de la web de host de SharePoint. La aplicación de consola incluida en este ejemplo se implementa en un entorno local o de Azure y se programa.
Vínculos relacionados
- Aprovisionamiento de sitios sin intervención del administrador con complementos de SharePoint 2013 (Blog de MSDN)
- Artículos de orientación en https://aka.ms/OfficeDevPnPGuidance
- Referencias en MSDN en https://aka.ms/OfficeDevPnPMSDN
- Vídeos en https://aka.ms/OfficeDevPnPVideos
Ejemplos de PnP
- Provisioning.Cloud.Sync (ejemplo de PnP de O365)
- Provisioning.SubSiteCreationApp (ejemplo de PnP de O365)
- Provisioning.Services.SiteManager (ejemplo de PnP de O365)
- Provisioning.SiteCollectionCreation (ejemplo PnP de O365)
- Ejemplos y contenido en https://github.com/SharePoint/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.