miércoles, 10 de enero de 2018

SAP Screen Personas 3.0: Flavors adaptativas

SAP Screen Personas 3.0 es una herramienta de la que se oye menos de lo que se debería, sobre todo teniendo en cuenta que es gratuita (¡si tienes SAP, claro!). A mí me parece un bombazo, pero depende para qué, claro. Tiene su nicho de uso, un grupo de usuarios especialistas con un número limitado de transacciones.

Es una herramienta que te permite preparar una demo rápida para mostrar su potencia, pero que luego requiere un análisis más detallado de lo que el usuario va a querer hacer. Al final, lo que menos lleva es hacer las variantes (las flavors) y lo que más lleva es aprender cómo trabaja el usuario para poder diseñar lo que necesita.

Una de las pegas que tiene (debido al "público objetivo" que tiene la herramienta), es que está orientada a escritorio, pese a usarse con un navegador web, que hoy por hoy nos hace pensar en aplicaciones "utilizables en cualquier dispositivo" (aunque no siempre sea cierto).

En Screen Personas no tenemos eso de aplicaciones responsive como en Fiori: Donde pongamos los controles, ahí se quedarán, y si la ventana del navegador web es más pequeña que la variante, nos aparecerá el odioso scroll horizontal que nadie quiere ver en un dispositivo pequeño.

Pues ya podemos dejar de preocuparnos por eso, porque a partir del SAP Screen Personas 3.0 SP05, la cosa ha cambiado. Ahora SAP nos presenta las adaptive flavors, variantes adaptativas. Por fin vamos a poder adaptar la misma variante de una dynpro a varios tamaños de pantalla.



Así que vamos a ver cómo funcionan en los siguientes apartados:
  • Primero veremos que son las adaptive flavors.
  • Después echaremos un ojo a las notas que necesitamos o que deberíamos revisar.
  • Vamos a trastear con un ejemplo curradísimo (pero muy, muy currado).
  • Y finalmente veremos qué podemos hacer si no podemos pasarnos a SP05 pero queremos adaptabilidad.

Qué son las adaptive flavors


Ojo, que si os habéis fijado, no las han llamado responsive sino adaptive. No sé si será a propósito o sólo casualidad, pero no debemos pensar en la misma adaptabilidad que podemos obtener de las aplicaciones en SAPUI5. Es un poco más limitado.

Lo que SAP SP 3.0 nos va a permitir con esto es crear varias versiones de la misma variante. Tendremos una versión padre y varias versiones hija, todas agrupadas entre sí. Cada una la diseñaremos de una manera, así que nos toca mover, agrupar y redimensionar elementos como si estuviésemos haciendo variantes diferentes.

Pero habrá un atributo nuevo que nos permita determinar cual de esas variantes se va a usar: El ancho mínimo. Este atributo aparece en el menú Release y nos va a permitir definir cuantos píxeles necesita de ancho, como poco, para ser mostrada la variante y que se vea bien.

Aquí tenemos el ancho mínimo

Cuando tienes varias variantes adaptativas agrupadas, el sistema mira el ancho de las variantes y lo compara con el ancho del navegador. Si es navegador es igual o más ancho, usa esa variante. Si no, pasa a la siguiente, hasta que encuentra la que mejor se adapta.

Cuidado, que no es instantáneo. El sistema se lo piensa un poco y puede tardar un par de segundos en cambiar la presentación. Screen Personas nunca ha sido todo lo fluido que nos hubiese gustado, y aquí menos.

Importante tener en cuenta: Las variantes adaptativas que hemos agrupado deben tener la misma funcionalidad. No podemos elegir que una muestre unos campos y otra muestre otros, sólo podemos moverlos de sitio y cambiarles el formato, pero si ocultamos un campo, se ocultará en todas las variantes adaptativas.

Hay que echar un ojo a las notas


Ojo, que las capturas que muestro pueden cambiar si no tenéis la misma versión. Hay que tener SAP SP actualizado, así que tenemos que revisar las notas. Con una versión antigua, la variante adaptativa se crea pulsando el +. Con las notas bien implementadas, se crea sobre el recuadro de la propia variante adaptativa.



Echad un ojo a las notas acumulativas de este SP, agrupadas en la nota 2447934 - SAP Screen Personas 3.0 SP05: Released Notes Information.

La primera mencionada, como no, es la 2467868 - SAP Screen Personas 3.0 SP05: Post-Installation Corrections, que deberíamos haber tenido en cuenta una vez hecho el upgrade a SP05.

Revisad también la nota 2499933 - SAP Screen Personas 3.0 SP05: Adaptive Flavor fixes, para arreglos relacionados con las variantes adaptativas.

