Información general sobre plantillas de sitio y scripts de sitio de SharePoint

Nota

  • Actualmente, las plantillas de sitio y los scripts de sitio solo son compatibles con SharePoint Online.
  • En versiones anteriores de SharePoint, las plantillas de sitio se denominaban diseños de sitio, pero ahora se denominarán plantillas de sitio.
  • SharePoint cuenta con una nueva experiencia de plantilla de sitio que estará disponible para todos los usuarios de SharePoint que disponen de permisos para crear sitios de SharePoint. Obtenga más información sobre la nueva experiencia de plantilla de sitio.
  • A día de hoy, la experiencia de plantilla de sitio no se puede deshabilitar.
  • Las plantillas de sitio creadas por su organización y establecidas como la plantilla predeterminada se aplicarán automáticamente cuando se creen nuevos sitios, pero el propietario del sitio podrá actualizarlas seleccionando Configuración y Aplicar una plantilla de sitio.
  • El historial de versiones de las plantillas de sitio no está disponible actualmente para la nueva experiencia de plantilla de sitio, pero se incluirá en iteraciones futuras.

Use plantillas de sitio y scripts de sitio para automatizar el aprovisionamiento de nuevos sitios modernos de SharePoint, o ya existentes, con sus propias configuraciones personalizadas.

Cuando los usuarios de la organización crean sitios de SharePoint, con frecuencia es necesario garantizar algún nivel de coherencia. Por ejemplo, puede que necesite aplicar un tema y una personalización de marca adecuados a cada nuevo sitio. Puede que también tenga scripts detallados de aprovisionamiento de sitios, como el uso de un motor de aprovisionamiento de PnP, que es necesario aplicar cada vez que se crea un sitio.

En este artículo, se describe cómo usar plantillas de sitio y scripts de sitio para aplicar una configuración personalizada cada vez que se cree un sitio.

Cómo funcionan las plantillas de sitio

Las plantillas de sitio se pueden usar cada vez que se cree un sitio para aplicar un conjunto de acciones coherentes. También puede aplicarse a sitios modernos existentes (sitios de grupo y de comunicación conectados a grupos). La mayoría de las acciones suelen afectar al sitio en sí, como configurar el tema o crear listas. Pero, en una plantilla de sitio, también se pueden incluir otras acciones, como registrar la nueva URL de sitio en un archivo de registro o enviar un tweet.

Nota

  • Las plantillas de sitio creadas con scripts de sitio personalizados se mostrarán en la pestaña De su organización en la galería de plantillas de sitio.
  • Las plantillas de sitio personalizadas que haya creado su organización, se mostrarán en la galería de plantillas de sitio según el tipo de sitio elegido por el usuario, es decir, un sitio de comunicación o un sitio de grupo. Por lo tanto, es probable que los usuarios no vean todas las plantillas de sitio de su organización en la galería de plantillas de sitio. En breve los usuarios tendrán la capacidad de examinar todas las plantillas de sitio proporcionadas por su organización independientemente del tipo de sitio elegido.

Puede crear plantillas de sitio y registrarlas en SharePoint en uno de los sitios de plantilla modernos: el sitio de grupo o el sitio de comunicación. En los pasos siguientes verá el funcionamiento.

  1. Vaya a la página de inicio de SharePoint en el espacio empresarial para desarrolladores.

  2. Seleccione Crear sitio.

    Verá los dos sitios de plantilla modernos: Sitio de grupo y Sitio de comunicación.

  3. Elija el tipo de sitio necesario.

  • SharePoint creará automáticamente un sitio de comunicación mediante la plantilla de sitio Tema.
  • Si ha elegido el sitio de grupo predeterminado, SharePoint creará un nuevo sitio utilizando la plantilla de Colaboración en grupo.

Para obtener más información sobre cómo puede cambiar las plantillas de sitio predeterminadas, consulte Personalizar una plantilla de sitio predeterminada.

  1. Vaya al icono Configuración y seleccione Aplicar plantilla de sitio para revisar las plantillas de sitio proporcionadas por Microsoft según el tipo de sitio que eligió en el paso tres.

Cuando se selecciona una plantilla de sitio, SharePoint crea el nuevo sitio y ejecuta scripts de sitio para la plantilla de sitio. Los scripts de sitio proporcionan los detalles de la plantilla, como la creación de nuevas listas o la aplicación de un tema. Estas acciones de script se ejecutan en segundo plano. Cuando se completen los scripts, la página se actualizará para mostrar los detalles del script del sitio.

