jueves, 5 de enero de 2017

Plantillas en el Web IDE y versión SAPUI5

Cuando te creabas tu primera aplicación en el Web IDE para luego subirla a tu servidor SAP, te podías encontrar con una aplicación que te funcionaba en tu SAP HCP pero no en SAP. ¿Cuál era muchas veces el problema? La versión de la librería SAPUI5 utilizada.

Y es que era muy sencillo escoger la versión incorrecta, ya que cuando creabas la aplicación a partir de un template, el campo de versión aparecía debajo del todo, ¡pero estaba oculto por culpa del tamaño de la pantalla y tenías que bajar con el scroll! Muy fácil de olvidar, muy fácil de equivocarse.

Si tu front-end usaba la librería 1.28 y se te olvidaba cambiar la versión al inicio, te creabas una app de la 1.38. Olvídate de que fuese a funcionar en SAP, así que a crear la aplicación de nuevo, como todo un campeón.

Antes la versión estaba oculta abajo y había que usar el scroll para cambiarla.
A mí la mitad de las veces se me olvidaba :(



Pero recientemente SAP ha cambiado esto y ahora, por fin, el campo es visible a primera vista. Y tan recientemente, que un día tomé unas capturas de pantalla y al día siguiente tuve que rehacerlas.

¡Por fin tenemos visible el campo de versión!
El tipo de apps disponible cambia al elegir una versión u otra.
Eso sí, también se ha reducido el número de versiones disponibles. Antes aparecía un porrón y medio de entradas: la 1.26, la 1.28, 1.30, así hasta 1.38... ¡incluso durante unos días apareció la versión 1.40!
Ahora mismo solo aparecen tres:
  • La 1.28, que debería ser compatible con la mayoría de los front-end (se puede subir a la 1.28 con un SAP NetWeaver 7.31 y 7.40).
  • La 1.38, compatible con el componente SAP_UI 7.50.
  • SAP Innovation, que ahora mismo no sé exactamente lo que es, pero tiene pinta de ser una 1.38 o superior con los cambios que menciono a continuación.

Cómo funcionaba antes de este cambio...

No sólo ha habido cambios en la cajita de la versión, sino también en lo que nos genera la plantilla de forma automática. Hasta ahora, antes de la versión 1.30, tu proyecto se creaba con el metadata (los datos de "configuración" de la aplicación) dentro del fichero Component.js. Respecto a las vistas y controladores, se guardaban todos en la carpeta view.

A partir de la 1.30, el metadata se creaba en un fichero (descriptor) llamado manifest.json que se puede tratar con un editor bastante cómodo, en lugar de editarlo manualmente. Este descriptor no lo entiende una versión 1.28 o anterior, así que si tu librería SAPUI5 en el front-end era de la 1.28, te obligaba a crear, sí o sí, aplicaciones en esa versión (de todas formas es lo suyo, trabajar con una versión equivalente a la que hay en tu servidor SAP).

También cambiaba la estructura de carpetas. Con la 1.30+, todo el contenido se volcaba en la carpeta webapp, y dentro de ésta existía una una subcarpeta view para las vistas y una subcarpeta controller para los controladores. Una chorradita de organización.


... y cómo funciona ahora

Con los cambios que ha introducido SAP, ahora la 1.28 y la 1.38 generan la misma estructura de carpetas y no usan manifest.json, así que la diferencia estribará (digo yo) en los componentes que vayas a utilizar y la funcionalidad específica de nuevas versiones.

Por ejemplo, hay muchos componentes a partir de la 1.30 que no puedes usar si tu servidor tiene la 1.28; además, a partir de la 1.30 cualquier controlador puede recuperar directamente un modelo de datos creado en el Component.js, cosa que antes no se podía, y esto es una chulada porque te puedes pasar información entre controladores sin necesidad de montar historias raras. 

Por su parte, SAP Innovation sí que te genera el manifest.json así como la dualidad de carpetas view-controller.

Este cambio no sé si será porque a la gente le gustaba trabajar con la misma estructura de carpetas de la 1.28, aunque luego la versión de la librería fuese posterior, o qué, vete a saber. O simplemente es un cambio que volverán a deshacer mañana y esta entrada quedará obsoleta ;). Aquí uno no puede distraerse, eso está claro.

Un proyecto creado en la 1.28 y otro con versión SAP Innovation
Hay otros cambios, como la plantilla de tipo SAP Fiori Worklist Application, que ahora sólo está disponible para la versión SAP Innovation. De todas formas, siempre podemos usar la de tipo SAP Fiori Full Screen Application. Supongo que habrá más cambios que ni me he dado cuenta, por supuesto, por exceso de información :D

2 comentarios:

  1. Hi JorGCalleja,
    Not a Spanish speaker so I used translation services to read your article.
    If I understand correctly, you are happy with the new UX for the SAPUI5 version and the new features on SAP Web IDE.
    Regards,
    Raz

    ResponderEliminar
    Respuestas
    1. Hi Raz Korn,

      I only mention small changes in reference to the "SAPUI5 version" selection list, but only with the change of the position of this combo I'm really happy :). And although I like to work with the manifest.json file, the possibility of create an "old folder structure" with version 1.38 is also a good change... but, as I have said, they are only comments about small changes.

      Eliminar