Pero, sobre todo, muy importante, la nota 2447935 - SAP Screen Personas 3.0 SP05: Update of Client Sources Files. ¿Para qué? Para que no tengáis los mismos quebraderos de cabeza que he tenido yo.

Comencé este post a mediados de diciembre, pero resultado que no me funcionaba bien. Nunca se guardaba el ancho mínimo: Tú lo establecías, salvabas cambios y parecía que todo estaba bien. Pero cuando volvías a entrar, ¡el ancho estaba en blanco! Así que nunca funcionaba la adaptabilidad.

Si cotilleabas en los ejemplos que te puedes descargar de SAP en la galería de SAP Screen Personas, (por ejemplo, este dashboard adaptativo), abrías el ZIP en el que viene la configuración y lo comparabas con una descarga de tu variante, veías que había unos ficheros, flavorsettings.NUMERAJOS.xml, que no aparecían en tu variante. Ahí es donde se guarda el ancho mínimo de la variante. Internamente, en SAP, se guarda en la tabla /PERSONAS/FLVSET, con la propiedad de nombre formFactorWidth. Pero quién quiere trastear en zips o en tablas cuando lo suyo es rellenar un campito en el navegador web.

Estaba claro que a SAP se le había olvidado desplegar algo. Así que a esperar a que saliese la nota.

Pues esa nota se actualizó el día 4 de enero, aplicando el arreglo que necesitábamos. Una vez implementada y probada, ¡por fin se guardaba el ancho!

Manos a la obra


Hala, vamos a probar todo esto con un ejemplo. Como siempre, la transacción más útil para crear ejemplos para Screen Personas, la SU01 - Mantener usuarios.

Imaginemos que nos hemos creado una variante para la SU01 como la siguiente. Hemos ocultado campos y pestañas, ya que por defecto esta transacción muestra unas 9-10 pestañas y unos 40 campos, la mayoría de los cuales mucha gente nunca usa.

Mary Shelley tiene el rol necesario para poder crear monstruos

La hemos diseñado de la forma normal, de momento no hemos hecho nada adaptativo.

Ahora es donde cambia la cosa. Salimos del modo edición, vamos a la variante, pulsamos sobre el doble recuadro (que representa "ampliar") y elegimos Add Adaptive Flavor. Así crearemos una variante adaptativa para este flavor padre.


Le asignamos un nombre a la nueva variante. Ahí vemos quien es la variante padre.


Y diseñamos la nueva variante, con una dimensión más reducida.


Ahora es cuando vamos a determinar cuando se usa cada flavor: Vamos al menú Release y le asignamos un ancho mínimo. Al hacerlo, nos aparece un margen a la derecha, en gris oscuro, que nos permite ver cómo va a quedar la pantalla con ese ancho mínimo. Lo suyo es que nuestro diseño no se superponga con ese margen, pues así aseguramos que no habrá scroll horizontal.

¡Encaje perfecto!

¡Genial! Ya está... pero antes tenemos que hacer algo que podemos haber olvidado en el paso anterior, ¡asignar un ancho mínimo para la variante principal! Así que podemos salir del modo edición y pasar a editar la variante padre: Pulsamos el doble recuadro y elegimos la variante a modificar.


Y establecemos el ancho, que será mayor que en la variante anterior. Tampoco hay mucha diferencia de ancho, pero es sólo un ejemplo, no me lo tengáis en cuenta.


Siguiendo los mismos pasos, podríamos crear todas la variantes que necesitemos e irles asignando nuevos anchos. Aunque, en mi opinión, no creo que más de tres hiciese falta. Siempre podemos pensar en la terna desktop-tablet-mobile.


Y ahora, a probar. Cerramos el editor, abrimos la transacción y comenzamos a jugar con el ancho del navegador web.

Forzamos una vista muy ancha, para ver la variante más grande.

Según vayamos modificando el ancho, se irá cambiando la variante. Recordad, no es instantáneo, le lleva un par de segundos darse cuenta de que tiene que cambiar la variante.

La versión media, un poco más comprimida
Y si seguimos reduciendo, veremos la tercera variante. ¡Prueba superada!

La versión canija

¿Y si no tenemos SP05?


Entonces olvídate de versión adaptativa...

¡Que no, que es broma! Que aún tenemos una posibilidad, pero nos toca a nosotros desarrollar esa misma funcionalidad.

Para ello, echadle un ojo a este post, donde explican cómo hacerlo. Eso sí, seguimos necesitando SAP Screen Personas 3.0. ¿O es que alguien se acuerda aún de la 2.0?

No hay comentarios:

Publicar un comentario