Asociación de característica en el modelo de complementos de SharePoint
El enfoque que se usa para ejecutar código e implementar artefactos cuando se aprovisiona un sitio de SharePoint es diferente en el nuevo modelo de complemento de SharePoint que con código de plena confianza. En un escenario típico de código de plena confianza (FTC) o solución de granja de servidores, las definiciones de sitio integradas se modificaron con características grapadas. Las características se usaron para empaquetar e implementar artefactos, configuraciones y recursos de personalización de marca asociados a un sitio de SharePoint y las características se graparon a la definición del sitio. A continuación, las características grapadas se instalaron y activaron automáticamente al aprovisionar el sitio.
En un escenario de modelo de complementos de SharePoint, puede grapar características, grapar complementos o usar el modelo de objetos del lado cliente de SharePoint (CSOM) para crear y configurar colecciones de sitios y subsitios y, a continuación, implementar artefactos, configuraciones y recursos de personalización de marca en ellos. Este patrón se conoce como patrón de aprovisionamiento remoto.
Directrices avanzadas
Como regla general, nos gustaría proporcionar las siguientes directrices de alto nivel para crear y configurar colecciones de sitios y subsitios y, a continuación, implementar artefactos, configuraciones y recursos de personalización de marca en ellos.
- La única manera de seguir usando el estapling de características es cuando se están afilando características en colecciones de sitios y se usan soluciones de espacio aislado para implementar las definiciones de sitio y las características grapadas.
- Puede usar el modelo de grapado de complementos con complementos implementados por el inquilino para implementar una funcionalidad similar a la de las grapadas de características.
- Puede usar el patrón de aprovisionamiento remoto para implementar una funcionalidad similar a la grapada de características activando características adicionales sobre la definición de sitio lista para usar a través de API remotas.
Opciones para crear y configurar colecciones de sitios y subsitios e implementar artefactos, configuraciones y recursos de personalización de marca en ellos
Tiene algunas opciones para crear y configurar colecciones de sitios y subsitios y, a continuación, implementar artefactos, configuraciones y recursos de personalización de marca en ellos.
- Características de grapa
- Complementos básicos
- Uso del patrón de aprovisionamiento remoto
Características de grapa
En este patrón, grapa las características en las definiciones de sitio.
- Este patrón solo está disponible en el nivel de colección de sitios.
- No es posible grapar características a subsitios.
- Este no es un enfoque óptimo o recomendado porque usa soluciones de espacio aislado en desuso y no le configura bien para las actualizaciones.
¿Cuándo es una buena opción?
Al migrar código heredado en un entorno local de SharePoint y no tiene tiempo para volver a escribirlo correctamente.
Introducción
En el artículo siguiente se describe cómo grapar las características en una definición de sitio.
Complementos básicos
En este patrón, implementará complementos almacenados en el catálogo de aplicaciones en colecciones de sitios específicas, rutas de acceso administradas y plantillas de sitio.
- Consulte Implementación de aplicaciones de SharePoint 2013 a través de "App Stapling" (artículo de blog de MSDN - Richard DiZerega) para obtener más detalles sobre el modelo de estapling de complementos.
- Dado que un administrador inserta el complemento, los propietarios del sitio no podrán quitar el complemento de un sitio que cumpla los criterios de implementación. Ni siquiera un administrador de la colección de sitios puede quitar el complemento.
- Esta implementación centralizada también comparte los mismos recursos de complemento centralizados (Web de complemento y Web remota). Básicamente, el complemento se implementa, pero no se instala en los sitios. Todos los sitios aprovecharán la web del complemento y la web remota de la instancia instalada en el catálogo de aplicaciones.
- Debido a la implementación centralizada, los eventos remotos como "Handle App Installed", "Handle App Uninstalled" y "Handle App Upgrade" solo se activarán una vez (cuando el Add-In esté instalado en el catálogo de aplicaciones).
- Esto puede dificultar el uso del patrón de grapado de complementos para aplicar automáticamente los cambios a los sitios donde se implementa porque estos eventos no se desencadenan cuando se implementa en sitios.
- Los elementos de complemento no se admiten cuando los complementos se grapan en sitios.
- Este patrón requiere acciones manuales del usuario para implementar los complementos.
Uso del patrón de aprovisionamiento remoto
En este patrón se usa el Modelo de objetos del lado cliente de SharePoint (CSOM) para crear y configurar colecciones de sitios y subsitios y, a continuación, implementar artefactos, configuraciones y recursos de personalización de marca en ellos.
Este patrón no requiere empaquetar artefactos, configuraciones y recursos de personalización de marca en características independientes o complementos. Todo se puede empaquetar en un único complemento.
Cuando se usa este patrón para el aprovisionamiento de sitios, normalmente se invalida la página lista para crear un nuevo sitio.
Para obtener más información sobre este patrón, vea el aprovisionamiento de sitios (receta de complemento de SharePoint)
Si desea implementar complementos en un sitio de SharePoint, esto se puede hacer a través de CSOM. Este es un ejemplo que carga un complemento de Office a través de un archivo de manifiesto .app e lo instala en un sitio de SharePoint.
//Create a FileStream object to access the Mail Office Add-in .app file using (FileStream fsSource = new FileStream(System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath + "Innovation.Management.AFO.app", FileMode.Open, FileAccess.Read)) { //Return the subweb where you want to install the Add-in var subweb = ctx.Web; ctx.Load(subweb); ctx.ExecuteQuery(); //Load and Install the Add-in on the subweb AppInstance appInstance = subweb.LoadAndInstallApp(fsSource); ctx.Load(appInstance); ctx.ExecuteQuery(); }
- Vea el vídeo Creación de aplicaciones de línea de negocio hospedadas en la nube con complementos para Office, O365, Azure y WP8 (Todd Baginski, Michael Sherman - SharePoint Conference 2014) para ver cómo se usó este enfoque para instalar complementos de Office en sitios de SharePoint tras el aprovisionamiento del sitio.
- La automatización completa solo es posible con complementos que tienen permiso de inquilino completo que ya han sido de confianza.
- Consulte Core.Sideloading (ejemplo PnP de O365) para obtener un ejemplo.
Vínculos relacionados
- Aprovisionamiento de sitios sin intervención del administrador con complementos de SharePoint 2013 (Blog de MSDN)
- Implementación de aplicaciones de SharePoint 2013 a través de "App Stapling" (artículo de blog de MSDN - Richard DiZerega)
- Aprovisionamiento de sitios (receta de complemento de SharePoint)
- Creación de aplicaciones de línea de negocio hospedadas en la nube con complementos para Office, O365, Azure y WP8 (Todd Baginski, Michael Sherman - SharePoint Conference 2014)
- 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 Patrones y prácticas de Microsoft 365 (PnP)
Se aplica a
- Office 365 multiempresa (MT)
- Office 365 dedicado (D)
- SharePoint 2013 local