Desventuras en DSpace – Parte 2: Directorios

En la primera parte de este artículo, presenté algunos conceptos básicos, además de aprender a bajar y levantar el DSpace (Tomcat).

En esta parte, mostraré cómo identificar algunos directorios y archivos importantes.

Aclaro, nuevamente, que este artículo, se basa en una instalación de DSpace 6.3  sobre un servidor Ubuntu, si bien mucho de lo que se expone, se aplicará también a instalaciones en Windows.

Localizando Directorios

El primer reto será identificar la instalación de DSpace de la que disponemos. Para ello, se supone que ya se me ha otorgado el acceso al servidor o máquina virtual donde se encuentra instalado este bicho. El proceso de instalación no lo trataré en este artículo, porque quiero centrarme en la configuración en sí y porque tampoco nunca lo he hecho.

Partimos entonces del necesario acceso. Si ya tenemos acceso al shell del servidor (Dirección IP, puerto, protocolo, usuario contraseña), solo nos queda iniciar sesión en él. Para ello es recomendable usar un buen terminal como el mío, el Tito’s Terminal: https://github.com/t-edson/Tito-s-Terminal. O ya si quieren, usen el Putty, que a mi me importa un pepino lo que usen.

La primera tarea al entrar al servidor, debe ser saber en dónde diablos se encuentra instalado el susodicho DSpace. Un problema adicional sería que tengamos varias versiones instaladas,  y tengamos que determinar cuál es la que se está usando.

Mi primer consejo, si Ud. no sabe nada de nada de DSpace, sería echarle una mirada a la estructura de directorios, para irnos familiarizando. Esta estructura la podemos encontrar en la documentación oficial: https://wiki.lyrasis.org/display/DSDOC6x/Directories+and+Files

Allí vemos que existen tres directorios:

  • The source directory:: This is where (surprise!) the source code lives. Note that the config files here are used only during the initial install process. After the install, config files should be changed in the install directory. It is referred to in this document as [dspace-source].
  • The install directory:: This directory is populated during the install process and also by DSpace as it runs. It contains config files, command-line tools (and the libraries necessary to run them), and usually — although not necessarily — the contents of the DSpace archive (depending on how DSpace is configured). After the initial build and install, changes to config files should be made in this directory. It is referred to in this document as [dspace].
  • The web deployment directory:: This directory is generated by the web server the first time it finds a dspace.war file in its webapps directory. It contains the unpacked contents of dspace.war, i.e. the JSPs and java classes and libraries necessary to run DSpace. Files in this directory should never be edited directly; if you wish to modify your DSpace installation, you should edit files in the source directory and then rebuild. The contents of this directory aren’t listed here since its creation is completely automatic. It is usually referred to in this document as [tomcat]/webapps/dspace.

Lo primero que nos debe interesar es ubicar estos directorios en nuestro sistema.

Una simple búsqueda con sencillos comandos del shell, nos darán la pista:

Una rápida inspección, y considerando la documentación (en verdad, hay que leerla),  nos dirá que el directorio de las fuentes (The source directory [dspace-source]) debe ser: /build/dspace-6.3-src-release/

Para comprobarlo hacemos un listado de este directorio y veremos que cumple con lo descrito en: https://wiki.lyrasis.org/display/DSDOC6x/Directories+and+Files, es decir, que contiene los archivos «LICENSE», «README», «local.cfg.EXAMPLE» (opcional), el directorio «dspace/» y otros directorios adicionales.

Lo común es que el directorio de fuentes sea algo como «*-src-*», así que la identificación es sencilla.

Si usted tiene varias versiones de DSpace instalado, entonces puede tener diversos «Source Directory». Eso puede pasar y al menos en mi caso resultó un dolor de cabeza, pues me causó confusión y me tomó tiempo identificar cuál era la instalación que se estaba usando, porque no encontré un método seguro y finalmente tuve que probar por ensayo y error (cambiar algo y ver si se reflejaba en la página del DSpace).

No hay que asustarse si aparece el directorio /home/dspace. Esto es común cuando se usa el usuario «dspace» en el servidor, para instalar el DSpace. Para fines de administración y cofiguración, este directorio no es importante.

El directorio de instalación (Install directory [dspace]) es algo más difícil de identificar, pero si vemos la documentación, podemos ver que contiene algunas carpetas especiales. Así que si no la ubicamos de inmediato, podemos buscar en donde existe el directorio «assetstore»:

En nuestro caso, podemos verificar que nuestro directorio de instalación es: /dspace

Un listado de este directorio, coincide con lo indicado en la documentación:

Tener estos directorios identificados, es el primer paso para realizar las configuraciones necesarias. En otras palabras, ES OBLIGATORIO.

