Clases. Persianas comunes a todas

ejemplos Base de ejemplo: test-campos

Persiana <nombre de clase> (sólo administradores)

Es de color naranja y permite a los usuarios de grupo ADMINISTRADORES (código 'admin'), crear una definición y definir las características y funcionalidad de la clase. El administrador puede acceder y editar en conjunto desde el árbol completo de clases, en vez de entrando en la página de cada una.

Persiana Campos, para especificar la lista ordenada de campos de la clase, con sus tipos, ayuda, etc. Puede ver un ejemplo de todos los tipos de campos y su uso en la base de ejemplo indicada arriba. Hay subpersianas para definir los campos de la clase actual y de las superiores de las que herede campos.

Los iconos de la columna Info indican si tiene información en los campos refl (referencias), gral (gráficos), geol (mapas)...

La documentación rápida de la columna Tipo de campo y la presentación en Modificadores, están en la pista (tip) del botón de cabecera de cada uno y hay documentación en  Persiana de campos.

 

Persiana Relaciones, se muestra cuando hemos definido algún campo de tipo >>, para definir los campos de relación entre el concepto actual y la lista de conceptos relacionados en ese campo.

 

Persiana Eventos, permite crear funciones Javascript con nombres que identifican la acción que dispara la ejecución de esa función, y el del campo que se va a mirar cada vez que cambie. También hay eventos para el momento de la creación de un conceptos, de su borrado, modificación de cualquier manera... Este código es parte de la funcionalidad de la clase y se traslada con ella cuando se copia la clase a otra base (por ejemplo desde el comun).

Hay ejemplos y documentación en la base ejemplos  test-informes. En este ejemplo, en la  clase .inc (de incidencias) hay definidos eventos que se ejecutan antes de grabar le campo Observaciones técnicas (obstec) que es la función definida en obstecGraba: , y después de grabar un texto en el campo, definido en obstecGrabado:. También antes de eliminar un concepto de esa clase: elimina:

Hay una sub-persiana de eventos por cada clase heredada, por ejemplo, la base (.), la de tareas (tar) y la de tareas preventivas (tarpre)

 

Persiana JSON, muestra en ese formato el contenido el documento actual (la definición de la clase) en la BD mongo. En cualquier otro concepto que no sea una clase, muestra la información completa del documento mongoDB (referencias, georreferencias, medidas, otras relaciones, campos directos, códigos de gráficos...)

Persiana Clase (Expertos)

Permite a los usuarios del grupo EXPERTOS g1 (responsable del contenido de datos, no del modelo de datos), marcar las opciones de presentación y características de la clase. Estos campos se pueden ver y editar también en modo tabla, en conjunto desde el árbol completo de Clases, en vez de una a una.

Descripción

Nombre, descripción y observaciones de la clase. Como campos importantes están la Ordenación por defecto de los conceptos cuando aparezcan en cualquier lista como primer elemento, al menos. La sintaxis es de un objeto con los campos y valores 1 ó -1 (inverso), como por ejemplo las tareas preventivas: {"fecpro":1,"esp":1} . La Clase superior indica cómo se anida en al estructura de árbol de la persiana de Clases.

 

Presentación

El usuario EXPERTO de BD, en las características de clase, puede elegir si se representa cualquier combinación de estas características a la vez:

Gráficos > Presenta gráficos de : imágenes y archivos asociados en el panel de gráficos: sólo del concepto y/o de sus hijos

Mapas > Presenta mapas de (la representación geográfica en el mapa):

- actual, su propia ubicación o posición geográfica (uno o varios iconos, líneas abiertas y/o polígonos cerrados).

- sus espacios "hijos" o inferiores relacionados en esa jerarquía de campos de relación mencionados.

- sus espacios "nietos" (los relacionados con sus "hijos" de la misma forma).

- su espacio "padre" al que el concepto actual apunta con ese primer campo de referencia a un espacio.

- los "hermanos", o sea todos los qeu tienen el mismo "padre" que el actual

- el contenido geográfico dentro de los límites de la georreferencia actual, sin ninguna relación de datos en BD.

 

Estilo

 

Persiana Particulares (Expertos)

En algunas clases, aparece esta persiana con los datos globales a todos los elementos de ciertas clases fijas de Ingrid: Gráficos, Procedimientos, Espacios (características relativas a mapas) , Cuentas Contables, Bancos.

Persiana Subclases

Sólo se muestra si la clase tiene subclases.

Una clase puede apuntar a otras en el campo Clase superior, para establecer una jerarquía entre ellas, de forma que tenga los campos y eventos de la clases superiores, añadidos a los suyos. Las clases muestran en esta persiana todas las clases que le hacen referencia.

Persiana Búsqueda

Es un formulario con todos los campos definidos para la clase (y clases superiores si las tiene), que son susceptibles de ser un filtro de búsqueda, y que no tengan en la definición del campo el que "No aparezca en los formularios de búsqueda" porque así lo hayamos puesto explícitamente.

En la BD de ejemplo indicada al comienzo de la página, si abrimos la página de la clase .campos, en su persiana Administración > Definición de campos > campos de .campos, veremos que el campo 't2· Texto multilínea' tiene el modificador 'b0', que impide que salga en los formularios de búsqueda. En la Persiana Búsqueda de más abajo, no se muestra.

Por otro lado hay algunos tipos incompatibles con la búsqueda en formulario, como las Tablas auxiliares definida inline, y otros. Aunque pueden verse, no tienen sentido para buscar, como la el tipo firma, el código JSON, código JS, vista de mapa Google o vista streetView... que deberían tener el modificador en 'b0'. Estos ya tienen internamente en la columna Modificadores 't0' para no mostrar estos campos como columnas en las tablas.

 

Los datos admitidos como máscaras y expresiones regulares, varían según el tipo de campo:

· Todos admiten la 'existencia'  !!  o 'no existencia'  !  de algún valor, poniendo esas máscaras.

· Numéricos, Fecha y Fecha-Hora: [operador] valor (el formato decimal Fecha hora es: AAAMMDD.HHMMSS)

· Alfanuméricos: Cualquier texto equivale a la búsqueda con expresión regular /valor/i (es decir, busca el valor independiente de mayusc/minusc en cualquier parte del texto. También admite una expresión regular´, en la que el valor sería por ejemplo: /

· Tabla definida en la clase (>>): tecleamos una máscara, o código, o resumen para seleccionar un concepto concreto, y lo busca como en los campos de referencia (>): los que incluyan una referencia al indicado.

El uso de la sintaxis más habitual en expresiones regulares de búsqueda PCRE (las de Perl también usadas en mongoDB) en el Anexo de Expresiones regulares

Persiana Conceptos

Muestra todos los conceptos de la clase. El menú contextual permite las operaciones habituales en listas de conceptos: Cambiar Icono o Identificador, eliminarlos, copiarlos, lanzar los procedimientos contextuales sobre ellos. También navegar a los conceptos accesibles desde sus campos de referencia a otros conceptos.

Con el conmutador al pie Incluye subclases, se mostrarán todos los conceptos de todas las subclases (habitualmente las clases con subclases no tienen conceptos propios).

Botón Contextuales...

Muestra la lista de procedimientos que tengan como Clase asociada, la del concepto actual tomando 3 orígenes distintos: la propia BD, la base ingrid-comun y los definidos en el código JS de la propia aplicación Ingrid.