Crear SPField en SharePoint Online con PowerShell

A la hora de crear Columnas en SharePoint (versiones Server), nos encontrabamos con el formato de creación en Visual Studio, ya fuera por medio de código C#, o bien declarativamente, generando los XML de las columnas como módulos dentro de un SharePoint Project. En este post veremos cómo realizar estas tareas, haciendolas reutilizables por medio de PowerShell.

Las columnas de sitio, o SPField, internamente se guardan en las BBDD de Contenido de SharePoint como un XML con la siguiente estructura común:

  • Id: Identificador único de tipo GUID
  • Type: Introducir el nombre del tipo de columna. Consultar este enlace.
  • Name: Nombre interno de la columna.
  • Description: Descripción de la columna (no obligatorio).
  • DisplayName: Nombre a mostrar de la columna.
  • StaticName: Nombre de la columna en BBDD (por BestPractice lo ideal es cargar el mismo valor aquí y en el Name).
  • Group: Grupo de columnas a la que pertenece.
  • Required: Escribimos TRUE o FALSE.

Después hay ciertas excepciones a controlar:

  • Format:
    • Las columnas de tipo DateTime deberán incluir el formato DateTime / DateOnly.
    • Las columnas de tipo Choice los valores Dropdown / RadioButtons.
  • List: Debemos informar a qué lista apunta para los campos Lookup, y User.
  • UserSelectionMode: Los campos User deben indicar si permiten personas y/o grupos

Hay dos casos más adicionales:

  • Las columnas de tipo Choice deben tener un anidado de XML con sus valores de opción.
  • Los Managed Metadata deben incluir una columna interna adicional y oculta de tipo Note que acompaña a la columna principal.

¿Y qué pasa si lo metemos todo junto en nuestra coctelera de código, y lo creamos como una función de PowerShell?

Lo hemos vuelto a conseguir. Yeah! 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.