Conceptos Clase Imagen (gra)

Cada concepto de esta clase. representa cada archivo externo a la BD que habitualmente se van a relacionar con conceptos de BD de otras clases; por ejemplo asociaremos fotos o documentación en formato pdf a conceptos de clase bin. Esta clase de conceptos permite tener un vínculo directo a:

- un archivo en los directorios del proyecto, en el servidor (con caminos relativos al directorio raíz de cada proyecto)

- una referencia absoluta a una url de internet dentro de un proyecto o no (como https://i4.ingra.es:4432/test-graficos/alta/a.jpeg)

editando el campo Archivo local o web (alta), se especifica el destino a abrir y se puede aplicar Abrir en pestaña nueva. Con este modificador marcado, el contenido a visualizar se abre al entrar en al ficha en otra pestaña del navegador en vez de en la persiana de vista previa.

 

Aunque habitualmente se trata de archivos imágenes con alguna de las extensiones admitidas y visibles por los navegadores, (JPG, GIF, PNG) o archivos documentales (como PDF, XLS, DOC), se puede crear un concepto de esta clase y asociarlo a cualquier concepto, sea del tipo que sea. Los reconocibles, además, tendrán una visualización según el tipo; los que no lo son, se pueden descargar al equipo o dispositivo móvil local.

La ventana de propiedades de esta clase, permite realizar búsquedas por todos los datos de un gráfico: dimensiones en pixeles, en tamaño de archivo, nombre, código, ámbito de protección, fechas de creación, eliminación...

 

Si se trata de fotos:

Cada gráfico tiene al menos 1 y hasta 3 versiones, en diferentes formatos y tamaños. Al insertar una imagen en BD siempre se crean automáticamente estas versiones, que el administrador y el experto pueden gestionar en la persiana Globales de la definición de clase.

Como mínimo, una imagen si no es muy grande, se almacena en el directorio de proyecto del servidor \ima\alta con la resolución con la que se ha subido al servidor, y se genera una versión reducida, almacenada en el directorio \ima\media) que sirve para las diapositivas de listas o para una vista previa rápida. Los tamaños de ambas vistas reducidas los establecen los administradores (pulsando modo admin) en: Menú >  Base > Imágenes

Si al subir la imagen, se excede el tamaño Dimensión máxima de Alta resolución, se guarda la original subida en el directorio \ima\original. Esta versión archivada se puede visualizar en el BD con un botón que muestra en una pestaña diferente esa máxima resolución.

Al arrastrar un gráfico nuevo sobre el panel de imágenes de un concepto de clase imagen (sólo se admiten del mismo tipo de archivo), se reemplaza el contenido de la imagen, manteniendo todas las referencias en la BD.

Si la imagen tiene información EXIF que contenga ubicación GPS (aunque tenga EXIF puede que en la cámara se haya bloqueado esta información), al importarla, se crea automáticamente la referencia geográfica.

 

En otros tipos de archivos:

Al hacer clic sobre el concepto, se abre una vista previa del contenido como como si seleccionamos el archivo en un concepto de tipo directorio.

Se admiten vínculos a todo tipo de archivos, pero los únicos visualizables son los que puede visualizar el navegador como texto: TXT, CSV, CSS, JS, JSON. GEOJSON, HTM, los de imágenes o documentos: JPG, GIF, PNG, JPEG, PDF y algunos que visualiza especialmente nuestra aplicación: IGRA (gráficas estadísticas, IGPS (trazados de posiciones geográficas), y BODY (textos ricos html sin estructura de página, sólo con el contenido textual del body, al que se aplican los estilos de la aplicación).

 

Si es un archivo .BODY:

La diferencia de visualización entre un archivo HTM o HTML y uno BODY, es:

 - en páginas web, los estilos están en la página y tiene un visualizador de una altura fijado (si la página es más larga, aparece un control de scroll vertical)

- en textos BODY, los estilos son los mismos de la aplicación, los textos visualizan mejor las tabulaciones, y el visor muestra todo el texto: el único scroll vertical es el de la página de Medea.

En  la zona superior derecha de la persiana de vista previa, para archivos de tipo texto (los primeros enumerados en el párrafo anterior, y la extensión BODY):

El botón Editar, permite a los administradores y expertos de perfil g1, editar en el servidor el propio archivo de texto al que se hace referencia, y al volver a pulsar el botón, dejarlo grabado.

El botón Presenta como texto, muestra en otra pestana el contenido real del archivo de texto (distinto por ejemplo, cuando es un archivo HTML).

Persiana de la vista previa de la imagen

En la cabecera de la persiana, en color azul a la izquierda se muestra en nombre del archivo enlazado (que puede ser distinto que el código del concepto gráfico en BD, en algunos casos) y a su derecha puede tener uno o dos bloques con ancho x alto (tamaño KB o MB). Si hay uno, son los datos de la imagen de alta resolución, si hay otro detrás, son los datos de la imagen original.

A la derecha en la cabecera, están los botones:

· alta / media, que alternan la vista entre ambas resoluciones.
· alta/ original, sólo si se ha reducido la versión en alta, para poder mostrarla
· Presenta en ventana independiente, que abre el archivo de media, alta u original que se esté viendo actualmente
· Descarga, la versión visible actualmente.

Persiana Globales

En la página de la clase, la configuración global la pueden modificar los administradores si están en modo Admin, desde Menú > Configuración > Imágenes

 

Límites de la librería gráfica sharp

La librería gráfica sharp es más potente y rápida en todas las funciones que soporta (por ejemplo, convertir TIF a PNG u otro formato), por esos siempre se utiliza para todas las funciones que se pueda. Donde no alcanza, se utiliza la librería ImageMagic.

Si se intentan procesar archivos mayores que una resolución total de 268 Mpx (valor de defecto de la librería), se devuelve un error y se sigue procesando el resto, por ejemplo esto admite imágenes de  29.000 x 5.000 puntos ó 7.000 x 18.000

En algún caso, estando dentro del tamaño permitido, se muestra un aviso o error de manipulación de archivos debido a la compresión, sub-formatos... se deben procesar estas imágenes  antes de importarlas, con alguna aplicación de edición de imágenes.

Rendimiento y API de utilización: http://sharp.dimens.io/en/stable/performance/

 

Procedimientos con herramientas en ingrid-comun

Menú > Informes y Procedimientos > Procedimientos comunes > Imágenes y gráficas > Chequea imágenes (pro.gra.chequea)

 

Herramientas avanzadas de administradores

Cuando se asocian entre 50.000 y 100.000 archivos externos en una BD y sobre todo cuando es una base documental con archivos de mucho tamaño, como imágenes de 50-100MB o más, se debe seguir en el servidor una estrategia para archivar las imágenes en archivos .zip (ocupan lo mismo, pero son decenas de miles de archivos menos de los qu ehacer copia de seguridad).

El servidor de archivos gestiona los archivos zipeados preferiblemente sin comprimir para facilitar la velocidad de acceso) de forma transparente como si se encontraran en la carpeta de \alta y \media. Basta con poner el mismo nombre al .zip que al directorio que tiene al mismo nivel.