Archive for May, 2011

Migración a 3.4: surgen problemas con registros

May 31st, 2011

Iniciando la planificación de la migración a Koha 3.4.1, nos topamos con que muchos registros contienen errores de codificación heredados de la migración inicial desde formatos muy diversos. Estos problemas pueden estar siendo arrastrados por décadas en las bases de datos, pero ahora que koha necesita eliminar los items de dentro de los registros MARC, al recorrer todo el catálogo estos problemas se convierten en un verdadero obstáculo para la actualización.

Para encarar una solución, analizamos las herramientas disponibles para chequear registros MARC21 en linea de comandos. Las soluciones usuales son MARC::Lint, y yaz-marcdump. Ambas son útiles en distinta medida, pero finalmente Koha tiene un tratamiento de los registros tan específico que fue necesario buscar en los scripts de koha las zonas donde suelen surgir los problemas y tratar de emular dicho funcionamiento.

Escribí entonces un script que llama a las funciones mas usuales que dan lugar a fallas graves por caracteres invalidos y otras yerbas.

Identificadas dichas operaciones problematicas, las invocamos dentro de un bloque try-catch para poder reportar el error. Con eso deberia bastar para generar una lista de biblionumbers a revisar antes de hacer un upgrade a 3.4 o cualquier otro tipo de chequeo de rutina que querramos hacer de la calidad de los registros que se van generando.

La sintaxis para usar el script es simple: los parámetros posibles son (1) '-d' si queremos un modo debug que nos va tirando los biblionumbers (no es muy útil realmente, solo lo use la primera vez para saber que script realmente estaba haciendo algo) y (2) -where "string" que permite limitar el chequeo a través de una clausula WHERE que se pega directamente al SELECT: para filtrar los biblionumbers digamos.

Como usa librerias de Koha y el archivo de configuracion para conectarse a la base de datos el comando debe ser llamado de la siguiente manera:
PERL5LIB=/usr/share/koha/lib KOHA_CONF=/etc/koha/koha-conf.xml /path/to/test_marc_records.pl

Para descargar el script hacer click aquí