====== OPACMARC - Guía de instalación (versión 2006.11.13) ======
[[http://inmabb.criba.edu.ar/catalogo/|{{opacmarc-1-500.png|Página principal del catálogo de la Biblioteca del INMABB}}]]
Esta información corresponde a una versión antigua de OpacMarc. Para la versión más reciente, visite http://code.google.com/p/opacmarc/
===== Introducción =====
OPACMARC es, sencillamente, un OPAC que se lleva muy bien con MARC. En otras palabras, es una aplicación que permite publicar en la Web una o más bases bibliográficas en formato MARC 21, y que intenta sacar provecho de gran parte de la información presente en los registros, para así ofrecer a los usuarios de nuestras bibliotecas una buena herramienta de búsqueda.
(En realidad, OPACMARC debiera llamarse de alguna otra manera --no es necesario que aparezcan en el nombre ni //OPAC// ni //MARC//--, pero hasta tanto algo mejor se nos ocurra seguiremos llamándolo así.)
OPACMARC organiza el catálogo en 4 bases de datos: la base **bibliográfica** original y 3 bases que se generan automáticamente a partir de ésta: una base de **nombres** (personas, instituciones, congresos), una base de **temas** (encabezamientos de materias o descriptores), y una base de **títulos**. Es importante tener presente que el OPAC muestra una versión estática del catálogo, por lo tanto es necesario volver a generar las bases en forma periódica, según el ritmo de actualización de los datos originales.
De la base bibliográfica original sólo se requiere que esté formada por registros MARC 21. Puede tratarse de una base CDS/ISIS, en cuyo caso deberá tener la [[estructura_de_las_bases_bibliograficas|estructura que utiliza Catalis]], o bien puede ser un archivo de registros MARC "puros" (''.mrc''). //ATENCION: hay un problema pendiente con la codificación de caracteres en archivos ''.mrc''.//
OPACMARC consta de dos componentes:
- software para ejecutar la aplicación web, es decir el OPAC propiamente dicho.
- software para //actualizar los datos del OPAC//, es decir, para generar --a partir de una base bibliográfica original-- las bases que serán publicadas.
La primera instalación pública de OPACMARC, y que puede tomarse como referencia para testear el funcionamiento del sistema, es la de la [[http://inmabb.criba.edu.ar/catalogo/|Biblioteca Dr. Antonio Monteiro, del Instituto de Matemática de Bahía Blanca]], donde OPACMARC fue desarrollado desde 2003.
===== Requerimientos=====
==== Sistema operativo ====
El OPAC puede instalarse en **Linux** o en **Windows**. Sin embargo, el script de actualización está disponible solamente para Linux, aunque incluye una opción de configuración para convertir las bases generadas de modo que puedan ser usadas en Windows. Este script tiene una [[opac.bat|versión para Windows]] que ha quedado desactualizada, pero afortunadamente Rubén Mansilla se está ocupando de ponerla al día. Actualización (feb 2008): el plan es migrar el script ''update-opac.sh'' al lenguaje Python, y así lograr que funcione independientemente de la plataforma.
==== Software adicional ====
* Software utilizado para el OPAC:
* **Servidor web** (e.g. Apache). En esta guía supondremos que ya se cuenta con un servidor web instalado.
* **wwwxis** (también conocido como **wxis**): se puede [[http://bvsmodelo.bvsalud.org/php/level.php?lang=es&component=28&item=2|descargar desde Bireme]]. OPACMARC ha sido probado con la versión **Estándar (10/30)** de wxis.
* **agrep**: herramienta para encontrar coincidencias aproximadas, utilizada en OPACMARC para generar sugerencias al estilo "did you mean?" de Google. Su instalación es opcional, pero recomendada. Agrep está disponible para Windows en http://www.tgries.de/agrep/. Para Linux, puede compilarse a partir del [[http://freshmeat.net/projects/agrep/|código fuente]], o bien se puede recurrir al administrador de paquetes de la distribución que usen. Por ejemplo, usando Synaptic en Ubuntu Dapper en octubre de 2006 se instala ''agrep_4.17-2_i386.deb''.
* Software utilizado para la actualización de las bases de datos del OPAC:
* **Utilitarios Cisis**: [[http://bvsmodelo.bvsalud.org/php/level.php?lang=es&component=28&item=1|se descargan del sitio de Bireme]]. También debe elegirse la versión **Estándard (10/30)**. //No utilice versiones viejas//. /* ''mx'', ''i2id'', ''id2i'' y ''msrt'' (también ''crunchmf'' y ''crunchif'', si se desea convertir las bases generadas al "formato Windows") */
===== Pasos =====
Vamos a suponer la instalación en una máquina con Linux.
* Descargue OPACMARC. La versión más reciente es: [[http://inmabb.criba.edu.ar/varios/opacmarc/opacmarc-2006.11.13-linux.tgz|2006.11.13]]
* Descomprima el archivo:
tar -xzvf opacmarc-2006.11.13-linux.tgz
* Dentro de la carpeta ''opacmarc-2006.11.13'' encontrará 4 carpetas, que deberá copiar de esta manera:
* ''htdocs'', ''bases'' y ''cgi-bin'' son las carpetas asociadas al servidor web, que deben recibir el mismo tratamiento que en la [[http://inmabb.criba.edu.ar/catalis/instalacion/guia-instalacion.html#instalar|instalación de Catalis]] (lea ''opacmarc'' donde dice ''catalis_pack'').
* ''opacmarc-admin'' es la carpeta usada para generar las actualizaciones de las bases del OPAC; como no tiene relación con el servidor web, esta carpeta puede ubicarse en cualquier parte, incluso en otra máquina.
* Copie el archivo ''wxis'' en la carpeta ''cgi-bin/opacmarc''. Si tiene el archivo de licencia ''wxis.lic'', también cópielo en esa carpeta. //Alternativamente//, si prefiere tener estos archivos en otra ubicación, puede crear links simbólicos:
cd /ruta/a/cgi-bin/opacmarc
ln -s /ruta/a/wxis
ln -s /ruta/a/wxis.lic
* Archivos de configuración:
* Para el OPAC: las opciones de configuración están definidas en el archivo ''cgi-bin/opacmarc/opac/config/opacmarc.conf''. Para facilitar la instalación de futuras actualizaciones de OPACMARC, se recomienda **no modificar** este archivo; todas las opciones de configuración locales (es decir, aquellas que difieran de los valores predeterminados en ''opacmarc.conf'') se deben colocar en el archivo ''cgi-bin/opacmarc/opac/config/local.conf''. Mantenga el archivo ''local.conf'' lo más chico posible; //sólo incluya en él los parámetros de configuración que necesite redefinir//.
* Para el proceso de actualización de bases de datos: edite el archivo ''opacmarc-admin/conf.sh''. Preste atención especialmente a las siguientes opciones:
* ''OPACMARC_DIR'': la ruta absoluta del directorio ''opacmarc-admin''.
* ''PATH'': sólo si el directorio de los utilitarios Cisis no se encuentra ya en el PATH.
* ''TARGET_DIR'' y ''MOVE'': si desea que los archivos generados sean movidos a otra carpeta donde el servidor web pueda verlos.
* ''CONVERT_WINDOWS'': si desea utilizar las bases en un servidor con Windows.
* Permisos:
* La carpeta ''bases/opacmarc/opac/access_logs'' necesita permiso de escritura para el usuario del servidor web (según la distribución de Linux, este usuario puede llamarse apache, www-data,... ¿algún otro?).
* El script ''update-opac.sh'' debe ser ejecutable.
* Los binarios ''wxis'' y ''agrep'' deben ser ejecutables.
* Test de WXIS: Acceda a http://127.0.0.1/cgi-bin/opacmarc/wxis?hello (véase la [[http://inmabb.criba.edu.ar/catalis/instalacion/guia-instalacion.html#probar|prueba de la instalación de Catalis]]).
* Test del OPAC: Acceda a http://127.0.0.1/cgi-bin/opacmarc/wxis?IsisScript=opac/xis/opac.xis&db=demo
==== TO-DO ====
Explicar cómo proceder en caso de una **actualización** de OPACMARC.
/* ////////////////////////////////////////////////////////////////////////////
* Acceder a http://127.0.0.1/opacmarc/opac/inicio.htm
ATENCION: podemos hacer que la página de inicio se genere dinámicamente:
http://127.0.0.1/cgi-bin/opacmarc/wxis?IsisScript=opac/xis/opac.xis&db=demo&task=test
* Tests (desde esa página de inicio, usando la base de muestra):
* agrep
* opac features (dependen de que tengamos una base de muestra adecuada)
- búsquedas por palabras, truncamiento a derecha
- navegación por los índices
- uso de indicadores para ordenar títulos
- indización de variantes de título, títulos uniformes
- limpieza de expresiones de búsqueda
- generación de sugerencias y corrección de errores
- relación entre "obras de" y "obras acerca de"
- estilos de visualización para registros bibliográficos
- Enlaces internos para navegar entre registros relacionados
- Reordenamiento de resultados por fecha, autor/título, ubicación
- Hoja de estilo para impresión
- Logs de acceso
- Record collocation? Hacer un demo con obras literarias
////////////////////////////////////////////////////////////////////////// */
===== Cómo mostrar en el OPAC una nueva base bibliográfica =====
Una vez testeada exitosamente la base ''demo'', llega el momento de colocar en el OPAC nuestra propia base. Supondremos que la base se llama ''mibase''.
==== Base de origen ====
/*Representar un conjunto de registros MARC 21 en una base CDS/ISIS requiere que se adopten ciertas convenciones, especialmente en cuanto a la manera de almacenar los datos de la cabecera y algunos elementos (indicadores, campos de control) cuyo valor es un espacio en blanco. OPACMARC utiliza las convenciones propias de Catalis (link a CatalisWiki, Estructura de las bases bibliográficas). Por lo tanto, si se desea usar como base de origen */
/* * Caso A. Una base de Catalis
* Caso B. Un archivo .mrc [PENDIENTE: cambio de codificación (MARC-8, UTF-8)]
* Caso C. Una base de IsisMarc [PENDIENTE. Ver lo hecho con la base ARTES de Cuyo]
* Caso D. Una base de Aguapey [PENDIENTE. Ver lo hecho en el CEMS]
(Agregar detalles)*/
Si la base bibliográfica original es una base CDS/ISIS, solamente se requiere el archivo maestro, que puede estar en cualquiera de estos formatos:
* archivos ''biblio.mst'' y ''biblio.xrf''
* archivo ''mibase.zip'' o ''biblio.zip'', que contiene ''biblio.mst'' y ''biblio.xrf''
* archivo ''mibase.iso'' o ''biblio.iso''
* archivo ''mibase.id'' o ''biblio.id'', generado con ''i2id''
Téngase en cuenta que se utiliza aquí la convención propia de Catalis, donde lo que llamamos "nombre de la base" es en realidad el nombre de la carpeta que contiene a la base, y todos los archivos maestros se llaman ''biblio''.
ATENCION: si la base CDS/ISIS original proviene de Windows, previamente debe ser convertida al formato de Linux utilizando ''crunchmf'' (en Windows).
También puede utilizarse una base compuesta por registros MARC en formato ISO 2709, en ese caso el archivo deberá llamarse ''mibase.mrc''.
==== Archivos en el servidor ====
En ''bases/opacmarc/opac'' debe crear una carpeta ''mibase''.
En ''cgi-bin/opacmarc/opac'' hay tres carpetas con archivos que son específicos de cada base de datos: ''banner'', ''about'', ''home''. Mire los que se incluyen de muestra, y cree archivos similares para sus propias bases: ''banner/mibase.htm'', ''about/mibase.htm'', ''home/mibase.htm''.
==== Generación de las bases para el OPAC ====
* Copie la base original a la carpeta ''opacmarc-admin/work/mibase/original'' (inicialmente deberá crear las carpetas ''mibase'' y ''original'').
* Si es necesario edite el archivo ''opacmarc-admin/conf.sh''.
* Ubíquese en el directorio ''opacmarc-admin/bin'' y ejecute el script de actualización:
./update-opac.sh mibase
Se sugiere hacer las primeras pruebas con una base pequeña, o bien limitar el número de registros procesados, usando un segundo argumento para ''update-opac.sh'', como en este ejemplo:
./update-opac.sh mibase 200
Los archivos que se utilizan en el OPAC, es decir aquellos que deben llevarse a ''bases/opacmarc/opac/mibase'' en el servidor, son los que quedan en ''opacmarc-admin/work/mibase/'' luego de la ejecución de ''update-opac.sh'' (excluyendo las carpetas ''tmp'' y ''windows'').
Si en ''conf.sh'' no se indicó ''MOVE=1'', será necesario copiar o mover esos archivos a ''bases/opacmarc/opac/mibase''.
Para ver la nueva base en el OPAC, acceda a ''http://127.0.0.1/cgi-bin/opacmarc/wxis?IsisScript=opac/xis/opac.xis&db=mibase'', cambiando 127.0.0.1 por el nombre que corresponda a su servidor si el testeo no lo realiza en forma local.
NOTA: desde una misma instalación de OPACMARC es posible brindar acceso a múltiples bases, repitiendo el proceso descripto arriba para cada una de ellas.
==== Imágenes de portadas ====
OPACMARC permite asociar a registro bibliográfico una imagen --que usualmente corresponderá a la cubierta o portada del documento-- para ser visualiada en el estilo "completo" y en el listado de novedades.
No nos ocuparemos aquí de la forma de obtención de dichas imágenes. Lo que nos interesa es que los archivos (jpg, gif, png)
Si sus registros incluyen las imágenes de las tapas, proceda de la siguiente forma:
1) Cree un directorio para ubicar las imágenes:
htdocs/opacmarc/opac/img/mibase/
nótese que el directorio debe tener el mismo nombre de la base a crear
2) Si es necesario, cuando configure el archivo opacmarc-admin/conf.sh para sus necesidades locales, revise la línea que corresponde a la ruta de las imágenes y modifíquela de acuerdo a la ubicación que éstas tienen en su servidor.
DIR_IMG=/opacmarc/opac/img
3) Las imágenes deben tener como nombre el número de registro al cual corresponden, que se aloja en el campo 001 del registro en cuestión:
000234.jpg
000023.gif
4) Es conveniente uniformar el tamaño de todas las imágenes.
===== Apéndice: Salida de update-opac.sh =====
Ésta es la salida generada por ''update-opac.sh'' cuando se corre sobre la base ''demo'':
fer@fgomez03:~/opacmarc-admin/bin$ ./update-opac.sh demo
-----------------------------------------------------
update-opac.sh - SCRIPT DE ACTUALIZACION DEL OPAC
-----------------------------------------------------
Usando como base original: /home/fer/opacmarc-admin/work/demo/original/demo.zip
No hay directorio de imagenes
Creamos una copia (texto) de la base bibliografica...
+++ 100/100 recs
Intentamos normalizar la puntuacion final, filtramos encabezamientos
tematicos, y asignamos un numero (provisorio) a cada campo
de encabezamientos en el subcampo ^9...
-----------------------------------------------------
Base de encabezamientos tematicos
-----------------------------------------------------
Creamos el listado de encabezamientos tematicos...
Convertimos el listado en una base (desordenada y con duplicados)...
+++ 337/337 recs
Regularizamos la puntuacion final de los encabezamientos generados...
Almacenamos en un campo auxiliar la clave de ordenacion...
Ordenamos la base de encabezamientos tematicos...
Generamos la tabla para mapear los numeros de encabezamientos...
Eliminamos los encabezamientos duplicados...
Creamos la base de encabezamientos tematicos (ordenada y sin duplicados)...
+++ 279/279 recs
-----------------------------------------------------
Base de encabezamientos de nombres
-----------------------------------------------------
Creamos el listado de encabezamientos de nombres...
Convertimos el listado en una base (desordenada y con duplicados)...
+++ 224/224 recs
Regularizamos la puntuacion final de los encabezamientos generados...
Almacenamos en un campo auxiliar la clave de ordenacion...
Ordenamos la base de encabezamientos de nombres...
Generamos la tabla para mapear los numeros de encabezamientos...
Eliminamos los encabezamientos duplicados...
Creamos base de encabezamientos de nombres (ordenada y sin duplicados)...
+++ 198/198 recs
Reasignamos numeros a los encabezamientos en los registros
bibliograficos (subcampo 9)...
-----------------------------------------------------
Base de titulos
-----------------------------------------------------
Creamos listado de titulos...
Convertimos el listado en una base (desordenada y con duplicados)...
+++ 156/156 recs
Almacenamos en un campo auxiliar (99) la clave de ordenacion de titulos.
Ordenamos la base de titulos.
Eliminamos los titulos duplicados.
Creamos la base de titulos (ordenada y sin duplicados).
+++ 156/156 recs
Recreamos la base bibliografica.
+++ 100/100 recs
Ordenamos la base bibliografica.
Archivo invertido - Base de temas...
+++ 1220+632 links
+++ data base: subj
+++ .lk1 file: subj.lk1
+++ .lk2 file: subj.lk2
+++ subj.lk1
+++ subj.lk2
+++ 280/279
Archivo invertido - Base de nombres...
+++ 779+443 links
+++ data base: name
+++ .lk1 file: name.lk1
+++ .lk2 file: name.lk2
+++ name.lk1
+++ name.lk2
+++ 199/198
Archivo invertido - Base de titulos...
+++ 1+155 links
+++ data base: title
+++ .lk1 file: title.lk1
+++ .lk2 file: title.lk2
+++ title.lk1
+++ title.lk2
+++ 157/156
Archivo invertido - Base bibliografica...
+++ 8455+2210 links
+++ data base: biblio
+++ .lk1 file: biblio.lk1
+++ .lk2 file: biblio.lk2
+++ biblio.lk1
+++ 5000 MEDIA
+++ biblio.lk2
+++ 101/100
Detectando registros analíticos...
Títulos de seriadas...
Asignamos postings a los terminos del indice de temas.
Asignamos postings a los terminos del indice de nombres.
Generamos diccionarios para AGREP.
- subj
- name
- title (incluye series)
- any
Lista de codigos de idioma.
Lista de codigos de bibliotecas.
Fechas extremas.
BIBLIOGRAPHIC_TOTAL=100
NAME_TOTAL=198
SUBJ_TOTAL=279
TITLE_TOTAL=156
ITEMS_TOTAL=0
Listado de novedades.
Fecha de esta actualizacion.
Eliminando archivos temporales...
Moviendo los archivos generados...
update-opac.sh finalizó exitosamente. Hasta pronto.
/*
===== QUÉ FALTA=====
* completar este documento
* generar una buena base de muestra
* verificar que inicio.htm sirva (por los paths)
* copiar todos los archivos a catalis/distribuciones (y hacer un script que se ocupe de eso)
* leer catalis/distribuciones/LEAME
* revisar codificación de los archivos de texto (UTF-8, etc)
*/
{{tag>opacmarc admin}}