Una duda bastante recurrente alrededor del framework PnP, es si podemos desplegar/provisionar Image Renditions desde el PnP. La respuesta es si (no hay opción de desplegar una Rendition en concreto, pero podemos usar un “workaround” para desplegar todas las Renditions que necesitemos).

Internamente, cuando se define una Image Rendition en SharePoint, este, simplemente crea un nuevo nodo en un fichero XML, que podéis encontrar en la Master Page Gallery. El nombre del fichero es: PublishingImageRenditions.xml y su contenido es algo como:

 

image

 

Básicamente tenemos un nodo ImageRendition por cada Rendition que queremos definir, con Ancho y Alto de la Rendition.

 

Nota: Cuidado con el nodo NextId, ya que si editamos el fichero a mano, tendremos que darle el valor adecuado, que no es otro que el siguiente ID a asignar en caso de que se agregue posteriormente otra Rendition desde la interfaz de SharePoint.

 

Teniendo en cuenta que las renditions se gestionan desde este fichero, y que el PnP tiene la opción de provisionar ficheros a bibliotecas de SharePoint, el siguiente paso es hacer uso del nodo File dentro del PnP Schema, para desplegar este fichero XML en la Master Page Gallery, para ello, podemos usar el siguiente snippet XML:

 

image

 

El atributo Src define la ubicacion local del fichero, mientras que Folder define la ubicación en SharePoint (en este caso hacemos uso del token ~masterpagecatalog, que el PnP resolvera cuando se aplique la template). Ademas, debemos de especificar el Tipo de Contenido del fichero, que para el caso del fichero de Renditions, es el ID: 0x01010012BCF119622FF14793A8A38D5831F25C.

 

Con todo esto en nuestra PnP template, podremos provisionar nuestras Images Renditions.

 

Espero que os sirva!

 

@luismanez