BIBLIOTECA DIGITAL GREENSTONE
David Bainbridge, Dana McKay e Ian H. Witten
Departamento de Informática
Universidad de Waikato, Nueva Zelandia
Greenstone es un conjunto de programas informáticos destinado a la creación y difusión de colecciones documentales digitales que ofrece un nuevo procedimiento para organizar la información y publicarla en Internet o en forma de CD-ROM. Elaborado dentro del proyecto de Biblioteca Digital de Nueva Zelandia de la Universidad de Waikato, este producto se distribuye en colaboración con la UNESCO y el Proyecto de Bibliotecas sobre Aspectos Humanitarios y de Desarrollo. Es un programa informático de código fuente abierto (open-source software), que puede descargarse en la dirección http://greenstone.org según las condiciones estipuladas en la Licencia Pública General de GNU
Nuestro deseo es garantizar el correcto funcionamiento de este programa, por lo que alentamos a sus usuarios a notificar cualquier problema que detecten a: greenstone@cs.waikato.ac.nz
Greenstone gsdl-2.50 Marzo de 2004
En este manual se explica cómo funciona Greenstone. Se dirige a aquellos que desean personalizar las colecciones y desarrollar y mantener al día el programa.
En la Sección 1 se da una idea general del proceso de creación de colecciones, que comprende la estructura de los directorios, el formato de documento interno y el archivo de configuración por el que se rige la estructura de cada colección. En la Sección 2 se describen las partes de Greenstone que tratan los documentos de origen (y los metadatos) y se muestra cómo se accede a la información mediante la interfaz de usuario. Se definen asimismo los componentes “externos” del programa distribuidos con Greenstone. En la Sección 3 se explica la estructura del sistema de ejecución de Greenstone y se proporciona información sobre el programa que permite comprender su funcionamiento y el modo de modificar el sistema para adaptarlo a las distintas necesidades. En la Sección 4 se exponen los archivos de configuración, y en el Apéndice se presenta la biblioteca estándar de plantillas C++ ( SLT).
Es posible que cuando utilice el programa Greenstone aparezcan referencias a características que no figuran en este manual, ya que Greenstone se encuentra en constante evolución. Para estar al tanto de las modificaciones, inscríbase a la lista de correo electrónico de Greenstone (siga las instrucciones en greenstone.org).
La serie completa de documentos Greenstone comprende cinco volúmenes:
El programa Greenstone es fruto de la colaboración de muchas personas. Rodger McNab y Stefan Boddie son los principales arquitectos y programadores. También han contribuido David Bainbridge, George Buchanan, Hong Chen, Michael Dewsnip, Katherine Don, Elke Duncker, Carl Gutwin, Geoff Holmes, Dana McKay, John McPherson, Craig Nevill-Manning, Dynal Patel, Gordon Paynter, Bernhard Pfahringer, Todd Reed, Bill Rogers, John Thompson y Stuart Yeates. Otros miembros del proyecto Biblioteca Digital de Nueva Zelanda que proporcionaron asesoría y valiosas ideas para la concepción del sistema son: Mark Apperley, Sally Jo Cunningham, Matt Jones, Steve Jones, Te Taka Keegan, Michel Loots, Malika Mahoui, Gary Marsden, Dave Nichols y Lloyd Smith. También queremos dar las gracias a todos aquellos que contribuyeron a los paquetes de programas con licencias GNU incluidos en esta distribución: MG, GDBM, PDFTOHTML, PERL, WGET, WVWARE y XLHTML.
Los 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 3 ). 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.
A 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.
El 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:
(Son necesarias las comillas debido a los espacios existentes en Program Files.) A continuación, teclee en el indicador:
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í:
(o mkcol.pl –creator me@cs.waikato.ac.nz 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:
|
creator me@cs.waikato.ac.nz
|
|
maintainer me@cs.waikato.ac.nz
|
|
public true
|
|
beta true
|
|
indexes document:text
|
|
defaultindex document:text
|
|
plugin ZIPPlug
|
|
plugin GAPlug
|
|
plugin TEXTPlug
|
|
plugin HTMLPlug
|
|
plugin EMAILPlug
|
|
plugin ArcPlug
|
|
plugin RecPlug
|
|
classify AZList -metadata "Title"
|
|
collectionmeta collectionname "dlpeople"
|
|
collectionmeta iconcollection ""
|
|
collectionmeta collectionextra ""
|
|
collectionmeta .document:text "documents"
|
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
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 –creatorme@cs.waikato.ac.nz 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 perl –S 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
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:
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:
y luego cambiar el nombre del directorio building por el de index tecleando:
Por último, teclee:
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.
En resumen, los comandos que se han de teclear para general la colección dlpeople son los siguientes:
En 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
Luego en el indicador, teclee
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.
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í:
¡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:
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:
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:
Luego teclee:
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 –creatorme@cs.waikato.ac.nz 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
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:
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:
(suponiendo que se encuentre en el directorio dlpeople) en el indicador. A continuación teclee:
|
Windows |
Linux |
|
|
Ejecutar setup.bat para poder acceder a los programas Greenstone |
Cargar setup.bash o setup.csh para poder acceder a los programas |
|
|
Copiar los archivos del CD-ROM utilizando el administrador gráfico de archivos o los comandos de Windows |
Copiar los archivos del CD-ROM utilizando mount y los comandos de Unix |
|
|
El directorio index de la antigua colección se sustituye tecleando rd /s index, luego ren building index seguido de mkdir building, o utilizando el administrador de archivos gráficos. |
El directorio index de la antigua colección se sustituye tecleando rm –r index/ * luego mv building/* index |
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:
El 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.
En 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.
|
Contenido |
Sección |
|
|
bin |
Código ejecutable, que incluye binarios en el directorio que lleva el nombre de su sistema operativo. |
- |
|
bin/script |
Guiones Perl utilizados para crear y constituir colecciones (por ejemplo, import.pl y buildcol.pl). Para obtener una descripción de cualquiera de estos programas, teclee su nombre en el indicador de comandos. |
1.3 |
|
perllib |
Módulos Perl utilizados durante la importación y la creación (conectores, por ejemplo). |
2.1 |
|
perllib/plugins |
Código Perl para los conectores de tratamiento de documentos. |
2.1 |
|
perllib/classify |
Código Perl para clasificadores (por ejemplo, el código AZList que elabora una lista de documentos basada en el orden alfabético de un atributo). |
2.2 |
|
cgi-bin |
Todos los guiones CGI de Greenstone que se trasladan al directorio cgi-bin del sistema. |
- |
|
tmp |
Directorio utilizado por Greenstone para almacenar archivos temporales. |
- |
|
etc |
Archivos de configuración, registros de inicialización y de errores, bases de datos de autorización de usuarios. |
- |
|
src |
Código C++ utilizado para suministrar colecciones a través de un servidor Web. |
3 |
|
src/colservr |
Código C++ para suministrar colecciones, responder a consultas y demás. |
|
|
src/recpt |
Código C++ para obtener consultas desde la interfaz de usuario y formatear las respuestas para esta interfaz. |
3.8 |
|
packages |
Códigos fuente para paquetes de programas informáticos ajenos a Greenstone pero utilizados por éste. |
2.5 |
|
packages/mg |
El código fuente de MG, programa de compresión e indización utilizado por Greenstone. |
2.5 |
|
mappings |
Cuadros de correspondencia Unicode (por ejemplo para los caracteres chinos GB). |
- |
|
macros |
Los archivos de macros utilizados para la interfaz de usuario. |
2.4 |
|
collect |
Colecciones que se suministran a partir de este ejemplar de Greenstone. |
1.1 |
|
lib |
Código fuente C++ utilizado por el servidor de colección y por el recepcionista. |
3.1 |
|
images |
Imágenes utilizadas en la interfaz de usuario. |
- |
|
docs |
Documentación. |
- |
En 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).
|
Argumento |
Función |
|
|
-verbosity |
Número 0-3 |
Controla la cantidad de información sobre el proceso que se visualiza como error estándar: 0 significa un poco, 3 mucho. |
|
-archivedir |
Nombre de directorio |
Especifica dónde están almacenados los archivos en el Format de Archivo Greenstone (Greenstone Archive Files), esto es, dónde los guarda import.pl y donde los encuentra buildcol.pl. El valor por defecto es GSDLHOME/collect/nombre_col/archives. |
|
-maxdocs |
Número >0 |
Indica el número máximo de documentos que se pueden importar o crear. Esta opción es útil cuando se prueba el archivo de configuración de una nueva colección o se ensayan nuevos conectores. |
|
-collectdir |
Nombre de directorio |
Especifica dónde se puede encontrar la colección. El valor por defecto es GSDLHOME/collect |
|
-out |
Nombre de archivo |
Especifica un archivo en el que se escriben todos los mensajes producidos, que por defecto se visualizan como error estándar (esto es, en la pantalla). Opción útil cuando se trabaja con niveles de depuración. |
|
-keepold |
Ninguno |
No suprime el resultado de la operación de importación o creación anterior. En caso de importación, no suprime el contenido del directorio archives ; en caso de creación, no suprime el contenido del directorio building. |
|
-debug |
Ninguno |
Muestra la salida del conector en la salida estándar. |
La 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).
|
Argumento |
Función |
|
|
-importdir |
Nombre de directorio |
Indica dónde se puede encontrar el material que se ha de importar. El valor por defecto es GSDLHOME/collect/nombre_col/archives. |
|
-removeold |
Ninguno |
Suprime el contenido del directorio archives antes de importar. |
|
-gzip |
Ninguno |
Comprime los documentos de archivos de Greenstone producidos por import (ZIPPlug debe formar parte de la lista de conectores y gzip ha de estar instalado en su computadora). |
|
-groupsize |
Número >0 |
Número de documentos que se pueden reunir en un archivo en el Format de Archivo de Greenstone. El valor por defecto es 1 (esto es, un documento por archivo). |
|
-sortmeta |
Nombre de etiqueta de metadatos |
Clasifica alfabéticamente los documentos según el contenido de la etiqueta de metadatos. Sin embargo, esta función queda invalidada si la colección tiene más de un grupo en la colección (por ejemplo, groupsize >1). |
|
-OIDtype |
hasho incremental |
Método de creación de las OID para los documentos: hash desmenuza el contenido pero es lento; incremental simplemente asigna números de manera secuencial a los documentos y es más rápido. |
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).
Durante 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.
|
Argumento |
Función |
|
|
-builddir |
Nombre de directorio |
Especifica dónde se ha de almacenar el resultado de la creación. (El valor por defecto es GSDLHOME/collect/nombre_col/building). |
|
-index |
Nombre del índice (por ejemplo, section:Title) |
Especifica qué índices crear. El valor por defecto es la totalidad de los índices indicados en el archivo de configuración de la colección. |
|
-allclassifications |
Ninguno |
Evita que el proceso de creación elimine las clasificaciones que no contienen documentos (por ejemplo, la clasificación “X” en los títulos, si no hay documentos cuyo título empiece por la letra X). |
|
-create_images |
Ninguno |
Crea automáticamente los iconos de colección (para ello es necesario haber instalado GIMP y el módulo Gimp Perl). |
|
-mode |
all, compress_text, infodb, o build_index |
Determina lo que debe hacer el proceso de creación. (El valor por defecto es all). all lleva a cabo una creación completa, compress_text sólo comprime el texto del documento, infodb crea una base de datos de informaciones sobre la colección (nombres, archivos, archivos asociados, información sobre la clasificación y otros) y build_index crea los índices especificados en el archivo de configuración de la colección o en la línea de comandos. |
|
-no_text |
No almacena texto comprimido. Esta opción es útil para minimizar el tamaño de los índices creados si desea visualizar siempre los documentos originales en el momento de la ejecució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.
Todos 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 ".
|
<!DOCTYPE GreenstoneArchive [
|
|
<!ELEMENT Section (Description,Content,Section*)>
|
|
<!ELEMENT Description (Metadata*)>
|
|
<!ELEMENT Content (#PCDATA)>
|
|
<!ELEMENT Metadata (#PCDATA)>
|
|
<ATTLIST Metadata name CDATA #REQUIRED>
|
|
]>
|
|
<?xml version="1.0" ?>
|
|
<!DOCTYPE GreenstoneArchive SYSTEM
|
|
"http://greenstone.org/dtd/GreenstoneArchive/1.0/GreenstoneArchive.dtd">
|
|
<Section>
|
|
<Description>
|
|
<Metadata name="gsdlsourcefilename">ec158e.txt</Metadata>
|
|
<Metadata name="Title">Freshwater Resources in Arid Lands</Metadata>
|
|
<Metadata name="Identifier">HASH0158f56086efffe592636058</Metadata>
|
|
<Metadata name="gsdlassocfile">cover.jpg:image/jpeg:</Metadata>
|
|
<Metadata name="gsdlassocfile">p07a.png:image/png:</Metadata>
|
|
</Description>
|
|
<Section>
|
|
<Description>
|
|
<Metadata name="Title">Prólogo</Metadata>
|
|
</Description>
|
|
<Content>
|
|
Eso es el texto del prólogo
|
|
</Content>
|
|
</Section>
|
|
<Section>
|
|
<Description>
|
|
<Metadata name="Title">Primer y único capítulo</Metadata>
|
|
</Description>
|
|
<Section>
|
|
<Description>
|
|
<Metadata name="Title">Parte 1</Metadata>
|
|
</Description>
|
|
<Content>
|
|
Eso es la primera parte del primer y único capítulo
|
|
</Content>
|
|
</Section>
|
|
<Section>
|
|
<Description>
|
|
<Metadata name="Title">Parte 2</Metadata>
|
|
</Description>
|
|
<Content>
|
|
Eso es la segunda parte del primer y único capítulo
|
|
</Content>
|
|
</Section>
|
|
</Section>
|
|
</Section>
|
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.
|
gsdlsourcefilename |
Archivo original a partir del cual se generó el archivo de archivo de Greenstone |
|
gsdlassocfile |
Archivo asociado con el documento (un archivo gráfico, por ejemplo) |
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.
Los 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).
|
Nombre |
Subetiqueta de metadato |
Definición |
|
*Título |
Title |
Nombre que se da al recurso |
|
*Creador |
Creator |
Entidad encargada principalmente de crear el contenido del recurso |
|
*Tema y palabras clave |
Subject |
Tema del contenido del recurso |
|
*Descripción |
Description |
Explicación del contenido del recurso |
|
*Editor |
Publisher |
Entidad encargada de publicar el recurso |
|
Contribuidor |
Contributor |
Entidad encargada de aportar contribuciones al contenido del recurso |
|
*Fecha |
Date |
Fecha en que se publicó el recurso o cualquier otra fecha importante asociada con el recurso. |
|
Tipo de recurso |
Type |
Índole o tipo del contenido del recurso |
|
Formato |
Format |
Representación física o digital del recurso |
|
*Identificador de recurso |
Identifier |
Referencia inequívoca al recurso en un contexto determinado: se trata del identificador de objeto u OID |
|
*Fuente |
Source |
Referencia a un recurso del que deriva el presente recurso |
|
*Lengua |
Language |
Lengua del contenido intelectual del recurso |
|
Relación |
Relation |
Referencia a un recurso conexo |
|
*Cobertura |
Coverage |
Extensión o alcance del contenido del recurso |
|
Gestión de los derechos |
Rights |
Información sobre los derechos relacionados con el recurso o atinentes a éste |
El 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