miércoles, 27 de agosto de 2014

Factores generales en la migración hacia otros sistemas: caso Koha. Por qué el resultado no es 100% perfecto

Procedimientos previos.

Elaboración de un formato en Win isis para migrar los registros hacia Excel y de Excel a un archivo CSV. Luego, con el uso del utilitario MX de Isis, lo convertimos en un archivo ISO. Con el uso de una FST de formateo y una base de datos espejo con campos Marc, logramos la importación de todos los registros. Una  vez insertados en Win isis y con estructura de campos Marc, exportamos los registros a un archivo ISO de nuevo. Ya con este ISO, lo manipulamos con MarcEdit para convertirlo a formato Marc, compatible en Koha. Pero previo a todo esto, hicimos abundantes correcciones y agregamos campos faltantes en la hoja Excel.

En un primer intento fracasó el proceso, por que en el formato de Winisis utilizamos el punto y coma (;) para la división de campos y, al momento de la migración, todos los títulos que tenía el punto y coma, se vieron afectados. Por lo que procedimos a utilizar el carácter 124 (pipe = |), como divisor de campos. A la hora de insertarlo en Excel, le indicamos este carácter.
Cabe destacar que, el formato desde Winisis, para migrar a Excel es muy sencillo y es algo como esto:
v10'|',v11'|',v12'|'

En donde cada campo de la base isis se representa por la “v” y le ponemos a cada uno al lado y entre comillas simples el carácter pipe. Luego, mandamos a imprimir toda la base de datos, con este formato (que en mi caso lo nombré Excel) y en lugar de enviarlo a la impresora, escogemos “archivo ascii”. Vea la imagen siguiente.


Esto genera un archivo de texto plano (txt), el cual abrimos en Excel desde la pestaña “Datos” y luego la opción “desde textos”.


Marcamos luego la opción “delimitados”.
























Lo siguiente es la opción “otros” e insertamos en el cuadrito, el carácter pipe (con las teclas alt + 124) y desde ahí continuamos el asistente. Ver imagen siguiente.


Estos fueron los datos previos que tuvimos que dar en nuestro caso. Esto no era necesario del todo, pues existen tres formas de hacerlo:
·        De la forma que le acabo de explicar.
·        Directamente con un archivo iso y MarcEdit
·    Con el archivo iso, una fst de formateo y una base espejo en formato Marc y luego MarcEdit.

¿Por que escogí el proceso más largo? Por que necesitaba añadir otros campos a la base de datos y solo lo podía hacer en la hoja Excel. Simplemente.

Explicados estos pasos previos, continuemos con este artículo.
La migración de datos en ocasiones tiene pérdida de algunas informaciones, así como la idea de asumir por defecto algunos parámetros.

La estructura Marc supone unas etiquetas que van desde los campos cabeceras hasta los 999, dos indicadores que pueden ser desde 0 hasta el 9 o simplemente vacíos (#) y la indicación de sub campos representados por letras en minúscula (a – z).

Si hacemos uso del programa MarcEdit, para la conversión final a Marc, ya tenemos la ventaja de una estructura aceptable y compatible para Koha u otro programa que utilice Marc. Aún así, faltarán elementos no definidos en el momento de la migración y que se podría lograr, si analizamos más profundamente el comportamiento de los registros Marc dentro del programa migrante, que en este caso se trata del sistema para bibliotecas Koha.

Mientras observaba esto último en la plantilla del programa citado y, editando tres registros migrados, no pude luego guardar los registros, por que el sistema Koha me exigía completar los campos cabecera 003 (identificador de número de control), 005 (fecha y hora de la última modificación), 008 (elementos de longitud fija) y el campo 942 sub campo c (tipo de ítem). Todo esto me dice que estos tres campos deben estar presentes en la tabla de selección de campos (FST) que se va a utilizar en el proceso de migración.

Para lograr la migración al sistema Koha, hicimos varios intentos, de los cuales la mayoría fallaron. La elaboración de una buena y bien meditada FST, es la que al fin dará un resultado más perfecto. Los campos básicos desde el 020 hasta 900 no tienen grandes problemas, toda vez que tengamos conciencia de la equivalencia de  campos entre ambos sistemas. Debemos tener bien claro en que formato se encuentran los registros de la base de datos a migrar. Existen solo unos pocos formatos y los más comunes son, a saber: CEPAL, LILACs, BIBES, BIBUM, MARC, IBERMARC, UNIMARC, los formatos propios, etc. De ellos, los más conocidos en nuestro país son el Cepal, Lilacs y el Marc.

La tabla de formateo utilizada.

Una tabla de formateo no es mas que una estructura de campos y sub campos, con sus indicadores y signos convencionales correspondientes, que nos permite extraer de la base de datos información legible por el usuario. La FST utilizada en este proceso fue la siguiente:

01 0 mpl,v1
05 0 mpl,v18
20 0 mpl,'##$a 'v29
35 0 mpl,'##$a 'v37v1
40 0 mpl,'##$a 'v38
41 0 mpl,'0#$a 'v14
082 0 mpl,'#4$a 'v4
100 0 mpl,'1#$a 'v6
110 0 mpl,'2#$a 'v7
111 0 mpl,'1#$a 'v16'. ','$n','('$d 'v17':','$c 'v19')'
240 0 mpl,'10$a 'v10
245 0 mpl,'#0$a 'v8,' / ',v21,'.'
250 0 mpl,'##$a 'v23
260 0 mpl,'##$a 'v25,' : ',v22,', 'v24
257 0 mpl,'##$a 'v26
300 0 mpl,'##$a 'v9,':',v15
490 0 mpl,'#0$a 'v11,';','$v 'v12,';','$n 'v13
500 0 mpl,'##$a 'v28
505 0 mpl,'##$a 'v27
650 0 mpl,'#7$a 'v30
700 0 mpl,'1#$a 'v31
852 0 (|\\$a|v2, |$b|v36, |$h|v4, |^t|v35)
952 0 (|\\$e|v32, |$d|v33, |$g|v34, |$8|v3)

