Personalizar sitios de grupo "modernos"

En 2016, el equipo de Sharepoint Online publicó los sitios de colaboración "modernos". Estos sitios de grupo "modernos" se integran con grupos de Microsoft 365 y proporcionan una experiencia del usuario final mejorada. Los sitios de grupo "modernos" proporcionan un buen diseño y su creación y uso son mucho más rápidos desde la perspectiva del usuario final. Estas son algunas de las principales ventajas de los sitios de grupo "modernos":

  • Diseñados para escalar a cualquier dispositivo nativo sin personalizaciones, para proporcionar una experiencia completamente dinámica.
  • Contienen noticias nativas, vínculos rápidos y capacidades de actividad.
  • Integrado con grupos de Microsoft 365.
  • Una creación de sitios considerablemente más rápida con respecto a los sitios de grupo "clásicos".
  • Incluyen las listas y bibliotecas "modernas" con el soporte técnico de Microsoft Flow y PowerApps.
  • Contienen capacidades de edición de página "modernas".
  • Incluyen una página de contenidos de sitio actualizados con información adicional sobre el uso del sitio.

Este artículo se centra en las opciones de extensibilidad disponibles en los sitios de grupo "modernos":

Importante

La experiencia "clásica" no queda en desuso, sino que coexistirá con la "moderna".

Personalizaciones compatibles en los sitios de grupo "modernos"

Los sitios "modernos" tienen un nivel diferente de opciones de personalización con respecto a los sitios de grupo "clásicos". Con el tiempo presentaremos opciones de personalización adicionales, principalmente concentradas en la extensibilidad y la personalización de marca. En la lista siguiente se proporciona una descripción general rápida de las funciones compatibles de los sitios de grupo "modernos". Podrá:

  • Use SharePoint Framework para modificar la experiencia del usuario en los sitios proporcionando los elementos web del lado cliente o incluyendo otros elementos de la interfaz de usuario con extensiones de SharePoint Framework.
  • Aplicar un tema personalizado o cambiar el logotipo.
  • Aplicar un tema prediseñado
  • Crear columnas de sitio personalizadas (campos) y tipos de contenido.
  • Crear listas y bibliotecas.
  • Configurar los ajustes del sitio, como por ejemplo la configuración regional, idiomas y la configuración de auditoría.

Nota:

De forma predeterminada, un sitio de grupo "moderno" tiene desactivadas las funciones de scripting. Puede aplicar un tema personalizado, pero no puede introducir un tema personalizado en la galería de temas como una opción para los usuarios finales. Si quiere agregar un tema a la galería de temas, deberá habilitar el scripting en el sitio.

Qué no se admite en los sitios de grupo "modernos"

En numerosas áreas en los sitios de grupo "modernos", las personalizaciones comunes no están disponibles en este momento. Se añadirá soporte adicional para algunos de estos temas cuando estén listos para su publicación. A continuación se presenta una lista de personalizaciones no admitidas actualmente en los sitios de grupo "modernos":

  • Páginas maestras personalizadas; en un futuro habrá una mayor compatibilidad con la personalización de marca mediante opciones alternativas.
  • Cambiar un sitio "moderno" para usar seattle.master o oslo.master "clásicos".
  • Diseños de página personalizados; esperamos proporcionar compatibilidad con varios lienzos en el futuro.
  • Habilitar características de publicación en el ámbito del sitio o la colección de sitios. Técnicamente, las características se pueden activar actualmente, pero no es una configuración admitida.
  • Acciones personalizadas de usuario o JavaScript personalizado; habrá una forma más controlada de incrustar JavaScript en las páginas mediante extensiones de SharePoint Framework.
  • Subsitios "modernos"; los subsitios creados en sitios de grupo "modernos" usan la experiencia "clásica", pero puede cambiar la experiencia del usuario para que sea similar a los sitios "modernos".
  • Capacidad para controlar las opciones de plantilla de subsitio disponibles.
  • Activación de características de la Comunidad o creación de subsitios de comunidad en el sitio de grupo "moderno".
  • Guardar el sitio como plantilla Tampoco se admite para subsitios en las colecciones de sitios cuyo sitio raíz es un sitio de grupo asociados a un grupo o un sitio de comunicación.
  • Actualizar mediante programación los elementos de navegación.

Debido a que los sitios de grupo "modernos" también tienen deshabilitadas las funciones de scripting (lo que se denomina un sitio NoScript), hay muchas áreas que no se pueden personalizar. El impacto de NoScript es el mismo para sitios "modernos" o "clásicos". Los sitios "modernos" tienen NoScript habilitado de forma predeterminada, lo que significa que las funciones de scripting no están disponibles. Sin embargo, es posible y está admitido deshabilitar la configuración NoScript en sitios "modernos" y "clásicos" para habilitar algunas funciones.

Al diseñar las soluciones, considere estos temas clave relacionados con la configuración NoScript:

  • Las soluciones de espacio aislado no son compatibles.
  • No se puede habilitar JavaScript personalizado en los sitios mediante las opciones de extensibilidad "clásicas" (por ejemplo, a través de las acciones personalizadas de usuario).
  • No puede acceder a sitios con SharePoint Designer.
  • Algunos elementos web no están disponibles para los usuarios finales.
  • Posibilidad para acceder o actualizar entradas del contenedor de propiedades del sitio.

Nota:

