Creación entorno de trabajo en SharePoint Online

 

PnP PowerShell es un módulo de PowerShell multiplataforma que proporciona más de 500 comandos que funcionan con entornos de Microsoft 365 y, más específicamente, SharePoint Online, Microsoft Teams, Microsoft Planner y Microsoft Flow.

Para comenzar con el uso de este módulo debemos tener en cuenta lo siguiente:

– Se debe instalar el módulo de PnP PowerShell con la siguiente línea de comando:

Install-Module -Name ”PnP.PowerShell 

– 

– La ejecución de los comandos que se llevarán a cabo, solo se podrán ejecutar asignándole permisos a la aplicación de PnP Management Shell. Esto se lleva acabo al momento de conectarse al Sitio de SharePoint en Office 365 con el usuario administrador del Tenant.

 

Connect-PnPOnline -Url ”https://contoso.sharepoint.com” -Interactive


 

Una vez aceptado los permisos de la aplicación, ya se puede proceder a la creación de elementos en SharePoint Online.

Creación lista con “Template GenelicList”, que equivale a una lista customizada. También cuenta con la opción que habilita el versionamiento de la misma. 

$listName=”NombreLista 

New-PnPList -Title $listName -Url “nombreLista” -Template GenericList -EnableVersioning 

 

Para conocer los Templates actuales visita (https://docs.microsoft.com/en-us/previous-versions/office/sharepoint-server/ee541191(v=office.15) ).

 

El siguiente paso consiste en agregarle columnas a la lista anteriormente creada. La creación de las columnas se puede realizar de 2 maneras, una consiste en la ejecución de los comandos propios de PnPPS y la otra es utilizando la opción XML de PnPPS, de esta manera se puede agregar más características a los campos que serán creados. Veámos unos ejemplos:

 

Para agregar un campo tipo texto:

$listName=”NombreLista”  

Add-PnPField -List $listName -DisplayName “Nombre Campo” -InternalName “nombreCampo” -Type Text -Required -AddToDefaultView   

El campo creado lleva la opción de “-Required” que lo convierte en un campo requerido y “-AddToDefaultView” que indica que será agregado a la vista que este por defecto en la lista.

 

Para agregar un campo booleano:

$listName=”NombreLista 

$fieldXml = ”<Field Type=’Boolean’ Name=’nombreCampo‘ StaticName=’nombreCampo‘ DisplayName=’Nombre Campo’><Default>0</Default></Field>” 

 

Add-PnPFieldFromXml -List $listName -FieldXml $fieldXml 

Este ejemplo lleva la implementación con la opción XML, de esta manera personalizando el valor por defecto en “Verdadero” desde la creación del campo.

 

Agregar un campo de selección

$listName=”NombreLista 

 

Add-PnPField -List $listName -DisplayName ”Nombre Campo” -InternalName ”nombreCampo“ -Type Choice -Group ”Grupo” -AddToDefaultView -Choices ”elemento1″,”elemento2″ 

Este ejemplo También se puede utilizar cambiando el atributo “-Type Choise” por “-Type MultiChoice”, de esta manera cambiando de selección a selección múltiple.

 

Para agregar un campo numérico:

$listName=”NombreLista 

 

Add-PnPField -List $listName –DisplayName “Nombre Campo” -InternalName “nombreCampo” -Type Number -AddToDefaultView 

Este ejemplo cuenta con el atributo “ShowFlied” que se encarga de seleccionar que valor se desea visualizar, y con el atributo “UserSelectionMode” para indicar que son usuarios.

 

Para agregar un campo Fecha:

$listName=” NombreLista 

$fieldXml= ”<Field Type=’DateTime‘ Name=’nombre campo‘ DisplayName=’Nombre Campo‘ StaticName=’nombrecampo‘ Required =’TRUE’ Format=’DateOnly‘ FriendlyDisplayFormat=’Disabled’><DefaultFormula>=Today</DefaultFormula></Field>” 

 

Add-PnPFieldFromXml -List $listName -FieldXml $fieldXml   

Este ejemplo cuenta con el atributo “FriendlyDisplayForma” que se encarga del modo de visualización de la fecha, y con el atributo “Format” para indicar para indicar el formato de la columna.

 

Para eliminar los elementos creados se utilizan los siguientes comandos:

 

Lista:

Remove-PnpList -Identity ”NombreLista“  

 

Columna de lista especifica:

$listName=”NombreLista 

Remove-PnPField -List $listName -Identity ”Columna”  

 

Para desconectar la consola del sitio de SharePoint, siguiente comando:

 

Disconnect-PnPOnline 

 

La ejecución de los scripts anteriores permite la creación de una lista personalizada con diferentes tipos de columnas. Cabe resaltar que el script puede ser tan grande como se necesite, o como buena práctica se crea un script por lista o biblioteca requerida con sus respectivas columnas.

 

¿Qué ventajas tiene el aprovisionamiento por medio de Scripts?

1. Agilidad en la creación de múltiples ambientes de desarrollo.

2. Facilidad para modificar.

3. Rollback de la creación de todo el entorno, o de elementos parcialmente creados por medio de script de eliminación.

4. Portabilidad del entorno de SharePoint.

5. La implementación del entorno de SharePoint pasaría a ser una actividad con un entregable como resultado.

6. Al ser un script, se puede encontrar un método para realizar integración continua y por qué no despliegue continuo.

 

Algo más:

En la implementación de PnPPS, también podemos crear grupos, niveles de permisos, tipos de contenido, columnas de sitios y crear relaciones entre éstos.

 

 

ARTÍCULOS RECIENTES