Los formularios se utilizan en JMap Server para ingresar los parámetros de búsqueda en las consultas de selección por atributos, para el ingreso de los datos de los atributos de las capas editables y para la gestión de los datos almacenados en las bases de datos, siempre que éstos estén relacionados con los elementos de una capa.
El administrador JMap Server configura los formularios que los usuarios utilizan en las aplicaciones JMap Pro, JMap Web, JMap NG y JMap Survey.
Como los formularios de edición de datos, los formularios utilizados en las consultas de selección por atributos son creados mediante el diseñador de formularios y son utilizados por los usuarios para ingresar los parámetros de las búsquedas. Cada componente del formulario está entonces asociado a un parámetro de la consulta ($param1
, $param2
, etc.).
Contrariamente a los otros tipos de formulario, éstos no pueden ser divididos en secciones. Otra diferencia es que los componentes de tipo Foto no están disponibles para este tipo de formulario.
Estos formularios son creados cuando se configuran las consultas de selección por atributos, presionando Diseño de formulario.
Cuando se crea un formulario resulta muy importante tener en cuenta los parámetros que son obligatorios y los que son opcionales, en función de la definición de la expresión de consulta. Por ejemplo, si un componente del formulario no tiene la opción Obligatorio activada, el texto de la expresión de consulta debe prever que ese parámetro es opcional. La sección Crear una consulta de selección por atributos ofrece más información sobre el tema.
Esta función permite buscar y seleccionar elementos de una capa utilizando los valores de sus atributos o utilizando una base de datos vinculada a la capa. Los administradores crean las consultas y sus formularios asociados en JMap Admin. Los usuarios de las aplicaciones JMap utilizan luego esos formularios para ingresar los valores de los atributos y efectuar las búsquedas. Todos los elementos cuyos valores de atributos corresponden a los valores ingresados son seleccionados y presentados en el explorador de elementos.
Puede acceder a la sección de configuración de las consultas presionando Consultas desde la sección Proyectos.
Para crear una nueva consulta presione Crear consulta en la sección Consultas. Los parámetros varían en función del tipo de consulta seleccionado.
Este tipo de consultas se utiliza cuando se debe hacer una búsqueda en datos contenidos en una base de datos externa a JMap. La base de datos externa debe tener un campo que permita vincularla con un atributo de la capa. En primer lugar se ejecuta una consulta SQL de tipo SELECT en la base de datos externa y los valores devueltos por la misma son luego asociados a los elementos de la capa utilizando el campo de vinculación.
Aún si el diseño del formulario de consulta indica que un campo es obligatorio u opcional, la cláusula WHERE de la expresión de consulta debe ser ajustada para soportar esta opción. Para ello, las partes de la consulta que están asociadas a parámetros opcionales deben estar incluidas entre llaves ( { } ).
Ejemplo de cláusula WHERE:
CITY = '$param1' and { COUNTRY = '$param2' }
Este ejemplo efectúa la búsqueda de las ciudades cuyo valor para el atributo CITY es igual al valor del parámetro 1 ingresado por el usuario ($param1
) y que opcionalmente tienen el valor del atributo COUNTRY igual al valor del parámetro 2 ingresado por el usuario ($param2
). Si el parámetro 2 no se ingresa, todo el bloque { COUNTRY = '$param2'
} es eliminado de la consulta, así como el operador AND que se vuelve huérfano. Atención: el administrador debe obligatoriamente definir $param2
como opcional en el diseño del formulario. La sección Formularios ofrece más detalles sobre este tema.
Se puede permitir el ingreso de valores múltiples en los formularios, en un campo de tipo Lista (opciones múltiples). Los valores se separan mediante el carácter delimitador ; (punto y coma) . Esta opción puede ser activada en la cláusula WHERE de la consulta. La sintaxis es la siguiente:
$multiple{true|false} {\$delimiter{;}}
Ejemplo:
CITY = '$param1{$multiple{true} $delimiter{;}}'
Selecciona las ciudades cuyo valor del atributo CITY es igual a uno de los valores ingresados en el parámetro 1. Los valores están separados por punto y comas (;).
Los administradores pueden modificar las consultas por atributos. Cuando las consultas se modifican no es necesario desplegar nuevamente las aplicaciones que publican el proyecto, dado que los cambios se transmiten de manera directa.
Las consultas de selección por atributos pueden ser organizadas en grupos, lo que resulta especialmente útil en los proyectos que implican un número elevado de consultas.
La supresión de una consulta de selección por atributos suprime definitivamente la consulta y el formulario que está asociado a la misma. Para suprimir una consulta, selecciónela en la lista y presione Suprimir.
Una vez que la consulta ha sido creada se de forma automática y es accesible en todas las aplicaciones que difunden el proyecto.
Usted puede anular esta publicación para que la misma no esté disponible para los usuarios de las aplicaciones sin perder su configuración. Para anular la publicación de una consulta, desmarque la marca Publicada de la consulta en la interfaz de gestión de las consultas.
Cuando un proyecto contiene capas por referencia, las consultas configuradas sobre esas capas en el proyecto que contiene las capas originales están disponibles automáticamente en el proyecto, que “hereda” esas consultas.
Usted no puede modificar esas consultas “por referencia” a partir del proyecto, éstas sólo pueden ser modificadas en el proyecto que contiene las capas originales.
Si usted desea modificar una consulta “por referencia” cree una copia de la consulta presionando Duplicar. La interfaz de configuración presenta los parámetros de la consulta que usted puede modificar.
Después que la nueva consulta ha sido configurada, usted debe desmarcar la marca Publicada de la consulta “heredada” de la capa por referencia para que ésta no sea más accesible en las aplicaciones JMap que utilizan dicha capa por referencia.
Usted también puede crear una nueva consulta sobre una capa por referencia, tal como se describe en la sección Crear una consulta de selección por atributos.
Para crear un nuevo grupo, presione el botón Crear un grupo. Para modificar el orden de los grupos, presione Modificar y seleccione Reordenar grupos. La ventana que se abre permite deslizar y depositar los grupos en la posición deseada. Para renombrar un grupo, presione el icono . Para suprimir un grupo, selecciónelo en la lista y presione Suprimir.
Consulta de selección por atributos
Título
Ingrese un título para la consulta. Los usuarios verán ese título en la lista de consultas.
Capa
Seleccione la capa en la que se ejecutará la consulta. El campo de búsqueda facilita la selección de la capa.
Escala máxima
Ingrese la escala máxima para la visualización de los resultados en el mapa. Esto es útil para evitar los zooms demasiado detallados sobre los resultados.
Nro. max. de valores devueltos
Ingrese el número máximo de elementos que pueden ser devueltos por la consulta. Ésta no se ejecutará si el tamaño del resultado es superior a este límite. Este parámetro evita la ejecución de consultas demasiado voluminosas que podrían disminuir el rendimiento del sistema.
Modelos de consultas
Básico: En este tipo de consulta la búsqueda se efectúa únicamente en los atributos de la capa. Es el tipo más simple de consulta. Base de datos externa: En este tipo de consulta la búsqueda se efectúa en una base de datos externa que posee un campo que la vincula a un atributo de la capa. Este tipo de consulta es más complejo para configurar pero ofrece más flexibilidad para las búsquedas.
Consulta básica
WHERE
Cláusula WHERE de la expresión SQL que se ejecuta para realizar la búsqueda. Típicamente esta cláusula contiene parámetros numerados ($param1
, $param2
, etc.) que serán reemplazados por los valores ingresados por el usuario en el formulario.
Ejemplos:
COUNTRY='$param1'
Selecciona los elementos de la capa que tienen el valor del atributo COUNTRY igual al valor ingresado por el usuario. El valor del atributo debe corresponder perfectamente al valor ingresado ($param1
).
lower(COUNTRY) like lower('$param1%'
)
Selecciona los elementos de la capa que tienen el valor del atributo COUNTRY similar al valor ingresado por el usuario. El valor del atributo debe comenzar por el valor ingresado ($param1
). Gracias al operador lower
la búsqueda no es sensible a las mayúsculas y minúsculas.
POP2000>=$param1
and POP2000<$param2
Selecciona los elementos de la capa que tienen el valor del atributo POP2000 dentro del rango definido por los dos valores ingresados ($param1
y $param2
).
Diseño de formulario
Presione este botón para configurar el formulario de la consulta. La sección Formularios ofrece más detalles sobre el tema.
Consulta en base de datos externa
Bases de datos
Seleccione la base de datos en la que desea efectuar la búsqueda.
Expresión SQL
Ingrese la expresión SQL que será ejecutada en la base de datos para buscar los elementos.
Ejemplo:
select * from cities where CITY_LANGUAGE='$param1'
Busca en la tabla cities de la base de datos seleccionada. Devuelve los registros cuyo valor del campo CITY_LANGUAGE es igual al valor ingresado por el usuario ($param1
).
Atributo de la capa
Especifique, entre los atributos de la capa, el atributo que servirá para establecer el vínculo con la base de datos.
Campo
Seleccione, entre los campos devueltos por la consulta SQL, el campo que servirá para establecer el vínculo con la capa.
Diseño de formulario
Presione este botón para configurar el formulario de la consulta. La sección Formularios ofrece más detalles sobre el tema.