| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Vincular documentos digitales

Page history last edited by Guilda Ascencio 11 years, 7 months ago

Los documentos digitales asociados a registros deben estar alojados en el servidor bajo una estructura que garantice tanto su acceso y presentación en los procesos de recuperación de información, como su portabilidad.

Desde el punto de vista de la recuperación de información, el acceso a los documentos digitales se realiza a través de un URL, el cual debe contener la identificación del servidor donde se encuentran alojados los documentos más la ruta a la carpeta del servidor donde se encuentran guardados. En este URL podemos distinguir tres componentes:

 

 

La ruta relativa corresponde a la ubicación del recurso en el servidor. Esta ruta puede cambiar dependiendo de la instalación realizada en cada servidor.

La ruta absoluta corresponde a la instalación del recurso dentro de ABCD, de tal manera que los recursos asignados puedan ser localizados independientemente de la forma como esté instalado el sistema en el servidor, lo cual hace al sistema portable.

El nombre del archivo identifica plenamente al recurso digital. Se recomienda utilizarlo en minúsculas, sin espacios, acentos o caracteres especiales a fin de asegurar su transportabilidad entre diferentes sistemas operativos.

 

El almacenamiento de los documentos digitales puede realizarse:

  1. En una carpeta colocada en la raíz del servidor: directorio htdocs (linux - apache) o wwwroot (windows - IIS)
  2. En una carpeta colocada fuera de la raíz del servidor

 

El acceso via http a los documentos digirales variará, de acuerdo al lugar elegido para el almacenamiento de los mismos:

 

Almacenamiento de los documentos digitales en la raíz del servidor

 Al estar en la raíz del servidor, los documentos digitales pueden ser referidos directamente a través del protocolo http, suministrando la dirección donde se encuentran localizados. En este caso, se debe crear una carpeta (ejm. bases) en la raíz del servidor (/abcd/www/htdocs en la instalación estándard de ABCD), y a partir de esa carpeta crear una estructura de sub-carpetas de forma de alojar organizadamente todos los documentos digitales de las bases de datos:

 

 

En el archivo de configuracion del Apache (/ABCD/apache2.2/conf/httpd.conf), en la instalación típica de ABCD, se establece que la raíz del servidor se encuentra bajo la ruta /ABCD/www/htdocs, por lo tanto, al escribir: http://localhost:9090 apuntamos directamente a esa carpeta.

Si para colocar nuestros documentos digitales abrimos una carpeta, por ejemplo bases en la raíz del servidor , podemos direccionar los archivos digitales ahí contenidos, en la forma: http://localhost:9090/bases/imagen.png,

 

Para darle una mejor organización al almacenamiento de los objetos digitales, podemos subdividir la carpeta bases, creando una subcarpeta para cada base de datos (por ejemplo: biblo), y al interior de esta última podemos crear subcarpetas por tipo de recurso, o cualquier otra clasificación que nos ayude a organizar nuestros documentos.

Al estructurar el almacenamiento de los documentos digitales hay que tomar en cuenta que mientras más archivos existan en una carpeta, mayor será el tiempo necesario para recuperar un  archivo en particular para presentarlo en la página. Por ello, si nuestra base de datos va a tener asociados muchos documentos digitales conviene estructurar las subcarpetas, por ejemplo, por rango de MFN's para asegurarnos una distribución racional y equitativa de todos los archivos digitales

 

 

Almacenamiento de los documentos digitales fuera de la raíz del servidor

El altamente recomendable colocar la carpeta de las bases de datos y sus recursos asociados en una carpeta fuera de la raíz del servidor.

 

En este caso hemos colocado todas las bases de datos y otros recursos necesarios a ABCD, en la carpeta e:/bases_abcd (la instalación típica de ABCD contempla la carpeta /abcd/www/bases para estos efectos).

Como bases_abcd no se encuentra en la raíz del servidor, los archivos y recursos en su interior no pueden ser localizados directamente con el protocolo http.

Para acceder a los archivos digitales en el caso en que estén alojados fuera de la raíz del servidor, ABCD provee un script denominado show_image.php, el cual recibe como entrada el nombre de la base de datos y el nombre del archivo a desplegar y con esta información lee el archivo digital y envía su contenido a la página.

