One of a series of test instances for migrating the Koha Wiki MediaWiki database.
For the current Koha Wiki, visit https://wiki.koha-community.org .Migration from ISIS to Koha (Spanish)
Este método ha sido probado con bastante éxito y aprovecha la versatilidad del lenguaje de formateo de ISIS, para la generación de un archivo de texto con la estructura de campos y los valores de los mismos en un “MARC Anotado”, que es básicamente un archivo de texto que puede ser abierto con MarcEdit, para su conversión final a MARC. Finalmente, se usa el script bulkmarcimport.pl para cargar los registros en Koha.
Obviamente, este método involucra un trabajo previo de análisis de la base de datos y las correspondencias entre los campos que la componen y los campos del formato MARC, además de una serie de idas y vueltas (prueba y error) hasta contar con un archivo MARC de una calidad, por lo menos, aceptable. Esto se hace indispensable si se tiene en cuenta que el script bulkmarcimport.pl sirve para poblar la base de Koha con datos externos, pero no para actualizarlos si ya se encuentran presentes. En otras palabras, lo mejor es asegurarse de que la información contenida en el archivo MARC sea lo más correcta posible, antes de realizar la importación final.
Revisión
Revisar y revisar otra vez las asociaciones entre campos MARC y campos KOHA en la parte de administración de Koha
Creación del archivo PFT
Crear un archivo PFT que muestre el contenido de la base ISIS de una forma similar a la siguiente:
=LDR 00000nam\\2200000\a\4500 =020 \\$a9505044631 =092 \\$a636(038) C152 =100 \\$aTweeten, Luther G.$d1919-1999 =245 10$aGlosario inglés castellano de términos usados en producción animal. =650 04$aDiccionario Técnico =650 04$aInglés =650 04$aEspañol =650 04$aSilvicultura =650 04$aProducción forestal =650 04$aAlnus =650 04$aProducción Animal =653 \\$aAliso =942 \\$cBK =952 \\$pOAG13849$bOAG$dOAG
Obviamente, nuestro registros CDS/ISIS no tienen “leader” (cabecera) y les falta alguna información que es necesaria en KOHA, como por ejemplo, el tipo de ítem (itemtype) o el código de Biblioteca (branchcode).
En este ejemplo, en Koha está definida como Branch la Biblioteca de Ciencias Agrarias con el código 'OAG' y hemos definido que al código de barras (barcode) de cada libro se le agregue el código de Biblioteca (branchcode), para diferenciarlo de los códigos de barras (barcodes) de las demás bibliotecas.
La salida anterior se puede obtener con un archivo PFT como el que sigue:
'=LDR 00000nam\\\\2200000\\a\\4500'/ (|=020 \\\\$a|v010/)/ (|=100 \\\\$a|,v28^a/)/ |=110 \\\\$a|,v29^p,if p(v29^s) then |$b|v29^s fi/ |=111 \\\\$a|,v40^n/ |=245 \\\\$a|v24^t,if p(v24^s) then | : $b|v24^s fi/ |=591 \\\\$a|,v59/ (|=650 \\\\$a|,v65/)/ (|=653 \\\\$a|,v62/)/ '=942 \\\\$cBK'/ (|=952 \\\\$pOAG|v77|$aOAG$bOAG|/) |=999 \\\\$a|,v999/ ##
A continuación examinamos cada una de las líneas del formato anterior, para explicar su función, de manera que sea más entendible y para facilitar su adecuación a otros escenarios.
'=LDR 00000nam\\\\2200000\\a\\4500'/
Imprime un pseudo-leader. El leader de este ejemplo es siempre el mismo en todos los registros. Es posible también editarse para armar uno a partir de la información presente en cada registro.
A partir de aquí, la idea es que se imprima en cada línea lo siguiente:
=<Nro de campo MARC> \\\\[identificador de subcampo]<Contenido del campo ISIS>
Por ejemplo, la siguiente linea…
(|=020 \\\\$a|v010/)/
… imprime
=20 \\\\$a(Contenido del campo 10 en la base ISIS)
Nota: hay que tener en cuenta los campos que son repetibles. En el caso anterior, el campo 10 en ISIS es repetible, por lo que la línea completa se coloca entre parentesis y así se imprime un '=20 $a' por cada ocurrencia del campo 10.
La siguiente línea imprime el contenido de nuestra signatura topográfica que está en el campo 75 de ISIS en el 092 de MARC
|=092 \\\\|v075/
esta línea imprime el contenido de nuestro campo autor, que está en el campo 28 de ISIS, en el 100 de MARC
(|=100 \\\\$a|,v28^a/)/
El resto de las líneas hacen un trabajo similar, para el resto de los campos.
|=110 \\\\$a|,v29^p,if p(v29^s) then |$b|v29^s fi/ |=111 \\\\$a|,v40^n/ |=245 \\\\$a|v24^t,if p(v24^s) then | : $b|v24^s fi/ |=591 \\\\$a|,v59/ (|=650 \\\\$a|,v65/)/ (|=653 \\\\$a|,v62/)/
De aquí en adelante empieza lo fundamental, para que la importación funcione correctamente…
Koha, por defecto, espera encontrar al momento de la importación el tipo de item (itemtype) en el campo 942 subcampo c de la base que se está importando o, en el caso de activarse la preferencia del sistema 'item-level_itypes' en el 952 subcampo y.
'=942 \\\\$cBK'/
Además, también espera encontrar
- en el campo 952 subcampo p → el código de barra del item
- en el campo 952 subcampo a → el codigo de la biblioteca propietaria del libro (homebranch)
- en el campo 952 subcampo b → el codigo de la biblioteca en la que se encuentra el libro (holdingbranch)
- en el campo 952 subcampo y → el tipo de item (itemtype) del item
(|=952 \\\\$pOAG|v77|$aOAG$bOAG$yBK|/)
En este caso, en la base ISIS el número de inventario del item se encuentra en el campo 77, con lo que la linea anterior produce una salida simlar a la siguiente:
=952 \\\\$pOAG12345$aOAG$bOAG$yBK
Impresión
Imprimir la base de datos ISIS usando el archivo PFT comentado en el punto anterior en un documento de texto.
Es posible ustilizar WinISIS para esta tarea, porque permite imprimir un rango de registros, o los resultados de una búsqueda (por ejemplo, buscamos todos los registros que tienen presente un número de inventario, y sólo imprimimos esos registros, para no importar analíticas de revistas).
Dentro de las opciones de impresión de WinISIS, definimos qué queremos imprimir (rango de registros o resultado de una búsqueda), cambiamos, obviamente, la impresora por defecto por la opción de “archivo de texto (ANSI de Windows)” (hay una opción ASCII de DOS, pero esa trae problemas con los acentos y demás caracteres especiales) y finalmente cambiamos el archivo PFT por defecto por nuestro archivo PFT creado en el paso 2.
Al darle la orden de imprimir, WinISIS presentará un cuadro de diálogo para seleccionar el nombre y la ubicación del archivo de texto generado. Para hacer el proceso más fácil, lo mejor es darle un nombre y agregarle la extensión '.mrk' (por ejemplo oag.mrk)
Editar el archivo de texto con MARCEdit
Una vez completado el volcado de la base, se podrá editar el archivo .mrk creado con WinISIS con la herramienta MARCEdit. Básicamente, lo que haremos con esta herramienta será, en primer lugar, buscar y reemplazar todos los símbolos '^' que delimitan subcampos en ISIS por '$' que delimitan subcampos en MARC.
Terminado el reemplazo, sólo resta utilizar la función de 'Compilar archivo MARC' o 'crear archivo MARC' (el nombre y la ubicación de esta función ha ido cambiando entre versiones de MARCEdit) que básicamente transforma este archivo de texto .mrk en un archivo binario .mrc (siguiendo el ejemplo, tendríamos un archivo oag.mrc)
Importar registros en Koha vía bulkmarcimport.pl
La sintaxis para esto sería básicamente:
/usr/share/koha/bin/migration_tools/bulkmarcimport.pl -v -insert -biblios -framework "BKS" -file /home/miusuario/misregistros.mrc
Donde BKS es la hoja de trabajo asociada al lote de registros a importar.