Blog

Información importante a tener en cuenta antes de instalar la versión 7.10

Información importante a tener en cuenta antes de instalar la versión 7.10 1

Objetivo de esta notificación

En Velneo creemos que es importante notificar, con antelación a la salida de la versión, los cambios que puedan producir efectos colaterales en las aplicaciones desarrolladas al ser ejecutadas con la nueva versión. Somos conscientes de que el conocimiento de estos cambios te ayudará a realizar los cambios en tus aplicaciones, en caso de que sean necesarios, con más seguridad y rapidez.

Lee atentamente la información sobre los 3 cambios:

1. Cambio de la propiedad “Siempre cuadro de diálogo”

Introducción


El objeto formulario tiene una propiedad denominada “Siempre cuadro de diálogo”. Esta propiedad asume por defecto el valor Falso, lo que significa que por defecto el formulario debería mostrarse en modo “vista” y no en modo “cuadro de diálogo”.

Hasta la versión 7.10 esta propiedad no estaba operativa por lo que independientemente del valor de esta propiedad todos los formularios se visualizaban en “cuadro de diálogo” salvo si eran lanzados desde una acción, en cuyo caso sí se mostraban en modo “vista”.

Con la llegada de la versión 7.10 esta propiedad ya está operativa y su funcionamiento es el esperado, es decir:

  • Verdadero: El formulario se muestra en modo “cuadro de diálogo”.
  • Falso: El formulario se muestra en modo “vista”.

La decisión


Dado que casi todas las Apps existentes tienen objetos formulario creados debíamos tomar una decisión sobre cómo abordar el funcionamiento por defecto de esta propiedad.

Opción A: Todo debe funcionar igual

Según este criterio al migrar las Apps de la versión 7.9 a la versión 7.10 los objetos formulario deberían automáticamente asumir en la propiedad “Siempre cuadro de diálogo” el valor “Verdadero” con el objetivo de que sigan abriéndose en cuadro de diálogo como hasta ahora. A priori esta opción parecía la más razonable, sin embargo encontramos tres motivos de peso en su contra:

  • Si habías configurado el valor de la propiedad “Siempre cuadro de diálogo” a valor verdadero o falso en función de la esperada funcionalidad, en la migración se modificaría su valor siempre a falso perdiendo así el trabajo realizado.
  • Si el formulario se lanza desde una acción sería un problema asumir el valor “Verdadero” en la propiedad “Siempre cuadro de diálogo”.
  • Según una consulta realizada a los betatesters, la gran mayoría de las Apps tendrán una mayoría de formularios en modo “vista” siendo una minoría el número de formularios que se usan principalmente en modo “cuadro de diálogo”.


Estos 3 motivos nos llevaron a plantear la opción B.

Opción B: No hacer migración y que la propiedad sea operativa (Opción elegida)

Esta opción tiene como ventajas los inconvenientes de la opción A, es decir, el valor configurado en la propiedad es el que prevalece, funcionará bien si se lanza desde una acción y reducirá al mínimo el número de formularios en los que debamos modificar esta propiedad.

El inconveniente de esta opción es que una aplicación que ahora está funcionando en la 7.9 debe ser revisada antes de ponerla en producción en la 7.10 para que aquellos formularios que deseamos se muestren en cuadro de diálogo tengan el valor “Verdadero” en esta propiedad.

Pese a este inconveniente, hemos optado por esta opción al considerarla la más beneficiosa para los desarrolladores.

¿Qué formularios son candidatos a mostrarse en cuadro de diálogo?

En principio, los formularios que generalmente se construyen con layouts son candidatos a mostrarse en “vista”. Sin embargo, hay varios motivos por los que nos puede interesar que un formulario se muestre en cuadro de diálogo:

  • El formulario no usa layouts.
  • Es un formulario de grabación de detalle que se abre desde una vista de datos incrustada en un formulario de cabecera.
  • El formulario está incluido dentro de una transacción.

Mejora incluida en la gestión del modo de visualización de formularios

Con la llegada de los formularios en vista se ha incluido una automatización que evita al usuario problemas de usabilidad con formularios que se muestran cuando una transacción ya está en curso.

Es importante que una vez que el formulario se visualiza incluido dentro de una transacción, no dependa de que el usuario se acuerde de cerrar los formularios de la transacción. Por ejemplo, debemos evitar que un usuario cierre el formulario de cabecera, dejando abierto otros de detalle.

Por este motivo con la 7.10 los formularios que se visualizan dentro de una transacción, en curso, se mostrarán siempre en modo “cuadro de diálogo” forzando así al usuario a cerrarlos antes de concluir la transacción.

Los formularios lanzados desde un proceso se visualizarán siempre en modo “cuadro de diálogo”.

Los formularios lanzados desde una acción se visualizarán en el modo especificado en la propiedad “cuadro de diálogo”, salvo que se cumpla la condición comentada anteriormente de que exista una transacción en curso que se pueda ver afectada por la operación del formulario.


2. Cambio de palabras reservadas en QML: theListView y theListModel

Con la versión 7.9 aparecieron 2 nuevos objetos en Velneo V7, Lista QML y Formulario QML. Estos objetos utilizan scripts QML para visualizar objetos gráficos y también información de la base de datos de Velneo V7.

Para integrar los datos de V7 en el objeto de Lista QML es necesario identificar la vista y el modelo de datos. Para hacerlo se utilizan 2 palabras reservadas: VListView y VListModel.

Con la llegada de vJavaScript en la versión 7.10 el QML recibe un importante conjunto de mejoras ya que a todo lo anterior se le han integrado el uso de las 15 clases de vJavaScript así como un conjunto de casi 500 funciones.

vJavaScript ha requerido un importante esfuerzo a la hora de fijar las nomenclaturas de las clases, los objetos que se crean automáticamente desde V7, los objetos que puede crear el programador y las funciones. La sintaxis definitiva utiliza una nomenclatura particular para los objetos que son creados de forma automática por V7 y que se instancian de forma única, como por ejemplo theApp, theRoot, theRegisterIn, theRegisterOut, theRegisterListIn y theRegisterListOut.

Siguiendo el mismo criterio y con el objetivo de unificar las nomenclaturas de QML y vJavaScript lo antes posible, hemos realizado el siguiente cambio en las citadas palabras reservadas:

objectName: "VListView"
model: VListModel
VApp.
VRoot.
VRegisterIn.
VRegisterOut.
VRegisterListIn.
VRegisterListOut.

objectName: "theListView"
model: theListModel
theApp.
theRoot.
theRegisterIn.
theRegisterOut.
theRegisterListIn.
theRegisterListOut.

De esta forma expresamos que la vista y el modelo son únicos dentro de ese QML.

Hemos decidido realizar este cambio lo antes posible con el objetivo de minimizar el número de scripts QML a revisar. El cambio es sencillo y rápido de realizar teniendo en cuenta que estas palabras se usan una única vez en cada script de QML y que en vDevelop disponemos de un buscador global de texto en todos los scripts.


Actualización


3. Cambio en el protocolo de ejecución de funciones remotas


Debido a estas mejoras hay un cambio en el protocolo que hace incompatible la ejecución de funciones remotas desde clientes anteriores a la 7.10. Por lo tanto a los servidores de la 7.10 es necesario ejecutarles las funciones remotas desde clientes de su misma versión.

2 thoughts on “Información importante a tener en cuenta antes de instalar la versión 7.10

Dejar un comentario