Para que este procedimiento funcione correctamente, la carpeta que aloja las bases de datos, tendrá una subcarpeta para cada una de ellas y dentro de estas subcarpetas existirá una carpeta para el alojamiento de los documentos digitales (Ejm: /bases_abcd/biblo/images).

Sin embargo, para una mayor flexibilidad y compatibilidad con sistemas ya configurados, la carpeta con los objetos digitales puede estar localizada en cualquier parte. Por ello debe existir en la carpeta de la base de datos (/bases_abcd/biblo) un archivo denominado dr_path.def donde se le indicará a ABCD la ruta real donde se encuentran almacenados los documentos digitales de la base de datos, en la forma: ROOT=e:/bases_abcd/biblo/dr/donde el valor colocado en rojo corresponde al direccionamiento hacia la carpeta donde están localizados los documentos.

 

Cómo asociar documentos digitales a un registro

El proceso requiere:

  1. Almacenar el documento en el servidor
  2. Almacenar en el registro el nombre y la ruta absoluta del documento

Se puede asociar a un registro cualquier tipo de documento digital que pueda ser manejado luego por el browser: páginas html, imágenes, sonidos, videos, flash,  .pdf, .doc, etc.

 

Se requiere definir una carpeta para almacenar los documentos digitales la cual puede estar localizada:  

  • En la carpeta bases (externa a la raíz del servidor)  
  • En la carpeta htdocs (bajo la raíz del servidor)
  •  En cualquier otra carpeta que determine el usuario  

Para lograr esta versatilidad, es necesario crear en la carpeta donde está alojada la  base de datos (ejm: /abcd/www/bases/biblo), un archivo denominado dr_path.def donde se coloca la ruta que apunta hacia la carpeta bajo la cual se van a almacenar los documentos de la base de datos activa, de acuerdo al siguiente formato: ROOT=ruta_a_la_carpeta_de_documentos_digitales/

Ejm:  ROOT=/bases/biblo/dr/ 
        ROOT=/abcd/www/htdocs/bases/biblo/

En el primer caso los documentos digitales se almacenan fuera de la raiz del servidor en la carpeta de las bases de datos (bases). En el segundo caso los documentos digitales se almacenan en una carpeta localizada en la raiz del servidor (bases/)  

Si el archivo dr_path.def no está presente en la carpeta de la base de datos, se asume que el directorio raíz de las imágenes es:   Raíz del servidor/bases/Nombre de la base de datos/

                        Ejm: /ABCD/www/htdocs/bases/biblo/

 

Creación del formulario de ingreso para vincular documentos digitales:

ABCD permite definir en la FDT un tipo de campo especial – subir archivo – (upload) que facilita el proceso de subir los archivos al servidor o de seleccionar del servidor  archivos ya existentes, para asociarlos a registros. Opcionalmente a este campo se le puede agregar un sub-campo para almacenar la descripción del objeto subido de forma tal que en el formato de salida se haga el enlace utilizando esa descripción y no el nombre del archivo

Cuando en una hoja de entrada se define este tipo de campo, ABCD inserta dos enlaces con los cuales puede:

Subir archivos al servidor

   Seleccionar archivos del servidor

 

Subir archivos al servidor

Se presenta la siguiente hoja de entrada:


Use el vínculo Explorar para localizar, en el servidor, la carpeta donde será almacenado el archivo. La exploración se inicia a partir de la carpeta indicada bajo el parámetro ROOT del archivo dr_path.def. La ruta de la carpeta seleccionada se colocará en el recuadro Guardar en.

Nótese que no se copia la ruta de la carpeta completa, sino unicamente la porción que continúa a la ruta especificada en el archivo de configuración dr_path.def (ruta absoluta).  La ruta completa se provee en el  formato de despliegue cuando se construye el URL del documento. Esto con el fin de asegurar la portabilidad de las carpetas, ya que al ser transferidas a otro servidor, si se mantiene la estructura de sub-carpetas, solo será necesario modificar el archivo dr_path.def y el formato de despliegue.

