jsClient ahora permite al usuario determinar (pasando un parámetro desde el navegador) el tiempo máximo de espera ante una solicitud. Un nuevo parámetro "data-commstimeout" situado dentro del ≤div≥ "omnisobject1" (incluido en el formulario HTML) permitirá controlar el tiempo en el que el servidor, deberá responder al usuario. Su valor por defecto es cero, lo que significa que no se aplicará tiempo de espera, para aplicarlo, deberá introducirse un entero en representación de los segundos de espera. Cuando el cliente envía un mensaje al servidor, éste deberá responder dentro del tiempo de espera fijado, de lo contrario el usuario podrá optar por seguir esperando o bien cancelar la solicitud.
≤div id="omnisobject1" style="position:absolute;top:0px;left:0px"
data-webserverurl=""
data-omnisserverandport=""
data-omnislibrary=""
data-omnisclass=""
data-param1="" data-param2=""
data-commstimeout="0"≥ (nuevo parámetro)
Etiqueta
Home » Todas las entradas
22 de enero de 2013
18 de enero de 2013
Omnis Studio 6: Subformularios dinámicos
Otra interesante novedad consiste en un tipo especial de subformulario (subform) o grupo de subformularios que (a efectos visuales) se comportan como si se tratara de ventanas separadas para el cliente de JavaScript. No debemos confundir los nuevos subformularios con los ya conocidos subformularios, ya que éstos no tienen nada que ver con los anteriores, de hecho se muestran con barra de título y bordes de tamaño variable, de modo que el usuario puede desplazarlos o cambiar su tamaño dinámicamente dentro de del espacio acotado en la ventana del navegador por el "remote form" principal o contenedor del grupo de subformularios. Esto nos permite crear interfaces de usuario altamente flexibles en nuestras aplicaciones para la web y dispositivos móviles, permitiendo un alto grado de interoperatividad con el usuario.
Los nuevos subformularios son mostrados al cliente en tiempo de ejecución (runtime) sobre el "remote form" principal, pudiendo ser abiertos en el contexto de un "paged pane" o sobre el "remote form" directamente. El subformulario o grupo de subformularios estará disponible bajo un nuevo objeto denominado "Subform Set" (SFS), creado por el "JavaScript client" en tiempo de ejecución, a fin de permitir la gestión del grupo de subformularios. Individualmente cada subformulario es tratado en su librería como una clase "remote form" estándar, pero debe ser añadida y referencia bajo un objeto SFS.
Orden del grupo SFS
Los subformularios en un grupo SFS mantienen un "orden de apilamiento" determinado por su disposición en la pantalla, así el subformulario de nivel superior en el conjunto aparecerá al frente o superpuesto sobre el resto. Al hacer clic sobre un "form" inferior el orden de apilamiento cambiará para situarse en el primer nivel de la pila. Sólo permanecerán activos los controles sobre el "form" situado al frente. Existe un límite de 256 instancias "remote form" incluyendo las correspondientes a los subformularios controlados desde una única instancia "remote task". Es posible trabajar con varios conjuntos SFS al mismo tiempo (permitido pero no muy recomendable) pero, no existe un orden o tipo de agrupamiento con relación al total de los grupos.
¿Cómo se crea un SFS?
Un nuevo conjunto de comandos nos permitirá abrir y gestionar los subformularios sobre un conjunto SFS mediante métodos $clientcommand(), pero deberán ser ejecutados por el servidor de aplicaciones Omnis y en el contexto de la instancia actual del "remote form" ($cinst), el $clientcommand() no funcionará si el método es ejecutado en el cliente. El método $clientcommand() requiere de dos parámetros: el cCommand a ejecutar y una variable wRow con los parámetros del comando, su sintaxis es:
Do $cinst.$Clientcommand(cCommand,wRow)
donde $cinst es la instancia actual de "remote form".
17 de enero de 2013
Omnis Studio 6: Construcción de aplicaciones móviles autónomas
¿Donde se localizan los recursos para aplicaciones autónomas?
El "Serverless Client Application File" (SCAF) es una base de datos SQLite que contiene todos los recursos necesarios para que una aplicación móvil pueda ser ejecutada localmente (modo independiente). Estos incluyen los scripts JavaScript, los archivos CSS, los de imagen (image) y los "remote forms" de Omnis. Se necesitan dos archivos de SCAF por cada aplicación:
¿Cómo se instalan los archivos SCAF en el cliente?
Cuando la aplicación es ejecutada por vez primera y en el modo "sin-conexión", se comprobará si los archivos SCAF ya están incluidos con la aplicación (hablaremos sobre cómo hacer esto en otro artículo). Si estos archivos existen, se copian al espacio reservado en el dispositivo para nuestra aplicación. Naturalmente esto hará que el espacio usado por la aplicación en el dispositivo aumente.
Si los archivos de SCAF no son distribuidos junto con la aplicación, ésta intentará conectarse al servidor de aplicaciones Omnis para descargar las últimas versiones de los archivos SCAF que en él existan.
Para informar a la aplicación sobre que archivos SCAF deberán utilizarse será necesario configurar el parámetro:
≤APPSCAF≥nombre≤/APPSCAF≥ (donde "nombre" es el nombre de la biblioteca Omnis) el parámetro lo encontraremos en el archivo config.xml incluido en la aplicación cliente.
El "Serverless Client Application File" (SCAF) es una base de datos SQLite que contiene todos los recursos necesarios para que una aplicación móvil pueda ser ejecutada localmente (modo independiente). Estos incluyen los scripts JavaScript, los archivos CSS, los de imagen (image) y los "remote forms" de Omnis. Se necesitan dos archivos de SCAF por cada aplicación:
- El SCAF "omnis.db", con los archivos necesarios para ejecutar el cliente JavaScript.
- El SCAF de la aplicación "≤nombre_de_libreria≥.db", con los archivos propios de la aplicación. Omnis Studio generará estos archivos automáticamente sobre el sub-directorio "html/sc" del directorio principal Omnis. Estos deberán ser situados en el servidor de aplicaciones Omnis y en el mismo lugar si se desea que los usuarios tengan acceso a los mismos para actualizaciones y/o descargas.
¿Cómo se instalan los archivos SCAF en el cliente?
Cuando la aplicación es ejecutada por vez primera y en el modo "sin-conexión", se comprobará si los archivos SCAF ya están incluidos con la aplicación (hablaremos sobre cómo hacer esto en otro artículo). Si estos archivos existen, se copian al espacio reservado en el dispositivo para nuestra aplicación. Naturalmente esto hará que el espacio usado por la aplicación en el dispositivo aumente.
Si los archivos de SCAF no son distribuidos junto con la aplicación, ésta intentará conectarse al servidor de aplicaciones Omnis para descargar las últimas versiones de los archivos SCAF que en él existan.
Para informar a la aplicación sobre que archivos SCAF deberán utilizarse será necesario configurar el parámetro:
≤APPSCAF≥nombre≤/APPSCAF≥ (donde "nombre" es el nombre de la biblioteca Omnis) el parámetro lo encontraremos en el archivo config.xml incluido en la aplicación cliente.
Suscribirse a:
Entradas (Atom)