29 junio 2012

Nueva versión Omnis Studio 5.2.2


En la versión anterior la (5.2.1) vimos la incorporación de importantes novedades, como la inclusión del comando (ejecutable desde el lado del cliente) "JavaScrip:". Pero al mismo tiempo TigerLogic, ha seguido atento a las peticiones que les han ido llegando por parte de desarrolladores de todo el mundo, como consecuencia de ello, ya tenemos lista para su descarga una nueva versión 5.2.2, que soluciona varios de los problemas encontrados y en circunstancias muy concretas.

Si desea conocer con detalle los problemas solucionados pulse sobre éste enlace.

11 junio 2012

Sobre el nuevo comando JavaScript:


La versión 5.2.1 de Omnis Studio nos proporciona un nuevo comando denominado JavaScript: (incluyendo los dos puntos) que nos permite ejecutar cualquier código JavaScript sobre el navegador del cliente, incluyendo la ejecución de código JavaScript incrustado o vinculado a la página HTML que contiene el formulario desde donde se ha activado el "remote form".

Omnis no realiza ningún tipo de verificación sobre del código insertado, simplemente ejecutará el comando JavaScript:, por lo que cualquier error que contenga deberá ser tratado mediante la consola JavaScrip del propio navegador. Tampoco será posible incluir notaciones entre corchetes, ya que el código incluido en éstos, es evaluado en el servidor y antes de la ejecución del comando.

Un ejemplo sencillo sería mostrar un mensaje en el navegador mediante el método JavaScript "alert()", del siguiente modo:

javascript: alert("Hola Mundo");

Puesto que el comando ejecuta código JavaScript nativo, el método deberá ser ejecutado desde el lado del cliente, es decir debe ser un método Omnis definido para ser ejecutado sobre el cliente, de hecho, el comando JavaScript: sólo aparecerá sobre la lista de comandos del editor de métodos, si está habilitada la ejecución de métodos en el cliente. Omnis no permitirá que el comando JavaScript: pueda ser ejecutado sobre el servidor (se produciría un error).

A continuación, mostramos un ejemplo de como ejecutar código JavaScrip, que ha sido incrustado en la página HTML que contiene a su vez la llamada al "remote form" inicial.

Retomando el comando del ejemplo anterior "alert()", integraremos una función JavaScript en la página HTML, del modo siguiente:



Ahora ejecutaremos la función desde Omnis, usando el comando JavaScript del siguiente modo: JavaScript:

show_alert();

De éste modo podremos usar el comando JavaScript: para (por ejemplo) "provocar" eventos sobre Google Analytics y realizar el seguimiento de ciertas acciones o eventos de nuestra aplicación.

Para esto tendremos primero que agregar el código Web de Google Analytics proporcionado por Google en nuestra página HTML (que contiene la llamada al "remote form") y ejecutar la función gaq.push() desde Omnis. De éste modo podemos llegar a crear un controlador de eventos mediante el nuevo comando JavaScript:

Un modo de implementar ésta función sería mediante la creación de un método $init con las siguientes funciones:

JavaScript:
    document.getElementById ("jsTEMP1_1076_client").onselect=function(
    event) {__ form.callMethodEx ("selected", 0, event); };

JavaScript:
    window.addEventListener("keydown", function (event) {
    __form.callMethodEx ("keydown", 0, event)}, true);

Debemos tener en cuenta que ambos ejemplos hacen uso de "__form.callMethodEx" para ejecutar un método del "remote form" instanciado. El segundo parámetro (cero en nuestro ejemplo), es un "flag" o bandera que controla cómo debe ejecutarse "callMethodEx" y siempre deberá ser cero.

Podremos hacer uso del método $init para suministrar información adicional acerca de (por ejemplo) el estilo de los controles en el formulario. Por ejemplo:

Do $cinst.$objs.$sendall($cinst.$addboxshadow($ref))

"$addboxshadow" contiene el método del "remote form" pasado mediante el parámetro pObj.

El siguiente comando JavaScript:, agregará una sombra a la caja si el navegador lo soporta.

JavaScript: pObj.elem.style.boxShadow = "0px 0px 5px 5px # 888888";

01 junio 2012

Nueva versión Omnis Studio 5.2.1

Omnis Studio 5.2.1 ofrece ahora mayor velocidad y facilidad de uso, nuevos métodos del lado del cliente, además de nuevos componentes para el control de mapas y gráficas. (Para más información vea el documento: Novedades de Omnis Studio.

  • Capacidad para ejecutar métodos en el cliente, en lugar de en el servidor Omnis.
  • Interfaz de usuario más rica y un nuevo comando JavaScript que permite la ejecución de código nativo del lado del cliente.
  • Nuevo componente "Mapa": Permite mostrar una ubicación sobre un mapa de Google, con los marcadores y con total control sobre el tipo de mapa y nivel de zoom.
  • Nuevo componente "Gráfica": Muestra una gráfica a partir de los datos contenidos en una variable de tipo lista de Omnis. (Para ver una muestra, pulse aquí)