Haga a continuación clic sobre el botón Browse para localizar en el disco local el documento que desea subir al servidor.   Luego de localizado, puede llenar la casilla descripción y si ha definido un subcampo en la FDT se insertará el nombre del archivo como primer subcampo y la descripción como segundo subcampo. haga clic sobre Subir archivo para almacenar el archivo seleccionado en el servidor, bajo la ruta especificada.

Nota importante: el tamaño máximo de un archivo que se puede subir por este método esta especificado en el parámetro upload_max_filesize del archivo de configuración del PHP (php.ini).

Una vez subido el archivo, ABCD transfiere directamente a la hoja de entrada sus datos de localización  a fin de que quede vinculado con el registro.

 

Vincular a los registros archivos ya localizados en el servidor

En algunas oportunidades, los documentos a vincular son enviados al servidor mediante procedimientos de copia, FTP, etc Si este fuera el caso, entonces se necesita explorar la carpeta donde los mismos están almacenados para proceder a su vinculación con los registros.

Siga las instrucciones detalladas en el procedimiento de exploración haciendo clic sobre para seleccionar y vincular los documentos.

Al igual que en el caso anterior, no se copia la ruta completa hacia el archivo , sino la porción que continúa a la ruta especificada en el archivo de configuración dr_path.def.  La ruta completa se provee en el  formato de despliegue cuando se construye el URL del documento.

Una vez seleccionado el archivo, ABCD transfiere directamente a la hoja de entrada sus datos de localización  a fin de vincularlo con el registro

 

Presentación de los documentos vinculados, utilizando los formatos de salida

El URL a suministrar para presentar los documentos vinculados depende del lugar donde se hayan almacenado los mismos.

 

CASO A: Presentación de documentos vinculados alojados en la raíz del servidor

 

Si el directorio de almacenamiento está ubicado en la raiz del servidor, el URL se construye con los siguiente elementos:

  • url del servidor
  • Nombre de la carpeta donde están almacenadas las imágenes, tomada a partir de la raíz del servidor
  • Etiqueta del campo donde está almacenada la referencia al documento

 

Ejm: http://localhost:9090/bases/biblo/v800

Es decir, se puede acceder directamente a la imagen, suministrando su URL.


CASO B: Presentación de documentos vinculados alojados fuera de la raíz del servidor

 

Si el directorio de almacenamiento está ubicado fuera de la raiz del servidor, la imagen no puede ser leída a través de un URL por cuanto el servidor WEB (Apache, IIS, etc.) impide el acceso a archivos y carpetas localizadas fuera de la raíz del servidor

Para estos efectos, ABCD dispone de un script denominado show_image.php, localizado en htdocs/central/common, el cual lee la imagen como si fuera un archivo local y se encarga de transferirla  a la página correspondiente

show_image.php requiere dos parámetros:
base     donde se envía el nombre de la base de datos a la cual está
            vinculada el documento
image  donde se envía el nombre del documento que se desea localizar
           (tomado del campo de la base de datos donde se encuentra almacenado)

La información de la ruta absoluta al documento la complementa ABCD al momento de despliegue leyendo el archivo dr_path.def.  Por lo tanto, para desplegar un documento que no está localizado en la raíz del servidor se construye el siguiente URL:

http://localhost:9090/central/common/show_image.php?base=XXXℑ=YYY

Donde:
XXX = nombre de la base de datos activa
YYY = contenido del campo donde está almacenado el nombre del documento

Ejm: "http://localhost:9090/central/common/show_image.php?base=bibloℑ="v800

 

Ejemplo de la sintaxis a aplicar en un formato para presentar documentos digitales:

 

 

Para presentar las imágenes cuando no están en la raíz del servidor:


(if p(v800) then                                                                       
 '<a href=http://localhost:9090/central/common/show_image.php?base=bibloℑ='v800^*'
    target=top>'/                                                                      
    if p(v800^d) then v800^d else v800^* fi                                            
  '</a><br>'                                                                           
fi/)/                                                                                  

 

Note que en este ejemplo se ha definido con dos subcampos el campo que almacena la imagen. En el primer subcampo se coloca el nombre del archivo y en el segundo subcampo se coloca la descripción del mismo, de forma tal que en formato de despliegue se muestra este último subcampo.

Comments (0)

You don't have permission to comment on this page.