Nota

Ahora las plantillas de sitio se pueden aplicar a colecciones de sitios modernos ya creadas. Para más información, vea los artículos API de REST y PowerShell.

Anatomía de un script de sitio

Los scripts de sitio son archivos JSON que especifican una lista ordenada de acciones que se ejecutarán al crear el sitio. Las acciones se ejecutan en el orden de la lista.

El ejemplo siguiente es un script con dos acciones de nivel superior. Primero se aplica un tema que se creó anteriormente denominado Exploradores de Contoso. Luego se crea la lista Seguimiento de clientes.

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json",
  "actions": [
    {
      "verb": "applyTheme",
      "themeName": "Contoso Explorers"
    },
    {
      "verb": "createSPList",
      "listName": "Customer Tracking",
      "templateType": 100,
      "subactions": [
        {
          "verb": "setDescription",
          "description": "List of Customers and Orders"
        },
        {
          "verb": "addSPField",
          "fieldType": "Text",
          "displayName": "Customer Name",
          "isRequired": false,
          "addToDefaultView": true
        },
        {
          "verb": "addSPField",
          "fieldType": "Number",
          "displayName": "Requisition Total",
          "addToDefaultView": true,
          "isRequired": true
        },
        {
          "verb": "addSPField",
           "fieldType": "User",
          "displayName": "Contact",
          "addToDefaultView": true,
          "isRequired": true
        },
        {
          "verb": "addSPField",
          "fieldType": "Note",
          "displayName": "Meeting Notes",
          "isRequired": false
        }
      ]
    }
  ],
  "version": 1
}

Cada acción de un script de sitio se especifica con un valor de verb en el código JSON. En el script anterior, la primera acción se especifica con el verbo applyTheme. Después, el verbo createSPList crea la lista. Como puede ver, el verbo createSPList contiene su propio conjunto de verbos, que solo ejecutan acciones adicionales en la lista.

Las acciones disponibles incluyen:

  • Crear una lista o biblioteca (o modificar la predeterminada que se creó con el sitio)
  • Crear columnas de sitio y tipos de contenido y configurar otras opciones de configuración de lista
  • Establecer propiedades de personalización de marca del sitio, como diseño de navegación, diseño de encabezado y fondo de encabezado
  • Aplicar un tema**
  • Establecer un logotipo de sitio
  • Agregar vínculos a inicio rápido o navegación central**
  • Desencadenar un flujo de Power Automate
  • Instalar una solución implementada del catálogo de aplicaciones
  • Establecer la configuración regional del sitio**
  • Agregar entidades de seguridad (usuarios y grupos) a roles de SharePoint**
  • Establecer la funcionalidad de uso compartido externo en el sitio

Para obtener una lista completa de las acciones disponibles y sus parámetros, consulte elesquema JSON.

Nota

  • Las acciones marcadas con ** se bloquean automáticamente para los sitios de canal.
  • Para las bibliotecas y listas, use el comando de PowerShell Get-SPOSiteScriptFromList para crear la sintaxis de script de sitio desde una lista de SharePoint existente.

Los scripts de sitio se pueden volver a ejecutar en el mismo sitio después del aprovisionamiento. Los scripts de sitio no son destructivos; por lo tanto, al volverlos a ejecutar, comprobarán que el sitio coincida con la configuración del script.

Por ejemplo, si el sitio ya tiene una lista con el mismo nombre que creará el script de sitio, solo agregará los campos que falten a la lista existente.

Anteriormente se limitaban las acciones de script de sitio a 30. Este sigue siendo el límite para los scripts aplicados de forma sincrónica mediante el comando Invoke-SPOSiteDesign, pero en función de los comentarios de los clientes y la compatibilidad con acciones adicionales, hemos ampliado este límite a 300 acciones (o 100 000 caracteres) cuando los scripts se aplican de forma asincrónica (ya sea a través de la interfaz de usuario o mediante el comando Add-SPOSiteDesignTask).

También hay un límite de 100 scripts de sitio y 100 plantillas de sitio por espacio empresarial.

Usar PowerShell o REST para trabajar con plantillas de sitio y scripts de sitio

