BIBLIOTECA DIGITAL GREENSTONE GUÍA DEL PROGRAMADORChapter 1 FUNCIONAMIENTO DEL PROCESO DE CREACIÓN DE UNA COLECCIÓNContentsLos usuarios de Greenstone pueden crear colecciones utilizando el Colector, cuyo funcionamiento se explica en la Guía del Usuario de la Biblioteca Digital Greenstone (Sección ). Este procedimiento permite crear colecciones muy fácilmente basándose en los modelos ya existentes pero con un contenido nuevo. Sin embargo, el Colector no permite realmente crear colecciones con estructuras completamente nuevas. Le invita a modificar el archivo de configuración de la colección por el que se rige la estructura de la colección, pero usted necesita tener sólidos conocimientos de Greenstone para efectuar cambios radicales pero efectivos. En esta sección se le indica lo que necesita saber para hacerlo. También se explica la estructura de directorios de Greenstone y el formato en el que se almacenan internamente los documentos. En este manual suponemos que usted ha instalado Greenstone en su computadora, bien con Windows o bien con Unix. Si aún no lo ha hecho, debería consultar la Guía de Instalación de la Biblioteca Digital Greenstone. Utilizamos el nombre GSDLHOME a lo largo de este manual para referirnos al directorio principal de Greenstone, que se denomina %GSDLHOME% en los sistemas Windows y $GSDLHOME en los sistemas Unix. Este directorio se estableció durante el procedimiento de instalación. 1.1 Creación de colecciones desde la línea de comandosA fin de comprender mejor este proceso, empecemos por recorrer las operaciones necesarias para crear una colección a partir de la línea de comandos. Por supuesto, el método más fácil es utilizar el Colector. La colección que tomamos como ejemplo es la que se incluye en el CD-ROM de distribución del programa Greenstone, que contiene las páginas Web de muchas de las personas que han colaborado en el proyecto de Biblioteca Digital de Nueva Zelandia y el programa Greenstone. En las siguientes subsecciones se explica la creación de una colección con Windows y con Unix. De hecho, las dos subsecciones son casi idénticas, sólo tiene que leer la que corresponda a su sistema. Algunas de las instrucciones le podrán parecer misteriosas e indescifrables, pero sígalas atentamente, su significado se explicará más adelante. Tras las instrucciones se resumen las diferencias entre la creación de una colección con cada uno de los sistemas. Creación de colecciones bajo WindowsEl primer desafío para crear una colección de Greenstone a partir de la línea de comandos en el sistema Windows es llegar al “indicador de comandos”, el lugar en el que se teclean los comandos. Trate de buscar en el menú Inicio, o en el submenú Programas, una entrada como indicador MS-DOS, indicador DOS o indicador de comandos. Si no logra encontrarla, abra la función Ejecutar y teclee command ( o cmd) en la ventana de diálogo. Si todo esto falla, pida ayuda a algún entendido, como su administrador de sistema. Vaya al directorio en el que está instalado Greenstone. Si Greenstone está instalado en su ubicación por defecto, puede acceder tecleando: cd “C:\Program Files\gsdl”
(Son necesarias las comillas debido a los espacios existentes en Program Files.) A continuación, teclee en el indicador: setup.bat
Este archivo de ejecución por lotes (que puede usted leer si lo desea) indica al sistema dónde encontrar los programas Greenstone[1]. Si, más adelante durante su sesión interactiva en el indicador de DOS, desea volver al directorio principal de Greenstone, puede hacerlo tecleando cd “%GSDLHOME%” (una vez más, son necesarias las comillas debido a los espacios existentes en el nombre de archivo). Si cierra su ventana DOS y abre otra, tendrá que volver a teclear setup.bat. Ahora está en condiciones de constituir, crear y recrear colecciones. El primer programa que examinaremos es el programa Perl mkcol.pl, cuyo nombre corresponde a “ make a collection ” (constituir una colección). En primer lugar, active el programa tecleando perl -S mkcol.pl para obtener en pantalla una descripción de la sintaxis y una lista de argumentos. Si su entorno Windows está programado para asociar la aplicación Perl con archivos terminados en .pl, puede expresarlo de manera más concisa tecleando mkcol.pl. Como puede comprobarlo en el mensaje que aparece, el único argumento necesario es creator, que se utiliza para especificar quién ha creado la colección. Utilicemos ahora este comando para crear los archivos y subdirectorios iniciales necesarios para nuestra colección de las páginas personales de los miembros del proyecto de Biblioteca Digital Greenstone. Para asignar a la colección el nombre dlpeople (abreviación en inglés de “personas de la biblioteca digital”), esto fue lo que escribí: perl –S mkcol.pl –creator [email protected] dlpeople
(o mkcol.pl –creator [email protected] dlpeople, si Perl está asociado con la extensión de archivos .pl). ¡No olvide sustituir mi dirección de correo electrónico por la suya! Para poder visualizar los archivos recién creados, vaya al directorio recién creado de la colección tecleando: cd “%GSDLHOME%\collect\dlpeople”
Figure 1
Archivo de configuración de la colección creado por mkcol.pl
Puede acceder al contenido de este directorio tecleando dir. Debería haber siete subdirectorios: archives, building, etc, images, import, index y perllib. Ahora debemos introducir documentos de muestra en la colección. Los documentos de origen para la colección dlpeople pueden encontrarse en el directorio collect\dlpeople del CD-ROM de distribución Greenstone. En primer lugar, inserte el CD-ROM en el lector (por ejemplo en la unidad D:\). A continuación, copie el contenido del directorio D:\collect\dlpeople en el directorio import de la colección dlpeople. Para ello, proceda de la manera siguiente:
seleccione el contenido del directorio dlpeople y arrástrelo al directorio import de la colección dlpeople. Como alternativa, puede teclear el comando xcopy /s d:\collect\dlpeople\* import
En el directorio etc de la colección hay un archivo denominado collect.cfg. Ábralo con el editor de texto que prefiera; uno básico pero que es fácil de conseguir se llama edit. El resultado debería parecerse a la Figura , que muestra el archivo de configuración de la colección creado mediante el comando perl –S mkcol.pl –[email protected] dlpeople. Ahora ya está listo para "importar" la colección. Este es el proceso que integra los documentos en el sistema Greenstone, estandarizando el formato de documento, la forma de especificar los metadatos, y la estructura de ficheros en la que se almacenan los documentos. Escriba perl -S import.pl en el indicador para obtener una lista de todas las opciones del programa de importación. La opción -remove old se usa para asegurarse de que primero se borran todos los documentos importados previamente. perl –S import.pl dlpeople
No se preocupe por el texto que desfila rápidamente en la pantalla: es sólo un informe de la progresión de la importación. Tenga en cuenta que importar esta colección lleva unos cinco minutos en una computadora de 1 GHz y, por consiguiente, más tiempo en máquinas más lentas. Obsérvese que no es necesario encontrarse en los directorios collect o dlpeople cuando se selecciona este comando, porque ya se ha introducido la variable GSDLHOME y el programa Greenstone puede encontrar todos los archivos necesarios. Ahora vamos a introducir algunas modificaciones en el archivo de configuración de la colección para personalizar su apariencia. En primer lugar, demos un nombre a la colección. Será el que utilicen los navegadores Web como título de página de la portada de la colección, y servirá como icono de la colección si no se proporciona ninguna otra imagen. Sustituya la línea que dice collectionmeta collectionname “dlpeople” por algo como collectionmeta collectionname “Los miembros del proyecto NZDL”. Añada una descripción de su colección entre las comillas de la línea collectionmeta collectionextra “”, la cual servirá como texto del Acerca de esta colección en la página principal de la colección. Yo escribí “Esta colección comprende las páginas personales de algunas de las personas que han colaborado en el proyecto NZDL”. Es importante escribir este texto en el editor en una sola línea: si el cursor llega al margen derecho de la ventana del editor no pulse la tecla “Intro” aunque tenga que añadir más texto; siga escribiendo de continuo, de lo contrario el archivo de configuración no podrá ser analizado correctamente. Si desea que su colección pueda utilizarse con diferentes interfaces de lenguas, existe una opción para que este texto aparezca de manera diferente según la interfaz lingüística elegida, que se describe más adelante en la Sección 1.3. Puede utilizar cualquier imagen que pueda visualizarse en un navegador como icono de la colección; la imagen que yo creé se muestra en la Figura 2. Escriba la ubicación de la imagen entre las comillas de la línea collectionmeta iconcollection “” en el archivo de configuración. Como abreviación, y para contribuir a la portabilidad, puede utilizarse _httpprefix_ como inicio de una dirección URL que remite a una imagen situada en la zona de archivos de Greenstone. Por ejemplo, puede usted escribir: _ httpprefix_/collect/dlpeople/images/icon.gif si ha introducido una imagen adecuada en el directorio images de la colección ( collect\dlpeople\images en nuestro ejemplo). Guarde el archivo de configuración de la colección y ciérrelo; no lo necesitará de nuevo en este manual de instrucciones. La siguiente fase consiste en “crear” la colección, es decir, elaborar todos los índices y archivos que permiten su funcionamiento. Teclee perl –S buildcol.pl en el indicador de comandos para acceder a una lista de opciones de creación de colección, que se explican más detalladamente en la Sección 1.3. Por ahora, cíñase a los valores por defecto y teclee: perl –S buildcol.pl dlpeople
Una vez más, no se preocupe por los textos de “informe de progresión” que desfilan por la pantalla. Active la colección como sigue: seleccione el contenido del directorio building de la colección dlpeople y arrástrelo hasta el directorio index. Como alternativa, puede suprimir el directorio index (y todo su contenido) con el comando: rd /s index # con Windows NT/2000
deltree /Y index # con Windows 95/98
y luego cambiar el nombre del directorio building por el de index tecleando: ren building index
Por último, teclee: mkdir building
en preparación para cualquier recreación futura. Es importante que estos comandos se efectúen en el directorio correcto (a diferencia de los comandos mkcol.pl, import.pl y buildcol.pl de Greenstone). Si el directorio que se encuentra en uso no es dlpeople, teclee cd “%GSDLHOME%\collect\dlpeople” antes de proceder a la secuencia de operaciones rd, ren y mkdir antes expuestas. Debería poder acceder a la colección recién creada desde la página principal de Greenstone. Tendrá que volver a cargar la página si ya la había abierto en su navegador, o tal vez incluso tenga que cerrar el navegador y arrancarlo de nuevo (para evitar problemas de “ cache ”). En cambio, si está utilizando la versión “Biblioteca Local” de Greenstone tendrá que volver a arrancar el programa library. Para visualizar la nueva colección, haga clic en la imagen. El resultado debería parecerse a la Figura 3.
Figure 2
Icono de la colección
En resumen, los comandos que se han de teclear para general la colección dlpeople son los siguientes: cd “C:\Program Files\gsdl” # se supone la ubicación por defecto
setup.bat
perl –S mkcol.pl –creator [email protected] dlpeople
cd “%GSDLHOME%\collect\dlpeople”
xcopy /s d:\collect\dlpeople\* import # se supone la unidad D
perl –S import.pl dlpeople
perl –S buildcol.pl dlpeople
rd /s index # con Windows NT/2000
deltree /Y index # con Windows 95/98
ren building index
mkdir building
Creación de colecciones bajo UnixEn primer lugar vaya al directorio donde está instalado Greenstone. Por ejemplo, si Greenstone está instalado en vuestro directorio de inicio de sesión, con su nombre por defecto, puede dirigirse allí tecleando cd ~/gsdl
Luego en el indicador, teclee source setup.bash # si está utilizando el shell BASH
source setup.csh # si está utilizando el shell C
Estos archivos de ejecución por lotes (que puede usted leer si lo desea) indican al sistema dónde buscar los programas Greenstone. Si más adelante, durante su sesión de introducción de líneas de comando en Greenstone, desea volver al directorio principal de Greenstone, puede hacerlo escribiendo cd $GSDLHOME. Si no está seguro del tipo de intérprete de comandos (shell) que está utilizando, teclee echo $0 en su indicador de línea de comandos y obtendrá la información buscada. Si utiliza un intérprete de comandos diferente, contacte a su administrador de sistema para que le asesore. Una vez localizado el archivo de instalación adecuado, estamos en condiciones de constituir, crear y recrear colecciones. El primer programa que examinaremos es el programa Perl mkcol.pl, cuyo nombre corresponde a “make a collection” (constituir una colección). En primer lugar, active el programa escribiendo sólo mkcol.pl para obtener en pantalla una descripción de la sintaxis y una lista de argumentos. Como puede comprobarlo en el mensaje que aparece, el único argumento necesario es creator, que se utiliza para especificar quién ha creado la colección.
Figure 3
Página “Acerca de” de la nueva colección
Utilicemos ahora este comando para crear los archivos y subdirectorios iniciales necesarios para nuestra colección de las páginas personales de los miembros del proyecto de Biblioteca Digital Greenstone. Para asignar a la colección el nombre dlpeople, esto fue lo que escribí: mkcol.pl –[email protected]
¡No olvide sustituir mi dirección de correo electrónico por la suya! Para poder visualizar los archivos recién creados, vaya al directorio recién creado de la colección tecleando: cd $GSDLHOME/collect/dlpeople
Puede acceder al contenido de este directorio tecleando ls. Debería haber siete subdirectorios: archives, building, etc, images, import, index y perllib. Ahora debemos introducir documentos de muestra en la colección. Los documentos de origen para la colección dlpeople pueden encontrarse en el directorio collect\dlpeople del CD-ROM de distribución Greenstone. Para leer la información de un CD-ROM con Linux, inserte el disco en el lector y teclee: mount /cdrom
en el indicador (este comando puede cambiar de un sistema a otro). Una vez montado, el CD-ROM puede usarse como cualquier otro directorio, por consiguiente puede teclear ls /cdrom/collect. Esto debería darle acceso a un directorio denominado dlpeople en el CD-ROM. A continuación, copie el contenido del directorio /cdrom/collect/dlpeople en el directorio GSDLHOME/collect/dlpeople/import. Para ello, teclee el comando: cp –r /cdrom/collect/dlpeople/* import/
Luego teclee: umount /cdrom
para cerrar la unidad del CD-ROM. En el directorio etc de la colección hay un archivo denominado collect.cfg. Ábralo con el editor de texto que prefiera; emacs es un editor muy utilizado en Linux. El resultado debería parecerse a la Figura , que muestra el archivo de configuración de la colección creado mediante el comando mkcol.pl –[email protected] dlpeople. Ahora puede “importar” la colección. Se trata del proceso por el que se traen los documentos al sistema Greenstone, normalizando el formato de los documentos, el modo en que se especifican los metadatos y la estructura de los archivos en que se almacenan los documentos. Teclee import.pl en el indicador para obtener una lista de todas las opciones del programa de importación. Para simplificar, limítese al comando básico import.pl dlpeople
No se preocupe por el texto que desfila rápidamente en la pantalla: es sólo un informe de la progresión de la importación. Tenga en cuenta que importar esta colección lleva unos cinco minutos en una computadora de 1 GHz y, por consiguiente, más tiempo en máquinas más lentas. Obsérvese que no es necesario encontrarse en los directorios collect o dlpeople cuando se selecciona este comando, porque ya se ha introducido la variable GSDLHOME y el programa Greenstone puede encontrar todos los archivos necesarios. Ahora vamos a introducir algunas modificaciones en el archivo de configuración de la colección para personalizar su apariencia. En primer lugar, demos un nombre a la colección. Será el que utilicen los navegadores Web como título de página de la portada de la colección, y servirá como icono de la colección si no se proporciona ninguna otra imagen. Sustituya la línea que dice collectionmeta collectionname “dlpeople” por algo como collectionmeta collectionname “Los miembro+s del proyecto NZDL”. Añada una descripción de su colección entre las comillas de la línea collectionmeta collectionextra “”, la cual servirá como texto del Acerca de esta colección en la página principal de la colección. Yo escribí “Esta colección comprende las páginas personales de algunas de las personas que han colaborado en el proyecto NZDL”. Es importante escribir este texto en el editor en una sola línea: si el cursor llega al margen derecho de la ventana del editor no pulse la tecla “Intro” aunque tenga que añadir más texto; siga escribiendo de continuo, de lo contrario el archivo de configuración no podrá ser analizado correctamente. Si desea que su colección pueda utilizarse con diferentes interfaces de lenguas, existe una opción para que este texto aparezca de manera diferente según la interfaz lingüística elegida, que se describe más adelante en la Sección 1.3. Puede utilizar cualquier imagen que pueda visualizarse en un navegador como icono de la colección; la imagen que yo creé se muestra en la Figura 2. Escriba la ubicación de la imagen entre las comillas de la línea collectionmeta iconcollection “” en el archivo de configuración. Como abreviación, y para contribuir a la portabilidad, puede utilizarse _ httpprefix_ como inicio de una dirección URL que remite a una imagen situada en la zona de archivos de Greenstone. Por ejemplo, puede usted escribir: _ httpprefix_/collect/dlpeople/images/icon.gif si ha introducido una imagen adecuada en el directorio images de la colección ( collect\dlpeople\images en nuestro ejemplo). Guarde el archivo de configuración de la colección y ciérrelo; no lo necesitará de nuevo en este manual de instrucciones. La siguiente fase consiste en “crear” la colección, es decir, elaborar todos los índices y archivos que permiten su funcionamiento. Teclee buildcol.pl en el indicador de comandos para acceder a una lista de opciones de creación de colección, que se explican más detalladamente en la Sección 1.3. Por ahora, cíñase a los valores por defecto por defecto y teclee: buildcol.pl dlpeople
Una vez más, no se preocupe por los textos de “informe de progresión” que desfilan por la pantalla. Active la colección trasladando al directorio index todos los datos que acaba de introducir en el directorio building de la colección. Si ya ha creado esta colección anteriormente, en primer lugar suprima el antiguo índice tecleando: rm –r index/*
(suponiendo que se encuentre en el directorio dlpeople) en el indicador. A continuación teclee: mv building/* index/
Table 1
Diferencias entre Windows y Linux para la creación de colecciones
Debería poder acceder a la colección recién creada desde la página principal de Greenstone. Tendrá que volver a cargar la página si ya la había abierto en su navegador, o tal vez incluso tenga que cerrar el navegador y arrancarlo de nuevo (para evitar problemas de “ cache ”). Para visualizar la nueva colección, haga clic en la imagen. El resultado debería parecerse a la Figura 3. En resumen, los comandos que se han de teclear para generar la colección dlpeople son los siguientes: cd ~/gsdl # suponiendo que Greenstone está por defecto
# en vuestro directorio de inicio de sesión
source setup.bash # si está utilizando el shell BASH
source setup.csh # si está utilizando el shell C
mkcol.pl –[email protected]
cd $GSDLHOME/collect/dlpeople
mount /cdrom # suponiendo que el CD-ROM se asigna ahí
cp –r /cdrom/collect/dlpeople/ * import/
umount /cdrom
import.pl dlpeople
buildcol.pl dlpeople
rm –r index/*
mv building/* index
Diferencias entre Windows y UnixEl proceso de creación de una colección con Unix es muy parecido al de Windows, pero hay algunas pequeñas diferencias que se resumen en el Cuadro 1. 1.2 Directorios de GreenstoneEn la Figura 4 se muestra la estructura del directorio GSDLHOME. En el Cuadro 2 se presenta una breve descripción del contenido de cada uno de los directorios que aparecen en el diagrama. En una sección ulterior del manual se detallan más algunos directorios; utilice la guía de secciones del Cuadro 2 para saber dónde hallar más información.
Figure 4
Estructura del directorio GSDLHOME
Table 2
Dónde encontrar información sobre los directorios
1.3 Procesos de importación y de creaciónEn el proceso de creación de la colección explicado en la Sección 1.1 se utiliza un comando, import.pl, para importar los documentos y otro, buildcol.pl, para crear la colección. En esta sección ampliamos la información sobre las funciones y opciones de estos programas. Empleamos la variable nombre_col para referirnos a la colección en proceso de creación o importación. Los procesos de importación y creación guardan muchas semejanzas y, por consiguiente, muchas de sus opciones, expuestas en el Cuadro 3, son iguales. (Recuerde que para ver las opciones de cualquier guión de Greenstone sólo tiene que escribir su nombre sin opciones en el indicador de comandos).
Table 3
Opciones de los procesos de importación y de creación
El proceso de importaciónLa principal función del proceso de importación es pasar los documentos de su formato original al Formato de Archivo Greenstone (Greenstone Archive Format), así como crear un archivo de resumen (denominado archives.inf) que se utilizará para crear la colección. import.pl necesita saber qué conectores se han de utilizar y dónde encontrar los archivos de los documentos originales. En el Cuadro 3 se muestran las opciones comunes de los procesos de importación y de creación; en el Cuadro 4 se presentan las opciones adicionales aplicables sólo al proceso de importación. La opción OIDtype requiere ciertas explicaciones. Cada documento tiene un identificador de objeto asociado ( Object Identifier) u OID. La mejor manera de calcularlo es que el programa desmenuce el contenido del documento ( hash). Sin embargo, este procedimiento es lento, por ello se propone una alternativa más sencilla ( incremental) que simplemente numera los documentos secuencialmente en el orden de importación (método por incremento gradual). Puede usted utilizar el método incremental para ir más rápido, pero debe emplear hash si quiere añadir documentos a su colección en una fecha ulterior (sin volver a importar).
Table 4
Opciones adicionales del proceso de importación
Figure 5
Etapas del proceso de importación
La Figura 5 representa el proceso de importación efectuado por el programa import.pl. Cada óvalo representa un módulo utilizado para llevar a cabo tareas relacionadas con una parte específica del sistema Greenstone. Todos estos módulos pueden encontrarse en el directorio GSDLHOME/perllib. En la etapa 3, nótese que las variables de importación como importdir y archivedir pueden definirse en el archivo de configuración de la colección o desde la línea de comandos. Si se definen desde la línea de comandos, se ignorarán todos los valores especificados en el archivo de configuración. En la etapa 6 se crea el archivo de información de los archivos (archives.inf). En la etapa 7 se crea un objeto que sabrá dónde guardar los documentos y obedecerá a todas las instrucciones especiales de memorización (tales como sortmeta, que clasifica los documentos según una etiqueta de metadatos especificada). De hecho, la mayoría de las tareas del proceso de importación corren a cargo de conectores, que se activan mediante el módulo plugin. Dicho módulo establece una secuencia de los conectores especificados en el archivo de configuración de la colección y maneja asimismo la escritura de los documentos en el Formato de Archivo Greenstone (utilizando un objeto document). El proceso de creaciónDurante el proceso de creación de la colección se comprime el texto y se crean los índices de texto completo especificados en el archivo de configuración de la colección. Además, se calculan con antelación y se incorporan a la colección los datos relativos a la apariencia de la colección en Internet, por ejemplo las informaciones sobre los iconos y los títulos, así como la información producida por los clasificadores. buildcol.pl comparte numerosas opciones con import.pl, como se muestra en el Cuadro 3. En el Cuadro 5 se muestran otras que le son propias.
Table 5
Opciones adicionales del proceso de creación
Figure 6
Etapas del proceso de creación
El diagrama de la Figura 6 representa la ejecución del programa buildcol.pl. Muchas de las etapas son iguales a las del proceso de importación. La primera que no coincide es la etapa 4 (a la izquierda), que sólo se ejecuta si se ha activado la opción create_images. A continuación, las imágenes se crean y se registran en el archivo de configuración de la colección mediante una función del guión buildcol.pl. Para que todo esto funcione adecuadamente, deben haberse instalado y configurado apropiadamente GIMP ( GNU Image Manipulation Program, o Programa de manipulación de imágenes de GNU) y el módulo Gimp Perl. Debe existir asimismo un permiso de escritura (así como de lectura) al archivo de configuración de la colección. En la etapa 5 se comprueba primero si existe un proceso de creación específico de la colección. Algunas colecciones requieren un tratamiento especial durante la creación, en cuyo caso se debe escribir un creador específico de la colección y colocarlo en su directorio perllib, que lleva el nombre de la colección seguido de “ builder ” (creador). Los creadores específicos de colección provienen de mgbuilder. En la etapa 5, se inicializa el creador (ya sea el instalado por defecto o uno específico de la colección) con información sobre el número de documentos que se va a incluir, el mantenimiento o no de la antigua versión de la colección y la ubicación de los directorios building y archive. La etapa 6 es la de la creación. El texto de los documentos se comprime y se indiza, los títulos y los iconos se almacenan en una base de datos de informaciones de la colección y se crean las estructuras de datos para apoyar los clasificadores activados por los conectores de la colección. El archivo mgbuilder (o el creador específico de la colección) maneja todas esas etapas y utiliza el programa MG (“ Managing Gigabytes ”, o gestión de gigabytes; véase Witten et al., 1999) para comprimir e indizar. La opción mode permite especificar las partes de la colección que se crean, pero por defecto se crea todo: el texto comprimido, los índices y las bases de datos de informaciones de colección. Una vez concluido el proceso de creación, si desea que la colección pueda consultarse en Internet, es preciso trasladarla del directorio building de la colección al directorio index. Las colecciones no se crean directamente en el directorio index porque la creación de las colecciones voluminosas puede tardar horas o días. Es importante que el proceso de creación no afecte una copia existente de la colección hasta que la operación no haya concluido. 1.4 Documentos en el Formato de Archivo GreenstoneTodos los documentos de origen se importan al sistema Greenstone después de su conversión en el Formato de Archivo Greenstone, que es un estilo XML que divide los documentos en secciones y puede contener metadatos para cada documento o sección. No tendrá que crear manualmente los archivos en el Format de Archivo Greenstone, ya que los conectores que tratan los documentos cumplen esta función, tal como se explica en el capítulo siguiente. Sin embargo, puede resultar útil comprender el formato de los archivos Greenstone, que describimos a continuación. En XML, las etiquetas van entre corchetes angulares para el marcado. El Formato de Archivo Greenstone codifica los documentos que ya están en HTML, y todos los signos <, > o “ incluidos en el texto original se eluden mediante la convención estándar <, > y ".
Figure 7
(a) Definición de tipo de documento (DTD);
Formato de Archivo Greenstone:
Figure 7
(b) Documento de ejemplo.
En la Figura 7a se muestra la definición de tipo de documento (DTD) XML para el Formato de Archivo Greenstone. Básicamente, un documento se divide en Sections (Secciones), que pueden a su vez subdividirse. Cada Section tiene una Description (descripción) que comprende cero o varios elementos Metadata (metadatos) y una parte Content (contenido) (que puede estar vacía), donde se guardan los datos propiamente dichos del documento. Cada elemento Metadata va asociado con un atributo de nombre (puede ser cualquier nombre) y algunos datos textuales. En XML, PCDATA corresponde a “ parsed character data ” (datos de caracteres analizados), es decir, básicamente texto. En la Figura 7b se muestra un documento simple escrito en este formato, que es un pequeño libro con dos imágenes asociadas. El libro tiene dos secciones denominadas Prólogo y Primer y único capítulo, respectivamente; la segunda sección se divide en dos subsecciones. Obsérvese que no existe noción de “capítulo” como tal: se lo representa simplemente como una sección de nivel superior.
Table 6
Formato de Archivo Greenstone: Valores del atributo name de la etiqueta Metadata.
La etiqueta <Section> indica el principio de cada sección del documento y la correspondiente etiqueta de cierre </Section> señala el final de dicha sección. Tras cada etiqueta <Section> hay una sección <Description> que incluye una serie cualquiera de elementos <Metadata>. De este modo, se pueden asociar diferentes metadatos con las distintas secciones de un documento. En su mayoría son tipos particulares de metadatos, como “Title” (título), por ejemplo. Los dos valores del atributo name (nombre) que se muestran en el Cuadro 6 reciben un tratamiento especial por parte de Greenstone; todos los demás se consideran metadatos vinculados a esa sección. En algunas colecciones, los documentos están divididos en páginas que se tratan como secciones. Por ejemplo, un libro puede contener secciones de primer nivel que corresponden a los capítulos, en los que se definen una serie de “secciones” que, en realidad, corresponden a las diferentes páginas del capítulo. Metadatos del documentoLos metadatos son información descriptiva asociada a un documento, como por ejemplo, autor, título, fecha, palabras clave, etc. Ya se ha mencionado que los metadatos se almacenan con los documentos. En la Figura 7a se puede ver que las etiquetas <Metadata> especifican el nombre del tipo de metadatos y les asignan un valor. Un ejemplo es la línea < Metadata name=“Title” > Primer y único capítulo</Metadata > de la Figura 7b: el título de un documento es un elemento de metadato asociado a él. Se utiliza la norma de metadatos Dublin Core para definir los tipos de metadatos (Dublin Core, 2001; Weibel, 1999; Thiele, 1997) En el Cuadro 7 se muestran los tipos de metadatos disponibles en la norma; los que van señalados con un asterisco se utilizan en las colecciones que se pueden consultar actualmente en el sitio Web de la Biblioteca Digital de Nueva Zelandia. Si ninguno de estos tipos corresponde exactamente a una clase determinada de metadatos, se pueden utilizar también otros tipos de metadatos que no figuran en la norma Dublin Core. Por ejemplo, la colección de demostración contiene los metadatos how to (Cómo...) y Magazine (Revista).
Table 7
Norma de metadatos Dublin Core
Los documentos en el Format de Archivo de Greenstone vistos por dentroEl Formato de Archivo de Greenstone impone poca estructura a los documentos individuales. Los documentos se dividen en párrafos. Pueden subdividirse jerárquicamente en secciones y subsecciones que pueden a su vez subdividirse indefinidamente. Cada documento va asociado con un identificador de objeto u OID que también sirve para identificar las secciones y subsecciones mediante números separados por puntos en los OID de los documentos. Por ejemplo, el OID HASHa7.2.3 se referirá a la subsección 3 de la sección 2 del documento HASHa7. Cuando se lee un libro en una colección de Greenstone, la jerarquía de las secciones figura en el índice del libro. Por ejemplo, los libros de la colección de demostración disponen de un índice jerárquico compuesto de capítulos, secciones y subsecciones como se muestra en la Figura 8a. Los documentos de la colección Computer Science Technical Reports no presentan una estructura jerárquica en subsecciones, pero cada documento está dividido en páginas y se puede navegar por las páginas de un documento recuperado. Los capítulos, las secciones, las subsecciones y las páginas se consideran simplemente “secciones” del documento.
Figure 8
(a)
Estructura jerárquica de la colección de demostración
Figure 8
(b)
Estructura jerárquica de la colección de demostración
La estructura del documento sirve también para los índices de búsqueda. Existen tres niveles posibles de índices: documento, sección y párrafo, aunque la mayoría de las colecciones no utilizan los tres niveles. Un índice de documento contiene el documento completo; se lo utiliza para encontrar todos los documentos en los que figura un conjunto determinado de palabras (los términos pueden estar repartidos por todo el documento, lejos unos de otros). Cuando se crea un índice de sección, cada porción de texto que se indiza se extiende desde una etiqueta <Section> hasta la siguiente etiqueta <Section>; por consiguiente, un capítulo que empieza directamente con una nueva sección producirá un documento vacío en el índice. Las secciones y subsecciones se tratan de la misma manera: la estructura jerárquica del documento se allana con objeto de crear índices de búsqueda. Para los índices de párrafos, útiles para búsquedas más específicas, cada párrafo se considera un documento aparte. En el menú desplegable de la Figura 8b se muestran los índices de búsqueda de la colección de demostración. Los “capítulos” y los “títulos de las secciones” son índices de nivel de la sección, mientras que los “libros enteros” son índices de nivel del documento. Al igual que los índices de texto, se pueden crear índices de cualquier tipo de metadatos. Por ejemplo, algunas colecciones proponen índices de búsqueda de títulos de sección, como se muestra en la Figura 8b. 1.5 Archivo de configuración de la colecciónEl archivo de configuración de la colección rige la estructura de una colección tal como la ve el usuario, lo que permite personalizar su aspecto y estilo, así como el modo en que se tratan y presentan los documentos. Cuando usted ejecuta mkcol.pl, se crea un simple archivo de configuración de colección en el que queda registrada su dirección electrónica como creador y responsable de la actualización. Recuérdese que el argumento creator es obligatorio, y a menos que se especifique por separado, se registra la misma información para el elemento maintainer (actualizador).
Table 8
Elementos del archivo de configuración de la colección
Cada línea del archivo de configuración de colección es básicamente un par “atributo, valor”. Cada atributo aporta una parte de información sobre la colección que determina su apariencia y el modo en que se van a tratar los documentos. En el Cuadro 8 se muestran los elementos que se pueden incluir en un archivo de configuración de colección y su utilización. Además, se pueden especificar todas las opciones de línea de comandos de los programas import.pl y buildcol.pl en un archivo de configuración de colección; por ejemplo, una línea que diga no_text true propondrá la opción no_text de buildcol.pl. El archivo de configuración de la colección creado por la secuencia de comandos mkcol.pl, que se muestra en el Cuadro 9, es muy simple y no contiene sino la información estrictamente necesaria. Las líneas 1 y 2, que proceden del valor creator suministrado al programa mkcol.pl, contienen las direcciones electrónicas de la persona encargada de la creación de la colección y de la persona encargada de actualizarla (no es necesariamente la misma).
Table 9
Archivo de configuración de colección creado mediante mkcol.pl
La línea 3 indica si la colección se pondrá a disposición del público una vez creada, mediante los valores true (el parámetro por defecto, que significa que la colección se podrá consultar públicamente) o false (que significa lo contrario). Esta última opción es útil cuando se crean colecciones para probar programas o para uso personal. La línea 4 indica si la colección es beta o no (el valor por defecto también es true (verdadero), lo que significa que la colección es una versión beta). La línea 5 determina los índices de colección que han de constituirse en el momento de la creación: en este ejemplo sólo se indizará el texto del documento. Existen tres niveles posibles de índices: document ( documento ), section ( sección ) y paragraph ( párrafo ). Pueden contener datos en formato text (texto) o en cualquier tipo de metadatos, por lo general Title (título). La forma que se utiliza para especificar el tipo de índice es nivel:datos. Por ejemplo, para incluir también un índice de títulos de sección, habría que sustituir la línea 5 por indexes document:text section:Title. Se puede incluir más de un tipo de datos en el mismo índice separando los tipos de datos por comas. Por ejemplo, para crear un índice en el nivel de sección que incluya títulos, texto y datos, la línea debería rezar indexes section:text,Title,Date. El índice por defecto que se define en la línea 6 es el valor por defecto que se utiliza en la página de búsqueda de la colección. Las líneas 7-13 especifican los conectores que se han de utilizar para convertir los documentos en el Formato de Archivo Greenstone y para crear colecciones a partir de archivos en el Formato de Archivo Greenstone. En la Sección 2.1 se proporciona información sobre los conectores disponibles. Los conectores se prueban en cada documento siguiendo el orden de su enumeración y cuando se encuentra un conector capaz de tratar un documento, no se prueba ninguno más. La línea 14 especifica que se va a crear una lista alfabética de títulos para facilitar la consulta. Las estructuras de consulta están compuestas por “clasificadores”. En la Sección 2.2 se proporciona información sobre los clasificadores y sus funciones. Las líneas 15-18 sirven para especificar los metadatos de nivel de colección. Se utiliza la forma larga del collectionname como “título” de la colección para el navegador de Internet. El atributo collectionicon proporciona la URL del icono de la colección. Si se especifica un índice (como en la línea 18), la cadena siguiente aparece en la página de búsqueda de la colección como el nombre de ese índice. Un metadato de nivel de colección particularmente importante es collectionextra, que suministra un texto entrecomillado en que se describe la colección. Este atributo aparecerá como texto en “Acerca de esta colección”. Se pueden introducir distintas versiones de collectionextra para las diferentes interfaces lingüísticas añadiendo la especificación de la lengua entre corchetes. Por ejemplo:
collectionmeta collectionextra “descripción de la coleción”
collectionmeta collectionextra [l=fr] “descripción en francés”
collectionmeta collectionextra [l=mi] “descripción en maorí” Si se introduce “fr” o “mi” como idioma de la interfaz, aparecerá en pantalla la correspondiente versión lingüística de la descripción. Para otras lenguas aparecerá la versión por defecto. Este archivo simple de configuración de colección no incluye ningún ejemplo de cadenas de formato, ni de las posibilidades de subcolección o de idiomas que ofrece el archivo de configuración. Las cadenas de formato se examinan más en detalle en la Sección 2.3, pero las subcolecciones y las posibilidades lingüísticas se abordarán en este capítulo. Las subcoleccionesGreenstone le permite definir subcolecciones y crear índices separados para cada una. Por ejemplo, en una colección hay un amplio subconjunto de documentos denominado Food and Nutrition Bulletin (boletín de los alimentos y la nutrición). Utilizaremos esta colección como ejemplo. Esta colección posee tres índices, todos de nivel de sección: el primero para toda la colección, el segundo para el Food and Nutrition Bulletin y el tercero para el resto de los documentos. A continuación se presentan las correspondientes líneas del archivo de configuración de la colección: indexes section:text
subcollection fn “Title/^Food and Nutrition Bulletin/i”
subcollection other “!Title/^Food and Nutrition Bulletin/i”
indexsubcollections fn other fn,other
La segunda y la tercera líneas definen las subcolecciones denominadas fn, que contendrá los documentos de Food and Nutrition Bulletin, y other, que contendrá el resto de los documentos. El tercer campo de estas definiciones es una expresión regular en Perl que identifica estos subconjuntos mediante el metadato Title : en el primer caso, buscamos títulos que empiecen por Food and Nutrition Bulletin y, en el segundo, otros títulos que no empiezan así (obsérvese el “!”). La i final permite que la búsqueda se haga sin distinción entre mayúsculas y minúsculas. El campo de metadatos, en este caso Title, puede ser cualquier campo válido, o Filename (nombre de archivo) que coincida con el nombre de archivo original del documento. La cuarta línea, indexsubcollections, especifica tres índices: uno para la subcolección fn, otro para la subcolección other, y el tercero para ambas subcolecciones (esto es, para todos los documentos). Obsérvese que si se hubiesen especificado dos entradas en la línea indexes, el número total de índices generado hubiese sido seis en lugar de tres. Si una colección contiene documentos en distintas lenguas, se pueden crear índices separados para cada lengua. La lengua es una instrucción de metadato; los valores se especifican a través de la norma ISO 639 que consta de un código de dos letras para representar los idiomas, por ejemplo, en para inglés, zh para chino y mi para maorí. Puesto que los valores de los metadatos pueden especificarse en el nivel de la sección, las diferentes partes de un documento pueden estar en distintos idiomas. Por ejemplo, si el archivo de configuración incluyese: indexes section:text section:Title document:text paragraph:text
languages en zh mi
los índices correspondientes al texto de la sección, al título de la sección, al texto del documento y al texto de los párrafos se crearían en inglés, chino y maorí: doce índices en total. Si se añaden un par de subcolecciones se multiplica de nuevo el número de índices. Es preciso tener cuidado a fin de evitar recargar el índice. (Esta especificación del índice podría definirse mediante la función subcollection en vez de la función languages. Sin embargo, como la sintaxis impide crear subcolecciones de subcolecciones, sería imposible indizar cada lengua por separado en las subcolecciones.) Búsqueda transversal en las coleccionesGreenstone tiene una función de “búsqueda transversal en las colecciones” que permite buscar en varias colecciones a la vez y combinar los resultados “entre bastidores” como si se estuviera buscando en una sola colección unificada. Se puede buscar en cualquier subconjunto de colecciones: la página de Preferencias le permite elegir las colecciones que se han de incluir en las búsquedas. La búsqueda transversal en las colecciones se activa mediante la línea siguiente: supercollection col_1 col_2 ...
en que las colecciones en cuestión se denominan col_1, col_2, ... La misma línea debe figurar en el archivo de configuración de cada una de las colecciones en cuestión. [1] Es posible que al ejecutar setup.bat en los sistemas Windows 95/98, aparezca el mensaje de error “Sin espacio en entorno”. Si ello sucede, deberá modificar su archivo de sistema config.sys (que normalmente se encuentra en C:\config.sys) y añadir la línea shell=C:\command.com /e:4096 /p (donde C: es la letra correspondiente a la unidad de sistema) para ampliar el tamaño de su cuadro de entorno. Será necesario volver a arrancar la computadora para que esta modificación surta efecto, y luego repetir los pasos anteriores para Greenstone. |
Copyright © 2002 2003 2004 2005 2006 2007 by the New Zealand Digital Library Project at the University of Waikato, New Zealand.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License.”