Introducción a la creación de plantillas de sitio y scripts de sitio

Puede crear plantillas de sitio para proporcionar listas reutilizables, temas, diseños o acciones personalizadas para que los usuarios puedan crear rápidamente nuevos sitios de SharePoint con las características que necesiten.

En este artículo se describe cómo crear una plantilla de sitio simple que agrega una lista de SharePoint para realizar un seguimiento de los pedidos de los clientes. Usará la plantilla de sitio para crear un nuevo sitio de SharePoint con la lista personalizada. Aprenderá a usar los cmdlets de PowerShell de SharePoint para crear scripts de sitio y plantillas de sitio. También puede usar las API de REST para realizar las mismas acciones. Las llamadas a REST correspondientes se muestran con fines de referencia en cada paso.

Crear el script de sitio en JSON

Un script de sitio es una colección de acciones que SharePoint ejecuta al crear un sitio nuevo. Las acciones describen cambios que se aplicarán en el nuevo sitio, como crear una lista o aplicar un tema. Las acciones se especifican en un script JSON, que es una lista de todas las acciones que se aplican. Al ejecutar un script, SharePoint completará las acciones en el orden en que aparezcan en la lista.

Cada acción se especifica con el valor de "verb" del script JSON. Además, las acciones también pueden tener subacciones, que también son valores de "verb". En el código JSON siguiente, el script especifica que se cree una lista denominada Seguimiento de clientes y, después, las subacciones establecen la descripción y agregan varios campos para definir la lista.

  1. Descargue e instale el Shell de administración de SharePoint Online. Si ya tiene una versión anterior del shell instalada, desinstálela primero y, después, instale la versión más reciente.

  2. Siga las instrucciones de Conectarse a SharePoint Online PowerShell para conectarse al espacio empresarial de SharePoint.

  3. Cree y asigne el código JSON que describe el nuevo script a una variable, tal y como se muestra en el siguiente código de PowerShell. Puede ver y hacer referencia al último archivo de esquema JSON aquí: https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json

     $site_script = '
     {
         "$schema": "https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json",
             "actions": [
                 {
                     "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
                         }
                     ]
                 }
             ]
     }
     '
    

El script anterior creará una lista de SharePoint denominada Seguimiento de clientes. Establecerá la descripción y, además, agregará cuatro campos a la lista. Tenga en cuenta que cada uno se considera una acción. Los scripts de sitio se limitan a 30 acciones acumulativas (en uno o varios scripts a los que se puede llamar en una plantilla de sitio) si se aplican mediante programación mediante el comando Invoke-SPOSiteDesigncommand. Si se aplican a través de la UI o con el comando Add-SPOSiteDesignTask, el límite es de 300 acciones acumulativas (o 100 000 caracteres).

Agregar el script de sitio

Cada script de sitio tiene que registrarse en SharePoint para que esté disponible para su uso. Agregue un nuevo script de sitio con el cmdlet Add-SPOSiteScript. En el ejemplo siguiente se muestra cómo agregar el script JSON descrito anteriormente.

C:\> Add-SPOSiteScript
 -Title "Create customer tracking list"
 -Content $site_script
 -Description "Creates list for tracking customer contact information"

Después de ejecutar el cmdlet, obtendrá un resultado que muestra el ID del script de sitio agregado. Anote este identificador en algún lugar, ya que lo necesitará más adelante al crear la plantilla de sitio.

La API de REST para agregar un nuevo script de sitio es CreateSiteScript.

Creación de la plantilla de sitio

A continuación, debe crear la plantilla de sitio. La plantilla de sitio aparece en una lista desplegable cuando alguien crea un sitio a partir de una de las plantillas. Se pueden ejecutar uno o más scripts de sitio de los que ya se agregaron.

  • Ejecute el siguiente cmdlet para agregar una nueva plantilla de sitio. Remplace <ID> por el identificador de script de sitio que obtuvo al agregar el script de sitio.
C:\> Add-SPOSiteDesign
 -Title "Contoso customer tracking"
 -WebTemplate "64"
 -SiteScripts "<ID>"
 -Description "Tracks key customer data in a list"

El cmdlet anterior crea una nueva plantilla de sitio denominada Seguimiento de clientes de Contoso.

Parámetro Valor Tipo de plantilla de sitio
WebTemplate 64 Plantilla de sitio de grupo
WebTemplate 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

La respuesta JSON muestra el ID de la nueva plantilla de sitio. Puede usarlo en cmdlets posteriores para actualizar o modificar la plantilla de sitio.

La API de REST para agregar una nueva plantilla de sitio es CreateSiteDesign.

Usar la nueva plantilla de sitio

Ahora que ha agregado un script de sitio y una plantilla de sitio, puede usarlos para crear sitios mediante la experiencia de creación de sitios de autoservicio o aplicar la plantilla de sitio a un sitio existente mediante el comando Invoke-SPOSiteDesign en PowerShell. Si usa sitios centrales, incluso puede asociar una plantilla de sitio a un centro de conectividad para que se aplique a todos los sitios de unión.

Creación de nuevos sitios

  1. Vaya a la página principal del sitio de SharePoint que usa para desarrollo.
  2. Seleccione Crear sitio.
  3. Elija el tipo de sitio que necesita usar. SharePoint creará un sitio de grupo con la plantilla de colaboración de Microsoft Team o un sitio de comunicación con la plantilla Tema de Microsoft a menos que otra plantilla de sitio personalizada esté establecida como predeterminada.
  4. Elija Siguiente.
  5. En Nombre de sitio, escriba un nombre para el nuevo sitioSeguimiento de pedidos de clientes.
  6. Elija Finalizar.
  7. A continuación, vaya a Configuración y seleccione Aplicar a una plantilla de sitio.
  8. Seleccione la plantilla de sitio que acaba de crear.
  9. Una vez aplicada, la nueva plantilla se mostrará debajo de la pestaña en el visor de plantillas titulado Desde su organización.
  10. Cuando se haya aplicado la nueva plantilla, verá la lista personalizada en la página.

Aplicar a un sitio existente

También puede aplicar una plantilla de sitio publicada a sitios existentes. En la página principal del sitio, los propietarios del sitio pueden ir a configuración y, a continuación, Aplicar una plantilla de sitio para examinar y aplicar plantillas proporcionadas por su organización y Microsoft.

Puede aplicar plantillas a colecciones de sitios existentes de forma masiva mediante el cmdlet Invoke-SPOSiteDesign.

plantillas de sitio publicadas se pueden aplicar a:

  1. Sitios de grupo conectados a grupos
  2. Sitios de grupo que no están conectados a un grupo de Microsoft 365
  3. Sitios de comunicación
  4. Sitios de canal
  5. Sitios de grupo clásicos
  6. Sitios de publicación clásicos

La API de REST para aplicar una plantilla de sitio a una colección de sitios existente es ApplySiteDesign.

Asociar a un sitio central

Aplique una plantilla de sitio publicada a un sitio central nuevo o existente. A continuación, todos los sitios asociados heredarán la plantilla de sitio central y el tema. Vaya a la página principal del centro, luego a configuración y, a continuación, a Aplicar una plantilla de sitio. Obtenga más información sobre cómo habilitar asociaciones de sitio para el sitio central.

También puede usar el Set-SPOHubSitecmdlet. Revise el artículo sobre cmdlets de PowerShell SharePoint de sitios centrales.

Nota:

Los sitios de canal se bloquean automáticamente para que no se unan a un sitio central.

Vea también