Nota: se utilizó una hoja Excel con los registros

Explicando.

La primera columna contiene los campos del formato al que vamos a migrar (en este  cao hacia Marc21). La segunda – la columna de ceros (0) – es lo que se conoce en ISIS como técnica de indización, que en este caso usamos el cero (0), por que es la que más caracteres atrapa, por líneas. La columna siguiente contiene los caracteres de indizado en Marc. El símbolo de la almohadilla (#), significa en blanco. El siguiente carácter es el signo de dólar que representan los sub campos y, finalmente todos los números precedido de la letra “v”, son los campos desde donde migra. En este caso desde una base con formato Lilacs, que luego pasamos a Excel. En Excel, cada celda es un campo. Por lo tanto debes saber bien que contiene cada campo.

Procedimientos.

Los pasos a dar son bastantes técnicos, pero vale la pena la experiencia adquirida. Uno debe conocer primero la estructura de campos de ambos formatos y luego adecuar la FST. Tenga presente los campos repetibles y aquellos campos cuya equivalencia en Marc responden a un solo campo. Por ejemplo:

260 0 mpl,'##$a'v25,' : ',v22,', 'v24

El campo 260 en Marc equivale a tres campos en lilacs y son: Lugar: Editorial, año. En esta secuencia de comando utilizamos la técnica de indización cero, el modo de encabezado que indica que los datos pasarán sin que sean modificados (mpl). Le siguen los indicadores vacío vacío, luego el sub campo a ($a) y en ese mismo lugar lanzamos el campo 25 (v25), que equivale al Lugar. Luego mandamos a imprimir los dos puntos que separan al lugar de la editora entre comillas simples. Le sigue el campo 22 (v22), que se refiere a la editorial, luego mandamos a imprimir una coma, que es la que separa la editora del año de publicación y, finalmente le indicamos el año representado por el campo 24 (v24).

Al similar sucede con el campo de 111 en Marc, que es la entrada para eventos. Observe:

111 0 mpl,'1#$a'v16'.','$n','('$d'v17':','$c'v19')'

Fíjense en todo lo que se manda a imprimir, incluso los paréntesis. Para ello, hay que ver como se comporta el registro una vez digitado.

En el caso de los campos repetibles, se colocan entre paréntesis y entre barras verticales y la barra invertida al final. Ejemplo:

500 0 (|##$a|v28/)
650 0 (|#4$a|v30/)

En la FST que utilizamos no se utilizó este método, por que fue una migración desde Excel hacia Win isis y desde Win isis hacia MarcEdit. Si hubiese sido directamente desde la base isis en Lilacs, si tendría que haber utilizado este método, pues los campos de materias y autor, por ejemplo, en Lilacs son repetibles.

Habiendo ya comprendido todo esto, nos queda solo explicar los aspectos generales que hay que tomar en cuenta a la hora de tomar la decisión de migrar. En el caso de los indicadores, hay que decidirse por cual indicador más general nos decidiremos. Observen los indicadores en rojo del campo 245 de la FST:

245 0 mpl,'#0$a'v8

Si se dan cuenta, el segundo indicar 0 en el título indica el número de caracteres a ignorar, lo cual va desde 0 hasta el 9, pero aquí hemos colocado el 0 por defecto. Con este cero estoy diciendo que todos los títulos de la base de datos migrada no tienen artículos ni preposiciones delante, que son los caracteres que se ignoran. Si es por ejemplo, el artículo “Los”, tendría que colocar un 4 en lugar de de un cero. Esto para que el sistema ignore ese artículo y lea a partir de la palabra siguiente significativa. Pero en la FST debo colocar un indicador y, en este caso nos inclinamos por el más general.

Lo mismo sucede en el caso del código de idioma. Tenemos que colocar un idioma por defecto al campo 041 de Marc y, en nuestro caso colocamos el español (spa). Osea, que todos los libros están en idioma español. Pero no hay de otra. Los arreglos serán posteriores. Esa es la razón del por que una migración de datos no es 100% perfecta. En bases de datos menos estructura se podría dar el caso de que funcione al 100%.

Si la base de datos a migrar está en una hoja de Excel, se aprovecha esta oportunidad para agregar campos que le falte a la base de datos y que se necesitan en Marc. Por ejemplo: algunos campos cabecera, código de sala, entre otros.

En estos casos citados, necesitamos hacer uso del programa MarcEdit, el cual nos permite hacer cambios globales y sustituciones. Por ejemplo: en el caso del campo de título, bajo el programa citado, solo necesitaríamos copiar la parte que dice:
=245 10 $a Los

Y luego sustituir todo este fragmento de campo por:

=245 14 $a Los

Ya que aquí el segundo indicador (el 4) está correcto. Pero en la migración tuvimos que colocar el cero (0). Solo basta ir colocando artículos como La, Las, El, etc., después del indicador de sub campo ($a) y dejar que el programa MarcEdit lo encuentre y luego los vamos sustituyendo por la expresión correcta.

Esta es la estructura de la base de datos en MarcEdit. En el menú “Edit” se encuentra las opciones para buscar y reemplazar y es ahí donde hacemos todos los cambios de lugar.


Le aconsejamos buscar un tutorial de Marcedit en Youtube, que le explicarán con detalles estos complejos procesos, talvés con un poco más de detalle.

El WhatsApp : ventajas y desventajas

 Luis M. Peña 25 de octubre, 2017 Sobre el autor. Licenciado en Lenguas Modernas mención Inglés y Licenciado en Educación mención Bi...