Introducción a la creación de diseños de sitio y scripts de sitioGet started creating site designs and site scripts

Puede crear diseños de sitio para proporcionar elementos reutilizables (como listas, temas, diseños, páginas o acciones personalizadas), de modo que los usuarios puedan crear rápidamente sitios de SharePoint con las características que necesiten.You can create site designs to provide reusable lists, themes, layouts, pages, or custom actions so that your users can quickly build new SharePoint sites with the features they need.

En este artículo se describe cómo crear un sencillo diseño de sitio que agrega una lista de SharePoint para realizar un seguimiento de los pedidos de los clientes.This article describes how to build a simple site design that adds a SharePoint list for tracking customer orders. Usará el diseño de sitio para crear un sitio de SharePoint con la lista personalizada.You'll use the site design to create a new SharePoint site with the custom list. En este artículo se muestra cómo usar cmdlets de SharePoint PowerShell para crear scripts de sitio y diseños de sitio.You'll learn how to use SharePoint PowerShell cmdlets to create site scripts and site designs. También puede usar las API de REST para realizar las mismas acciones.You can also use REST APIs to perform the same actions. Las llamadas a REST correspondientes se muestran con fines de referencia en cada paso.The corresponding REST calls are shown for reference in each step.

Crear el script de sitio en JSONCreate the site script in JSON

Un diseño de sitio es una colección de acciones que SharePoint ejecutará al crear un sitio.A site design is a collection of actions that SharePoint runs when creating a new site. Las acciones describen cambios que se aplicarán en el nuevo sitio, como crear una lista o aplicar un tema.Actions describe changes to apply to the new site, such as creating a new list or applying a theme. Las acciones se especifican en un script JSON, que es una lista de todas las acciones que se aplican.The actions are specified in a JSON script, which is a list of all actions to apply. Al ejecutar un script, SharePoint completará las acciones en el orden en que aparezcan en la lista.When a script runs, SharePoint completes each action in the order listed.

Cada acción se especifica con el valor de "verb" del script JSON.Each action is specified by the "verb" value in the JSON script. Además, las acciones también pueden tener subacciones, que también son valores de "verb".Also, actions can have subactions that are also "verb" values. 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.In the following JSON, the script specifies to create a new list named Customer Tracking, and then subactions set the description and add several fields to define the list.

  1. Descargue e instale el Shell de administración de SharePoint Online.Download and install the SharePoint Online Management Shell. Si ya tiene una versión anterior del shell instalada, desinstálela primero y, después, instale la versión más reciente.If you already have a previous version of the shell installed, uninstall it first and then install the latest version.

  2. Siga las instrucciones de Conectarse a SharePoint Online PowerShell para conectarse al espacio empresarial de SharePoint.Follow the instructions at Connect to SharePoint Online PowerShell to connect to your SharePoint tenant.

  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.Create - and assign the JSON that describes the new script - to a variable as shown in the following PowerShell code. Puede ver y hacer referencia al último archivo de esquema JSON aquí: https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.jsonYou can view and reference the latest JSON schema file here: https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json

     $site_script = '
     {
         "$schema": "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
                         }
                     ]
                 }
             ],
                 "bindata": { },
         "version": 1
     }
     '
    

El script anterior creará una lista de SharePoint denominada Seguimiento de clientes.The previous script creates a new SharePoint list named Customer Tracking. Establecerá la descripción y, además, agregará cuatro campos a la lista.It sets the description and adds four fields to the list. Tenga en cuenta que cada uno se considera una acción.Note that each of these are considered an action. Los scripts de sitio tienen un límite de 30 acciones acumulativas (en uno o más scripts que pueden llamarse en un diseño de sitio) cuando se aplican mediante programación usando el comando Invoke-SPOSiteDesign.Site scripts are limited to 30 cumulative actions (across one or more scripts that may be called in a site design) if applied programmatically using the Invoke-SPOSiteDesign command. Si se aplican a través de la experiencia de usuario o con el comando Add-SPOSiteDesignTask, el límite es de 300 acciones acumulativas (o 100.000 caracteres).If they are applied through the UX or using the Add-SPOSiteDesignTask command then the limit is 300 cumulative actions (or 100K characters) .

Agregar el script de sitioAdd the site script

Cada script de sitio tiene que registrarse en SharePoint para que esté disponible para su uso.Each site script must be registered in SharePoint so that it is available to use. Agregue un nuevo diseño de sitio con el cmdlet Add-SPOSiteScript.Add a new site design by using the Add-SPOSiteScript cmdlet. En el ejemplo siguiente se muestra cómo agregar el script JSON descrito anteriormente.The following example shows how to add the JSON script described previously.

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.After running the cmdlet, you get a result that lists the site script ID of the added script. Tome nota este identificador, ya que lo necesitará más tarde al crear el diseño de sitio.Keep track of this ID somewhere because you will need it later when you create the site design.

La API de REST para agregar un nuevo script de sitio es CreateSiteScript.The REST API to add a new site script is CreateSiteScript.

Crear el diseño de sitioCreate the site design

