lunes, 5 de septiembre de 2016

Intregración de Google Forms en SharePoint



Aunque SharePoint tiene un módulo de encuestas muy completo, en este ejemplo vamos a integrar la solución de Google Forms dentro de un sitio de SharePoint.

Crear el formulario

Lo primero es crear el formulario. Para ello, con una cuenta de Google, accedemos al portal de Forms y creamos un formulario cualquiera.


Una vez tengamos el formulario creado y configurado como deseemos, obtenemos su código de inserción HTML para embeberlo en una página de SharePoint. Para ello hacemos clic en la parte superior derecha, sobre la opción de "Enviar".


Insertar el formulario en SharePoint

En una página de nuestro sitio, editamos la página, e insertamos un snippet de código.


Copiamos el código obtenido de la página de formularios de Google, y esperamos a ver si la carga se realiza correctamente.


En este caso, hemos recibido un error que dice This HTML cannot be inserted because this type of content is not allowed. Esto ocurre porque la página de formularios de Google no está añadida a los dominios de confianza de HTML externo. Para añadir este dominio, desde la configuración del sitio, entramos en HTML Field Security.

Y añadimos la página de docs.google.com a la lista de dominios permitidos.


Resultado

Si ahora repetimos el paso de insertar el código HTML en la página de nuestro sitio, veremos que podemos cargar correctamente el frame con el formulario que hemos creado.



Lo próximo

Esta solución para desacoplar los formularios de SharePoint puede ser válida en muchos casos. El siguiente paso sería esperar a que esté disponible la versión de Microsoft Forms, en la que también será posible incrustar el formulario vía HTML.

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