Presentar en una ventana un registro relacionado con la base de datos activa

From ABCD Wiki
Jump to: navigation, search

Decribimos a continuación el procedimiento para desde la presentación de un registro de la base de datos activa activa, abrir una ventana y presentar información relacionada contenida en otra base de datos

Desde el módulo de catalogación de ABCD

Para explicar la construcción de este formato, supongamos que tenemos un base de datos biblográfica llamada biblo y un base de datos de control de autoridades, que denominaremos autores, para los autores del campo 16 de la base de datos bibliográfica.

Lo que se quiere es presentar un registro bibliográfico y si el autor está descrito en la base autores presentar un enlace que permita ir a la base de datos autor y traer la ficha de autoridad del autor:

Presentación del registro bibliográfico:

Registro de la base de datos bibliográfica

Como puede observarse, al lado del nombre del autor se muestra un enlace ( Enlazar con el archivo de autoridades) cuyo objetivo es vincular el autor con el registro de la base de datos de autoridades. Al hacer clic sobre el enlace se muestra la información del autor extraída de la base de datos autores:

Ficha con la información del archivo de autoridades

Para habilitar esta opción en el módulo central de ABCD necesitamos:

1. Agregar al formato prologoact.pft localizado en la carpeta www de la carpet de bases de datos, el siguiente javascript:

'<script>
   function Autoridad(Termino,base,Formato){
     Expresion=Termino.replace(" ","+")
     url="http://localhost:9090/central/dataentry/show.php?base="+base+"&cipar="+base+".par&Expresion="+Termino+"&Formato="+Formato+"&from=1&to=1"
     msgaut=window.open(url,"Autoridades","width=900, height=300, scrollbars, resizable")
     msgaut.focus()
   }
 </script>'/

Esta función debe recibir tres parámetros desde el formato de presentación del registro de la base de datos bibliográfica:

Termino Corresponde al término de búsqueda, incluyendo el prefijo, a aplicar sobre la base de datos relacionada, en este caso autores
base Nombre de la base de datos con la cual se desea establecer la relación (en este caso autores)
Formato Nombre del formato (si la extensión .pft) que se va a utilizar para presentar el registro desde la base de datos relacionada (en este caso autores)


En el formato de presentación del registro bibliográfico, incluya las siguientes sentencias antes o después del lugar donde se presenta cada autore, utilizando las reglas del lenguaje de formateo:

  
   if npost(['cataut']'AU_'v16^*)>0 then 
      `<a href='javascript:Autoridad("AU_`v16^*`","cataut","cataut")'>
       <img src=http://localhost:9090/central/dataentry/img/ficha.png title=Autoridad alt=Autoridad></a>` 
   fi 

Note el uso de la comilla ` para poder expresar correctamente en lenguaje HTML el enlace con la base relacionada.

En esta construcción del lenguaje de formateo

  • Se averigua si el autor está descrito en la base de autoridades
   if npost(['autores']'AU_'v16^*)>0
  • Si está descrito, se construye el llamado a la funcíón Autoridades pasandole el nombre del autor precedido por el prefijo como está indizado en la base autores, el nombre de la base de datos de autoridades y el nombre del formato que se utilizará para presentar el registro localizado
   `<a href='javascript:Autoridad("AU_`v16^*`","autores","autores")'>
  • Se construye la imagen a utilizar para presentar el vínculo:
   <img src=http://localhost:9090/central/dataentry/img/ficha.png title=Autoridad alt=Autoridad>

Note que se utiliza el url completo de la imagen lo cual quiere decir que se puede utilizar cualquier imagen localizada en la carpeta htdocs del servidor web.

  • Se cierra la información del vínculo y de la condicion if abierta al inicio
    </a>`
     fi

Ponga atención en la combinación de las comillas y apóstrofes (` ' ") para evitar errores de sintaxis

En el archivo .par de la base de datos bibliográfica, o en el archivo syspar.par debe estar la ruta de acceso hacia la base de datos vinculada (autores en este ejemplo)


Desde la presentación de los resultados de la consulta en el iAH

  • Incluya en el formato de presentación de los resultados del iAH los mismos cambios ya explicados para el módulo de catalogación de ABCD
  • Incluya en el archivo /iah/scripts/[lenguaje]/ahhead.pft el javascript Autoridades eliminando los apóstrofes que circundan las sentencias:
<script>
   function Autoridad(Termino,base,Formato){
     Expresion=Termino.replace(" ","+")
     url="http://localhost:9091/central/dataentry/show.php?base="+base+"&cipar="+base+".par&Expresion="+Termino+"&Formato="+Formato+"&from=1&to=1&lang=es&vienede=iAH"
     msgaut=window.open(url,"Autoridades","width=980, height=300, scrollbars, resizable")
     msgaut.focus()
   }
 </script>

Como puede ver se han quitado los apóstrofes que circundan <script> ....</script> ya que el formato ahhead.pft los provee de otra forma

  • Incluya en el archivo .def de la base de datos bibliográfica la referencia hacia la base de datos relacionada (autores en este ejemplo)
    FILE autores.*=%path_database%autores/data/autores.*

Esto es necesario ya que desde el formato de la base de datos bibliográfica se hace referencia a la base de datos autores a través del comando nposts