Solicitar clave para leer documentos protegidos

 

IAH Solicitar clave para leer documentos protegidos

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