Puede crear plantillas de sitio y scripts de sitio con PowerShell o con la API de REST. En el ejemplo siguiente, se crea un script de sitio y una plantilla de sitio que usa el script de sitio.

C:\> Get-Content 'c:\scripts\site-script.json' `
     -Raw | `
     Add-SPOSiteScript `
    -Title "Contoso theme and list"

Id          : 2756067f-d818-4933-a514-2a2b2c50fb06
Title       : Contoso theme and list
Description :
Content     :
Version     : 0

C:\> Add-SPOSiteDesign `
  -Title "Contoso customer tracking" `
  -WebTemplate "64" `
  -SiteScripts "2756067f-d818-4933-a514-2a2b2c50fb06" `
  -Description "Creates customer list and applies standard theme"

En el ejemplo anterior, el cmdlet Add-SPOSiteScript o la API de REST CreateSiteScript devuelven un identificador de script de sitio. Este se usa con el parámetro SiteScripts en la llamada siguiente al cmdlet Add-SPO-SiteDesign o a la API de REST CreateSiteDesign.

Parámetro Valor Tipo de plantilla de sitio
WebTemplate 64 Plantilla de sitio de grupo
WebTemplate 1 1 Sitio de grupo (con la creación de grupos deshabilitada)
WebTemplate 68 Plantilla de sitio de comunicación
WebTemplate 69 Plantilla de sitio de canal

Para información detallada sobre cómo crear una plantilla de sitio, vea Introducción a la creación de plantillas de sitio.

Nota

  • Una plantilla de sitio puede ejecutar varios scripts. Los identificadores de script se pasan en una matriz y se ejecutan en el orden indicado.
  • El término anterior para las plantillas de sitio puede seguir apareciendo en determinadas etiquetas de cmdlet y script como "diseño de sitio."

Aprovisionamiento y personalización de PnP con Power Automate

Una acción que ofrecen los scripts de sitio es la posibilidad de desencadenar un flujo de Power Automate. Esto le permite especificar cualquier acción personalizada que necesite además de las acciones especificadas de forma nativa en los scripts de sitio.

Si usa el motor de aprovisionamiento de PnP para automatizar la creación de sitios, podrá usar un flujo de Power Automate para la integración con las plantillas de sitio. Puede mantener todos los scripts de aprovisionamiento existentes, así como crear scripts de aprovisionamiento personalizados con esta técnica.


Proceso de desencadenar un flujo de Microsoft Flow

El proceso funciona de esta forma:

  1. El script crea una instancia de su flujo de Power Automate con una dirección URL que incluye detalles adicionales.

  2. El flujo envía un mensaje a una cola de Azure Storage que configuró.

  3. El mensaje desencadena una cadena a una función de Azure que configuró.

  4. La función de Azure ejecuta el script personalizado, como el motor de aprovisionamiento de PnP, para aplicar las configuraciones personalizadas.

Para obtener un tutorial detallado sobre cómo configurar su propio flujo de Power Automate con el aprovisionamiento de PnP, vea Crear una plantilla de sitio completa con el motor de aprovisionamiento de PnP.

Ámbito

Puede configurar las plantillas de sitio para que solo aparezcan para grupos o usuarios específicos de la organización. Esto es útil para garantizar que los usuarios solo vean las plantillas de sitio adecuadas. Por ejemplo, puede que quiera que el Departamento de contabilidad solo vea plantillas de sitio creadas específicamente para su departamento, ya que no tiene mucho sentido que las plantillas de sitio de contabilidad se muestren a otros usuarios.

De manera predeterminada, todos los usuarios podrán ver una plantilla de sitio cuando se cree. Los ámbitos se aplican con el cmdlet Grant-SPOSiteDesignRights o con la API de REST GrantSiteDesignRights. Puede especificar el ámbito por usuario o por grupo de seguridad habilitado para correo.

En el ejemplo siguiente se muestra cómo proporcionar derechos de vista a Sergio (un usuario del sitio ficticio de Contoso) en una plantilla de sitio.

Grant-SPOSiteDesignRights `
  -Identity 44252d09-62c4-4913-9eb0-a2a8b8d7f863 `
  -Principals "nestorw@onmicrosoft.com" `
  -Rights View

Para obtener más información sobre cómo trabajar con ámbitos, consulte Scoping access to site templates.

Ver también