Encontrará la lista completa de funciones afectadas en el artículo de Soporte técnico de Microsoft Permitir o impedir scripts personalizados en la sección "Características afectadas cuando se bloquean los scripts personalizados".

Usar el motor de aprovisionamiento PnP con sitios de grupo "modernos"

Puede usar el motor de aprovisionamiento PnP con sitios de grupo "modernos". El motor de aprovisionamiento PnP detecta automáticamente si un sitio es un sitio de grupo "moderno" y ajusta su comportamiento basándose en las características compatibles. El proceso es exactamente igual que al usar motor de aprovisionamiento PnP con sitios "clásicos" en los que las funciones de scripting no están deshabilitadas.

Cuando se aplica una plantilla remota a un sitio de grupo "moderno" o un sitio con NoScript habilitado, se ignoran los siguientes elementos:

  • Configuración AuditLogTrimmingRetention de la colección de sitios en la configuración de auditoría
  • Aplicar un tema personalizado a partir de la plantilla; la implementación actual tiene una dependencia en el almacenamiento de un tema personalizado en el catálogo, lo cual que no es compatible
  • Configuración de formularios para tipos de contenido
  • Agregar acciones de usuario personalizadas en el nivel de lista, sitio o web
  • Agregar archivos con tipos de archivo de ".asmx", ".ascx", ".aspx", ".htc", ".jar", ".master", ".swf", ".xap" y ".xsf"
  • Agregar archivos a las bibliotecas con las siguientes direcciones URL "_catalogs/theme", "style library", "_catalogs/lt", "_catalogs/wp"
  • Agregar elementos web a páginas del sitio
  • Almacenar información de la plantilla de aprovisionamiento en el contenedor de propiedades del sitio aprovisionado
  • Agregar o actualizar las entradas del contenedor de propiedades en el contenedor de propiedades del sitio
  • Activos y configuración de publicación "clásicos"
  • Configuración sin rastreo del sitio
  • Configuración de la página maestra del sitio

Aplicar un tema personalizado a un sitio de grupo "moderno"

Nota:

El siguiente método fue escrito antes de que se publicasen los temas de inquilinos, para obtener información sobre la nueva forma de aplicar temas en sitios "modernos" lea Temas del sitio de SharePoint

Los sitios de grupo "Modernos" admiten temas personalizados, aunque no puede cargar una nueva entrada de la galería para los usuarios finales. Esto se consigue al cargar los activos necesarios en el sitio y, después, ejecutar el método ApplyTheme. El siguiente script de PowerShell muestra cómo realizar esta operación para un sitio de grupo "moderno".


# Connect to a previously created Modern Site
Connect-PnPOnline https://[tenant].sharepoint.com/sites/siteurl -UseWebLogin

# Apply a custom theme to a Modern Site

# First, upload the theme assets
Add-PnPFile -Path .\sppnp.spcolor -Folder SiteAssets
Add-PnPFile -Path .\sppnp-bg.png -Folder SiteAssets

# Second, apply the theme assets to the site
Set-PnPTheme -ColorPaletteUrl "SiteAssets/sppnp.spcolor" -BackgroundImageUrl "SiteAssets/sppnp-bg.png" -ResetSubwebsToInherit


Sitio de grupo "moderno" con tema personalizado

Sitio de grupo

Nota:

  • Puede cambiar el logotipo del sitio de grupo "moderno" con la API de Graph de Grupos, como se muestra en el método UpdateUnifiedGroup PnP de SharePoint.
  • Aplicar un tema personalizado a un sitio de grupo "moderno" puede causar tiempos de espera. La solución para esto es desactivar todos los idiomas de la interfaz de usuario disponibles del sitio antes de aplicar el tema y activarlos de nuevo posteriormente.

Determinar si un sitio es un sitio de grupo "moderno"

Puede detectar que un sitio es un sitio de grupo "moderno" comprobando el valor de "Web.WebTemplate" del sitio. Los sitios de grupo "modernos" usan la plantilla "GROUP". Puesto que las funciones compatibles son las mismas para un sitio de grupo "clásico" cuando el scripting está deshabilitado, se deben comprobar ambas opciones en el código para determinar el comportamiento adecuado o las funciones admitidas.

Puesto que no hay ninguna propiedad directa para comprobar si el scripting está habilitado o no, puede usar los permisos para determinar el estado actual. Cuando el scripting está habilitado, no hay ningún permiso de AddAndCustomizePages en los permisos base del sitio.

/// <summary>
/// Can be used to check if site has noscript enabled.
/// </summary>
/// <param name="web">site object to inspect</param>
/// <returns>True if no scripting is enabled, False if it's not</returns>
public static bool IsNoScriptSite(Web web)
{
    // Ensure that we have the needed properties - Notice that these are 
    // PnP CSOM extension capabilities
    web.EnsureProperties(w => w.WebTemplate, w => w.EffectiveBasePermissions);

    // Definition of no-script is not having the AddAndCustomizePages permission
    if (!web.EffectiveBasePermissions.Has(PermissionKind.AddAndCustomizePages))
    {
        return true;
    }

    // It's a site without noscript enabled
    return false;
}

Consideraciones adicionales

Iremos añadiendo gradualmente más opciones de personalización para sitios de grupo "modernos" en línea con el lanzamiento de funcionalidades adicionales de SharePoint Framework. En este momento no hay ningún plan exacto disponible, pero actualizaremos los artículos de la experiencia "moderna" cuando se publiquen nuevas funciones.

Vea también