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();
      }
    

Ejemplos de PnP

Se aplica a

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