IAH Solicitar clave para leer documentos protegidos

From ABCD Wiki
Revision as of 10:47, 20 May 2014 by Guilda (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Esta opción le permite proteger el enlace al texto completo de algunos documentos para que sólo puedan ser consultados desde el iAH por usuarios autorizados. Para ello, en el formato de despliegue del registro debe incluirse la logica necesaria para que, en el caso de que el documento a texto completo requiera una clave para ser presentado, se invoque el script ver_documento.php que se encargará de pedir la clave del usuario, enviarla al script ver_documento.php donde se validará la clave contra la base de datos users y si es encontrada se presentará una página con el vínculo al texto completo del documento solicitado, el cual se presentará a través del script download.php.

Para ello necesita:

  • Tener instalada la carpeta central/iah con los script que intervienen en el proceso:
ver_documento.php se invoca desde la forma que presenta el documento en el iAH. Recibe el mfn del registro, el nombre de la base de datos que contiene el documento, el número de ocurrencia y el lenguaje activo. Este script dibuja la forma para solicitar la clave al usuario
ver_documento_ex.php Recibe el código del usuario y lo valida contra la base de datos users. Si es válido presenta la forma con enlace que permitirá la lectura del documento
download.php Abre el documento y lo presenta la usuario
  • Colocar algún campo en la base de datos donde se indique si el requiere clave para acceder al texto completo del documento
  • Agregar a la base de datos de usuarios (users) las personas que tienen acceso a los documentos protegidos. Proporcionarles una palabra clave.
  • Modificar el formato ahhead.pft y ahfoot.pft en la carpeta htdocs/iah/scripts/es/ agregando los siguientes comandos:
  '<!-- función agregada para acceder a los documentos protegidos -->
   <script>
   function VerDocumento(Mfn,Base,Lang,Occ){
       msgwin=window.open("","VERDOCUMENTO","width=500,height=300,resizable")
       msgwin.focus()
       document.verdocumento.mfn.value=Mfn
       document.verdocumento.lang.value=Lang
       document.verdocumento.occ.value=Occ
       document.verdocumento.base.value=Base
       document.verdocumento.submit()
   }
   </script>
   '
Note que todo el javascript está encerrado entre ' (apóstrofe o comilla simple)
  • Colocar al final del formato ahfoot.pft en la carpeta htdocs/iah/scripts/es/ los siguientes comandos:
   '<!-- Esta forma se envía para solicitar la clave para ver un documento -->
     <form name=verdocumento action="http://localhost:9090/central/iah/ver_documento.php" method=post target="VERDOCUMENTO">
       <input type=hidden name=mfn>
       <input type=hidden name=lang>
       <input type=hidden name=occ>
       <input type=hidden name=base>
     </form>'
     
Note que la definición de la forma está encerrada entre ' (apóstrofe o comilla simple)
http://localhost:9090 debe sustituirse por el url actual del servidor donde está instalado ABCD
  • Modificar el formato de presentación de los registros para colocar la lógica para solicitar la clave en los documentos protegidos
   Ejm:
    (`<a href="javascript:onClick=VerDocumento('`mfn`','dbn','`v5021[1]`',`f(iocc,1,0)`)">Ver el documento</a>
      <font size="1">(tamaño: `v856^s` bytes)</font>` if iocc<>nocc(v856) then '<br>' fi)
en este formato se envia el:
   mfn del registro que se está procesando,
   nombre de la bae de datos (dbn), 
   código del lenguaje activo v5021[1]
   numero de ocurrencia f(iocc,1,0) del enlace que se está presentando
Esta información la recibe el script central/iah/ver_documento.php que se invoca en el action de la forma insertada en el formato ahfoot.pft descrito anteriormente.
  • Crear en la carpeta central/iah el archivo dbn.tab donde dbn es el nombre de la base de datos catalográfica. Este archivo tiene los siguientes parámetros:
DB_PATH Ruta absoluta donde se encuentran la base de datos respectiva con el nombre del documento a desplegar
USER_SEARCH Prefijo para localizar el código de usuario
USER_DISPLAY Pft para desplegar el nombre del usuario
DOCUMENT_DISPLAY Pft para desplegar una pequeña referencia del documento seleccionado
DOCUMENT_NAME Pft para extraer el nombre del archivo que se va a mostrar
HTTP_ACCESS Si los documentos digitales están en la raíz del servidor, indica el URL a colocar previo al nombre, para poder leer el documento
FILE_ACCESS Si el documento se encuentra fuera de la raíz del servidor, especifica la ruta a agregar antes del nombre del documento para poder leerlo
Ejemplo del archivo de configuración marc.tab para restringir el acceso a los documentos localizados en el campo 856^u de la base de datos marc
      
       ;Ruta hacia la carpeta donde está la base de datos
       DB_PATH:/ABCD/www/bases/
       ;Prefijo para localizar el código del usuario
       USER_SEARCH: CO_               
       ;Pft para desplegar el nombre del usuario  
       USER_DISPLAY: v30
       ;Pft para desplegar una pequeña descripción del documento que se desea descargar
       DOCUMENT_DISPLAY: '<font face="arial" size="2" color="maroon">Título:  <font color=black>' v245
       ;Pft para extraer el nombre del archivo asociado con el documento
       DOCUMENT_NAME: (v856^u/)
       ;url para presentar la descarga del documento
       HTTP_ACCESS: http://localhost:9090/bases/marc/  
       ;o ruta para leer el documento y presentarlo (si el parámetro HTTP_ACCESS no está presente 
       FILE_ACCESS: /abcd/www/bases/marc/ 
Note que HTTP_ACCES y FILE_ACCESS son excluyentes ya que los documentos digitales pueden estar localizador o en la raíz del servidor WEB o fuera de la raíz del servidor Web. Para mayor información acerca de este tópico vea Asociar documentos digitales a los registros