Después, tiene que crear el diseño de sitio.Next, you need to create the site design. El diseño de sitio aparecerá en una lista desplegable cuando un usuario cree un sitio a partir de una de las plantillas.The site design appears in a drop-down list when someone creates a new site from one of the templates. Se pueden ejecutar uno o más scripts de sitio de los que ya se agregaron.It can run one or more site scripts that have already been added.

  • Ejecute el siguiente cmdlet para agregar un nuevo diseño de sitio.Run the following cmdlet to add a new site design. Remplace <ID> por el identificador de script de sitio que obtuvo al agregar el script de sitio.Replace <ID> with the site script ID from when you added the site script.
C:\> Add-SPOSiteDesign 
 -Title "Contoso customer tracking" 
 -WebTemplate "64" 
 -SiteScripts "<ID>" 
 -Description "Tracks key customer data in a list"

El cmdlet anterior creará un diseño de sitio llamado "Seguimiento de clientes de Contoso".The previous cmdlet creates a new site design named Contoso customer tracking. El valor -WebTemplate selecciona la plantilla base a la que se asociará.The -WebTemplate value selects which base template to associate with. El valor "64" indica la plantilla de sitio de grupo y el valor "68", la plantilla de sitio de comunicación.The value "64" indicates Team site template, and the value "68" indicates the Communication site template. Si ha deshabilitado la creación de grupos moderna (o la ha limitado a un subconjunto de usuarios) y quiere seguir permitiendo que los usuarios apliquen diseños de sitio para la plantilla de sitio de grupo moderna sin grupos, publique los diseños de sitio con el valor de -WebTemplate "1".If you have disabled modern Group creation (or restricted to a subset of users) and wish to still allow your users to apply site designs to the "group-less" modern Team site template, publish your site designs using the -WebTemplate value "1".

En la respuesta JSON se mostrará el ID del nuevo diseño de sitio.The JSON response displays the ID of the new site design. Puede usarlo en cmdlets posteriores para actualizar o modificar el diseño de sitio.You can use it in subsequent cmdlets to update or modify the site design.

La API de REST para agregar un nuevo diseño de sitio es CreateSiteDesign.The REST API to add a new site design is CreateSiteDesign.

Usar el nuevo diseño de sitioUse the new site design

Ahora que ha agregado un script de sitio y el diseño del sitio, puede usarlo para crear nuevos sitios con la experiencia de creación de sitios sin intervención del administrador o aplicar el diseño de sitio en un sitio existente con el comando Invoke-SPOSiteDesign en PowerShell.Now that you've added a site script and site design, you can use it to create new sites through the self-service site creation experience or apply the site design to an existing site using the Invoke-SPOSiteDesign command in PowerShell. Si usa sitios de concentrador puede incluso asociar un diseño de sitio para un concentrador para que se aplique a todos los sitios unidos.If you are using hub sites you can even associate a site design to a hub so it gets applied to all joining sites.

Creación de nuevos sitiosNew site creation

  1. Vaya a la página principal del sitio de SharePoint que usa para desarrollo.Go to the home page of the SharePoint site that you are using for development.

  2. Seleccione Crear sitio.Choose Create site.

  3. Elija Sitio de grupo.Choose Team site.

  4. En la lista desplegable Seleccionar un diseño, seleccione el diseño de sitio Pedidos de clientes.In the Choose a design drop-down, select your site design customer orders.

  5. En Nombre de sitio, escriba Seguimiento de pedidos de clientes como nombre del nuevo sitio.In Site name, enter a name for the new site Customer order tracking.

  6. Elija Siguiente.Choose Next.

  7. Elija Finalizar.Choose Finish.

  8. Se mostrará una barra de notificación que indica que se está aplicando el script.A notification bar will be displayed indicating that your script is being applied. Para invocar el panel de información de diseño del sitio, haga clic en el vínculo Ver progreso.To invoke the site design information panel, click the View progress link. Cuando se hayan completado los scripts, el mensaje del banner de notificación cambiará a Diseño de sitio aplicado. Actualice este sitio para ver los cambios., que le permite invocar el panel o actualizar la página.Once the script(s) have completed the notification banner message will change to Site Design applied. Refresh this site to see the changes., allowing you to either invoke the panel or refresh the page.

  9. Verá la lista personalizada en la página.You will see the custom list on the page.

Aplicar a una colección de sitios existenteApply to an existing site collection

También puede aplicar un diseño de sitio publicado a una colección de sitios existente mediante el cmdlet Invoke-SPOSiteDesign.You can also apply a published site design to an existing site collection using the Invoke-SPOSiteDesign cmdlet.

Puede aplicar un diseño de sitio publicado a:You can apply a published site design to:

  1. Un sitio de grupo conectado a un grupo.Group-connected Team site
  2. Un sitio de grupo no conectado a un grupo de Office 365.Team site not connected to an Office 365 Group
  3. Sitio de comunicaciónCommunication site
  4. Un sitio de grupo clásicoClassic team site
  5. Un sitio de publicación clásicoClassic publishing site

Asociar a un sitio concentradorAssociate with a hub site

También puede asociar un diseño de sitio publicado a un sitio concentrador en la configuración del sitio concentrador para que se pueda aplicar a todos los sitios unidos.You can also associate a published site design to a hub site in hub site settings so it can be applied to all joining sites. Para obtener más información sobre cómo asociar el diseño del sitio a través de la interfaz de usuario o con el comando Set-SPOHubSite, revise el artículo Configurar un diseño de sitio para el sitio concentrador.For details on how to associate the site design either through the UI or using the Set-SPOHubSite command please review the Set up a site design for your hub site article.

Vea tambiénSee also