domingo, 31 de julio de 2016

SharePoint 2016 is comming

No queda nada para que se cumpla la fecha de lanzamiento de la última versión de SharePoint Server. Esta nueva versión no es sólo una evolución de nuevas funcionalidades, sino que marca un punto de inflexión a nivel interno de propio producto y reinvención del concepto de Intranet.

Todos los detalles en mi post publicado en Kabelhttp://www.kabel.es/blog/2016/07/26/sharepoint-2016-novedades-pre-lanzamiento/

jueves, 28 de julio de 2016

Usando JSLink con listas de SharePoint Online



En esta entrada vamos a mostrar un ejemplo de cómo inyectar código JavaScript para modificar la forma en la que se renderizan los elementos de una lista de SharePoint Online. Además ese JavaScript va a generarse a partir de un fichero TypeScript.

¿Por qué JSLink?

Con SharePoint 2013 se ha extendido la clase SPField, con la adición de una propiedad llamada JSLink, que permite indicar un fichero JavaScript que va a ejecutarse en el momento de renderizar los elementos de una lista. Usar esta solución es una buena práctica para poder realizar este tipo de modificaciones, ya que permite pintar los elementos de la forma deseada sin utilizar código servidor, sin necesitar de una solución WSP, y totalmente re-utilizable en un entorno tanto Online como Servidor.
El mecanismo de JSLink nos va a permitir modificar las siguientes vistas:
  • View
  • NewForm
  • EditForm
  • DisplayForm

La implementación

Para este sencillo ejemplo, necesitamos tener el script que vamos a crear subido a una biblioteca de SharePoint, en este ejemplo está en "Style Library".
Por otro lado, hemos creado una custom list muy simple, sólo con el campo título, y hemos editado cada página de cada vista que vamos a modificar (edición, visualización, creación y detalle), para modificar el webpart que muestra los elementos e insertar la ruta del script en su propiedad JSLink, tal y como muestra la siguiente imagen.


De esta forma, le estamos inyectando el código JS cuando se van a pintar los elementos de la lista. Ahora sólo queda insertar el código, que en este caso aprovechamos para probar TypeScript. Como se puede ver, se trata de definir un contexto, en el que se carga un Template donde se define por cada Field Name las vistas que vamos a sobreescribir de ese Field, en este caso las cuatro. Además, también vamos a añadir una definición de qué queremos insertar en el Header, Footer y como elemento Item de la vista View. El resultado para las distintas vistas con el código que vamos a escribir sería:

View

NewForm

EditForm

DisplayForm


Y el código TypeScript es el siguiente:

Es un ejemplo muy sencillo, pero este mecanismo ofrece grandes posibilidades de pintar elementos de listas sin necesidad de código, únicamente con JavaScript. Si a esto le añadimos CSS personalizado, las posibilidades son muy amplias.

Enlaces de interés

Aquí dejo unos enlaces con ejemplos de lo que se puede realizar con JSLink:
http://www.sharepointnutsandbolts.com/2013/01/using-jslink-to-change-ui-of-sharepoint_20.html
https://code.msdn.microsoft.com/office/Client-side-rendering-JS-2ed3538a
http://www.lestersconyers.com/custom-field-rendering-with-jslink/


viernes, 22 de julio de 2016