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 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 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 oem2ansi es una base Isis que contiene la tabla de conversión de códigos.

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 &lt;b>$1&lt;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.

Catalis