====== Cómo crear una base en Catalis ====== **Actualmente, el mecanismo para añadir bases a Catalis está sólo parcialmente automatizado; no se cuenta con una interfaz gráfica (si bien hay una en desarrollo), y por consiguiente hay que llevar a cabo las tareas desde la línea de comandos.** Es importante tener en cuenta la [[estructura de las bases bibliográficas]] de Catalis, especialmente la convención de que todas las bases (i.e., archivos maestros e invertidos) se llaman //biblio//, y lo que llamamos 'el nombre de la base' es en realidad el nombre del directorio (carpeta) donde viven los archivos de la base. La distribución de Catalis incluye un script llamado ''newdb.sh'' (Linux), o ''newdb.bat'' (Windows). Lo encontrarán en ''cgi-bin/catalis_pack/'', aunque es más apropiado tenerlo en ''bases/catalis_pack/catalis/''. Este script permite crear una nueva base bibliográfica (vacía). El script se invoca pasando como parámetro el nombre de la base a crear, p. ej. para crear una base llamada //libros//: ./newdb.sh libros [en Linux] newdb libros [en Windows] En Linux, debe verificarse que el archivo ''newdb.sh'' tenga asignado permiso de ejecución. Es necesario que el directorio de los utilitarios CISIS se encuentre en el PATH, ya que ---como se ve en el código más abajo--- hay una llamada a ''mx''. Una vez creados los archivos de la base, el siguiente paso es [[Administracion_de_usuarios_en_Catalis|habilitar permisos de acceso a uno o más usuarios]] para que puedan trabajar con la nueva base. ==== Acceso a una base ya existente ==== Si se desea acceder desde Catalis a una base ya existente, formada por registros MARC que respeten la [[Estructura_de_las_bases_bibliograficas|estructura adoptada por Catalis]], debe seguir los pasos indicados arriba, y luego: * Reemplazar el **archivo maestro** (''.mst'', ''.xrf''). * En caso de que la base tenga la codificación OEM (e.g., si fue generada desde Winisis), se debe convertir a la codificación ANSI (Latin1). Una posible manera de hacerlo: mx biblio gizmo=oem2ansi copy=biblio now -all donde [[http://inmabb.criba.edu.ar/varios/oem2ansi.zip|oem2ansi]] es una base Isis que contiene la tabla de conversión de códigos. * [[Generacion_del_archivo_invertido_en_Catalis|Generar completamente el archivo invertido]] (''.cnt'', ''.ifp'', ''.n01'', ''.n02'', ''.l01'', ''.l02''). * Ajustar manualmente el **contador** (''cn.txt''). Es esencial que en el contador aparezca el último número de control asignado en la base (campo 001), para poder seguir asignando números a partir de allí; si por accidente se omite este paso, se corre el riesgo de reutilizar un número de control ya asignado, con el consiguiente conflicto entre registros que comparten un mismo número de control. ==== El código de los scripts ==== Versión Linux: #!/bin/bash # =============================================== # Creación de una base vacía en Catalis # =============================================== # directorio para alojar los archivos de la base mkdir $1 cd $1 # crea archivo maestro y archivo invertido mx seq=/dev/null create=biblio mx biblio "fst=1 0 v1" fullinv=biblio # crea contador, inicialmente en cero echo 000000 >cn.txt # genera un texto mínimo para describir la base echo 'Base <b>$1<b>' >db-descr.txt # asigna permisos (generosos) de lectura y escritura chmod 666 biblio.* chmod 666 cn.txt chmod 664 db-descr.txt Versión Windows: :: =============================================== :: Creación de una base vacía en Catalis :: =============================================== @echo off :: directorio para alojar los archivos de la base mkdir %1 cd %1 :: crea archivo maestro y archivo invertido mx seq=nul create=biblio mx biblio "fst=1 0 v1" fullinv=biblio :: crea contador de registros, inicialmente en cero echo 000000 >cn.txt :: genera un texto mínimo para describir la base echo Base %1 >db-descr.txt cd .. echo. echo Base %1 creada. echo. {{tag>catalis admin}}