Etiqueta

13 de mayo de 2015

Probando nuestros "remote forms"

Si estamos usando Firefox durante el desarrollo de aplicaciones con Omnis, podemos usarlo para probar los diferentes diseños y tamaños de pantalla pensados para su uso en dispositivos móviles y tabletas mediante su utilidad "Vista de diseño adaptable", indicar que se trata de una característica del navegador Firefox y que Omnis puede aprovechar, pero que no parece estar disponible (por el momento) en otros navegadores.

Pero quiero hablar de ello en éste "blog", ya que nos puede ahorrar mucho tiempo a los desarrolladores Omnis, durante la fase de diseño de nuestras aplicaciones, ya que nos evitará tener que probar o testar la aplicación en múltiples dispositivos. Sin embargo, le recomiendo que finalmente también pruebe su aplicación sobre el o los dispositivos que usted desee estén soportados por su aplicación.


Para que Omnis pueda hacer uso de dicha funcionalidad del navegador, deberá establecer su propiedad "gResponsiveDesign" a "true", podrá encontrarla dentro del archivo "ssz.js" ubicado bajo el directorio "html/scripts" dentro del raíz Omnis. Tenga en cuenta que deberá reiniciar Omnis para que el cambio tenga efecto.


Finalmente y para activa el modo en Firefox, diríjase al menú "Herramientas" opción "Desarrollador web" y seleccione "Vista de diseño adaptable".


Una vez hecho ésto, podremos probar nuestros "remote form" seleccionando los diferentes tamaños de pantalla y orientaciones bajo el menú desplegable de la ventana del navegador Firefox, nuestro "remote form" cambiará según lo especificado en su propiedad $screensize. Cuando hayamos concluido con las pruebas, deberemos volver a cambiar la configuración de "gResponsiveDesign" del fichero "ssz.js" para dejarlo en modo "false".

6 de mayo de 2015

Paso de parámetros a un "remote form" mediante URL

Ahora es posible el paso de parámetros hacia un "remote form" o "remote task", desde el propio cliente de JavaScript y desde la URL de llamada a la página web que contiene su "remote form". Dichos parámetros aparecerán añadidos a los que ya pueda llevar emparejados la invocación al "remote form", recuerde que habitualmente el paso de parámetros estaba limitado a los incluidos en la propia página HTML mediante el uso de las etiquetas "data-param1", "data-param2", etc.

Los parámetros adicionales pueden ser añadidos en la URL que apunta al "remote form" mediante el siguiente formato:
 
http://127.0.0.1:5988/jschtml/rfSetCurField.htm?x=y&a=b 

El cliente JavaScript añadirá éstos parámetros mediante una columna opcional denominada "URLparams" añadida a la variable "row" que transfiere al método $construct() del "remote form" o "remote task". Los datos contenidos en "URLparams" son guardados en formato JSON, por ejemplo, si los parámetros del URL son "x=y&a=b", el fichero JSON contendrá la entrada {"x":"y","a":"b"}. Si lo desea, podrá hacer uso de la nueva función estática OJSON para convertir su formato original, a formato "row" de Omnis, mediante...

Do OJSON.$jsontolistorrow(pRow.URLparams) Returns lRow

...donde "lRow" es una variable Omnis de tipo "row". Suponiendo el ejemplo anterior, el valor de la expresión "lRow.x" sería "y" y el de "lRow.a" sería "b".

29 de abril de 2015

Ventanas adaptables (Sync Screens Tool)

¿Cómo funciona la nueva herramienta "Sync Screens"?


La idea es que, tras crear un "remote form", podamos formatear todos sus campos y controles para que aparezcan con el tamaño y posición correctos, según cada una de las posibles orientaciones y tamaños de pantalla, ya sean de tipo escritorio, tabletas o móviles. (según las diferentes configuraciones soportadas para la propiedad $screensize).

Sin duda se trata de una tarea que nos consume mucho tiempo a los desarrolladores, debido al gran número de diferentes dispositivos y diseños soportados por los "remote form".


Afortunadamente ésta herramienta nos permitirá realizar ésta labor de forma automática, lo que sin duda nos ahorrará mucho tiempo, además de hacer que nuestras aplicaciones sean más consistentes y fáciles de usar para los usuarios finales, puesto que se adaptarán al dispositivo en uso.


Podrá localizar la nueva herramienta "Sync screens" situada bajo el menú "Tools≥≥Add Ons".


Para utilizarla deberá seleccionar una biblioteca desde el desplegable "Library" y seleccionar el "remote form" JavaScript que desee sincronizar. Mediante el desplegable 'Source Screensize' podrá indicar cual es el punto de partida sobre el cual se construirán el resto de los tamaños seleccionados. (por defecto aparecerá seleccionado "desktop") Después, deberá elegir qué tamaños deberán sincronizarse mediante las casillas de verificación. Los elementos situados bajo "Options" le permitirán escalar o no los objetos, según su posición horizontal y/o vertical y/o según su anchura y altura. Si no desea que un objeto en particular sea alterado por la herramienta, puede optar por bloquearlo. Para ello y desde el modo-diseño, pulse botón derecho sobre el objeto y escoja la opción "Lock", la opción "Ignore Locked Components" (por defecto activada) le permitirá decidir si tal comportamiento deberá ser tenido en cuenta o no. Una vez realizados los ajustes pertinentes, haga clic sobre el botón "Sync".

Ahora podrá cambiar la propiedad $screensize de su "remote form", para comprobar el funcionamiento de los diferentes diseños seleccionados. Recomendamos que también realice pruebas en un navegador y en diferentes dispositivos para comprobar que los diferentes objetos del "remote form" se dimensionen y posicionen correctamente.