Arquitectura, buenas prácticas y desarrollo sobre la nueva herramienta de Microsoft SharePoint 2016

¿Cómo actualizar la solución de SPFX?

Con la llegada del SharePoint Framework (SPFX) aparece una aspecto con el que inicialmente no contábamos, o más bien, no lo considerábamos importante. Se trata de la actualización de nuestra solución a una nueva versión.

Partimos de la base de que el desarrollador de SharePoint estaba acostumbrado a crear el WebPart y una vez el desarrollo ha finalizado, no tiene que preocuparse por nada. Esta forma de trabajar podemos migrarla a la hora de trabajar con el SPFX: creamos un proyecto utilizando Yeoman y una vez creado, no tenemos que modificar nada.

Pero por regla general, no pensamos que los tiempos han cambiado y ahora mismo no tenemos nuestro servidor en nuestras infraestructuras. Lo que tenemos es un SharePoint Online (en algún datacenter de Microsoft) sin importarnos donde esté alojado. Además, nuestros desarrollos son principalmente del FrontEnd, con todo lo maravilloso que esto tiene. Es decir  las herramientas de FrontEnd que se utilizan en el SPFX, son Yeoman, Gulp, Typescript, React, etc… todas ellas tienen una evolución que hace que puedan temblar los cimientos de nuestros desarrollos. Desde que se ha encontrado un fallo grave y que urge modificarlo o incluso alguno un poco más drástico como que haya dejado de funcionar algún elemento del propio FrameWork. Y claro, cuando esto ocurre nuestra solución hay que actualizarla sí o sí.

Cómo actualizamos la solución

En primer lugar tenemos que ver si tenemos el último template de Yeoman, para ello lanzamos el siguiente comando:

npm outdated --global

Si dentro de los paquetes que tenemos instalados está sin actualizar el generador de SharePoint,  lanzamos la siguiente instrucción:

npm install @microsoft/generator-sharepoint --global

Una vez dentro de nuestra solución, lo que debemos de hacer es ir al fichero package.json y actualizar las referencias del paquete a la nueva versión. En este caso tendríamos que poner todos los paquetes en la versión 1.4.1 que es la actual. Quedaría de la siguiente forma:

Fichero package.json

Una vez actualizado estos paquetes tendríamos que ejecutar el siguiente comando para que se actualicen los paquetes pertinentes:

npm install

Para finalizar, tendriamos que volver a lanzar un Bundle de nuestra solución y …..

¿Qué ocurre una vez compilamos la solución?

spfxEsta es la gran pregunta que nos hacemos los «developers» cuando lanzamos estos comandos. Es posible que en nuestra solución funcione todo a la perfección o es posible que nos de errores (obvio). La cuestión es que en cada  release del SPFX, se van incorporando una serie de cambios que hemos debido leer previamente a la migración de nuestra solución. Por ejemplo, en la versión que lanzaron el otro día sus principales cambios fueron:

– Modificación en los Typings de React
– Deprecaron el GraphClient
– Solventaron una issueç
– Soporte para NodeJS

Viendo todo lo que le puede pasar a nuestra solución, es posible que si hacemos uso del GraphClient tengamos que rehacer estos cambios y adaptarlos a una forma más estable. Otro de los posibles errores que se puedan tener, es que alguna definición de ReactJS se haya modificado y por lo tanto, dé un error de tipado en nuestro código.

¿Cuándo debemos migrar nuestra versión de SPFX?

Por regla general, es conveniente siempre tener la última versión aunque la decisión de cuándo migrar y cuándo no, depende de varios factores:

1.- La solución está en desarrollo. En este caso no hay duda hay que actualizarlo sí  o sí.
2.- La solución está ya en producción. En este caso, depende de que tenga la mejora. Si es un bug crítico  que afecta a la estabilicación de dicho desarrollo, habría que migrarlo y planificar su posterior despliegue y actualización. Si los cambios son menores y no afectan al desarrollo, dejaría de migrarlo para planificarlo en la próxima release.

¿Ésto es todo lo que deberíamos saber?

Como he comentado al inicio del artículo, lamentablemente ésto no es todo :). Si nuestro desarrollo hace uso de alguna librería de terceros, se actualiza sobreb ésta y tiene algún upgrade que sea crítico, también debemos actualizarlo. Por ejemplo:

Estamos haciendo uso del sdk de applicattion Insight. Se ha procedido a una modificación de la API Rest, y si no actualizamos, nos quedamos sin información de diagnostico…En este caso, no nos queda otra opción que proceder a actualizar.

Resumen

En este artículo hemos visto todo lo que significa el nuevo modelo de desarrollo de SPFX.

No solo nos tenemos que centrar en el desarrollo (que es lo que más nos gusta), sino que tenemos que tener en cuenta aspectos como el versionado del template, los últimos cambios que se producen, qué implicaciones conlleva la actualización, etc…
Todo esto  no es ninguna  sorpresa para la gente dedicada al mundo Front, pero  los Office Developers tienen que ir acostumbrándose a esta nueva forma de desarrollo y cuidar más todo el ciclo de vida.

mm

Sobre Adrián Díaz

Adrián Díaz es Ingeniero Informático por la Universidad Politécnica de Valencia. Es MVP de Microsoft en la categoría Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnologías Microsoft más de 10 años y desde hace 3 años está centrado en el desarrollo sobre SharePoint. Actualmente es Software & Cloud Architect Lead en ENCAMINA.
Esta entrada ha sido publicada en javascript, spfx, typescript y etiquetada como . Enlace permanente .
Suscríbete a Desarrollando sobre SharePoint

Suscríbete a Desarrollando sobre SharePoint

Recibe todas las actualizaciones semanalmente de nuestro blog

You have Successfully Subscribed!

ENCAMINA, piensa en colores