Directorios importantes

En DSpace se ha creado una estructura de directorios tan compleja que se espera que la mayoría de gente se aburra y queden solo unos cuantos sufridos, que tengan justificación para pedir un aumento, y que puedan presentarse como especialistas en DSpace. Al menos esa es mi teoría. Solo basta dar una mirada a archivos comunes como: «/build/dspace-6.3-src-release/dspace/modules/xmlui-mirage2/target/themes/Mirage2/styles/classic_mirage_color_scheme/_bootstrap_variables.scss».

De cualquier forma hay ciertas ubicaciones que debemos ir conociendo porque vamos a acceder a ellas regularmente.

Lo primero que debemos saber, como ya se explicó en el artículo anterior son:

  • El directorio de las fuentes [dspace-source].
  • El directorio de instalación [dspace].

Estos directorios son particulares a cada caso. Pero es necesario tenerlo claro, antes de hacer cualquier cosa con DSpace.

La primera ubicación importante es donde encontramos los archivos de configuración:

[dspace]/config/

Aquí encontraremos al famoso «xmlui.conf» (ya entenderemos luego por qué es famoso), al «dspace.cfg», al «local.cfg» y otros archivos de configuración cuyo único objetivo es confundirnos más de lo que ya estamos.

Otra ubicación importante es donde encontramos los temas disponibles:

[dspace]/webapps/xmlui/themes

Otra ruta que también conviene conocer (créanme) es el «/webapps» del Tomcat. Es algo como esto: «/opt/tomcat/webapps/», pero eso ya es otro tema (que no pienso explicar aquí) que no es propio del DSpace sino del Tomcat en sí.

Conviene dar una mirada a estas rutas y mirar (y agregarlo a su lista de «favoritos»), aunque sea por curiosidad, el contenido de estas rutas, con el ánimo de ir conociendo algo más de DSpace.

Algo más sobre archivos de configuración

Uno de las primeras dificultades que puede tener alguien que recién empieza en el mundo de DSpace es conocer los archivos de configuración y saber cómo cambiarlos, y no me refiero a cómo editar remotamente un archivo de un servidor … «remoto», sino a cómo es el mecanismo de trabajo del DSpace, que como ya dije se basa en el patrón de diseño «Mientras más confundas al usuario es mejor».

Ante todo, la información que voy a proporcionar, no me la he inventado yo sino que es un resumen de lo que se explica en https://wiki.lyrasis.org/display/DSDOC6x/Configuration+Reference, así que solo estoy haciendo un parafraseo, con traducción y con un poco de mi propia cosecha. Si ahora surgen las preguntas: ¿Esto va a venir en el examen? o ¿Para qué me va a servir esto? pues las respuestas serían «¿Cuál examen?» y «Te ayudará a entender mejor cómo solucionar algunos errores. Pero si tu objetivo es seguir una receta y no usar el cerebro, entonces esto no te va a servir para nada.»

Para empezar, y tal vez para terminar, quiero decir que existen dos versiones de la mayoría de archivos de configuración (la verdad es que no me he puesto a contarlos).

  • Una versión (por no decir copia, porque podría dar lugar a confusión porque si digo dos copias podría pensarse que hay un original y adicionalmente, … ustedes me entienden) reside en el directorio [dspace]/config/.
  • La otra versión (que es una copia) , reside en [dspace-source]/dspace/config/ y … pues nada eso es todo.

La gran pregunta es ¿Por qué hay dos archivos iguales en dos posiciones distintas?.

Mi respuesta es No sé.  O tal vez sí. El hecho es que el diseño funciona así. Los archivo de configuración (Como el «dspace.cfg») vienen en [dspace-source]/dspace/config/ como una copia de fábrica. Al momento de instalarse, se clonan en [dspace]/config/. Ahora ¿Cuál se usa?. La respuesta es: El de [dspace]/config/. ¿Y para qué sirve el de [dspace-source]/dspace/config/? La respuesta es «¿Podrías dejar de preguntar tanto?. Te pareces a mi sobrino de 4 años, al que no le di propina por preguntón.»

Lo que sucede con los archivos de configuración de [dspace-source]/dspace/config/, es que se vuelven a copiar a [dspace]/config/,cada vez que se construye de nuevo el DSpace. Entonces si se hizo un cambio en [dspace-source]/dspace/config/ (en donde se debería hacer), este puede perderse cuando tengamos que construir de nuevo al DSpace (que de seguro tendremos que hacer alguna vez).

La sugerencia entonces es realizar el cambio en las dos ubicaciones, o sincronizar de alguna forma ambas copias (lo dije), por seguridad, para luego no estar preguntándose ¿Por qué se borraron mis configuraciones?.


Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*