Skip to content
Facundo edited this page Apr 22, 2019 · 6 revisions

Mirage2 es uno de los estilos visuales más modernos que ofrece el frontend de DSpace 6. Para instalarlo hay que seguir una serie de pasos.

Dependencias

Mirage 2 hace uso de dos importantes dependencias: Node.js y Ruby. Esto se debe a que utiliza un conjunto de librerías que dependen de ellas para el desarrollo de este nuevo tema:

NodeJS
  |
   --> Bower
  |
   --> Grunt
  |
   --> HandleBars, Modernizr, etc
Ruby
  |
   --> Sass
  |
   --> Compass

[!] Importante [!]

El usuario utilizado durante la instalación tiene que pertenecer al grupo sudoer. Este es un requerimiento para poder instalar rvm.

Instalación de dependencias

  • curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
  • Cerrar y abrir nuevamente la terminal
  • nvm install --lts=boron && nvm alias default lts/boron

Si aparece el siguiente error: nvm is not compatible with the npm config "prefix" option: currently set to "~/.nvm/versions/node/v6.10.0" ejecutar: nvm use --delete-prefix v6.10.0. La v6.10.0 corresponde a una versión lts/boron...

  • npm install -g bower && npm install -g grunt && npm install -g grunt-cli
  • curl -sSL https://get.rvm.io | bash -s stable --ruby

Si aparece el siguiente error: gpg: Can't check signature: No public key ejecutar: gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 y luego volver a ejecutar el comando anterior. Si el comando gpg2 anterior falla, ejecutar: curl -sSL https://rvm.io/mpapis.asc | sudo gpg2 --import, y luego volver a ejecutar el comando de instalación de rvm.

NOTA: es necesario ejecutar este comando con un usuario que pertenezca a sudoers debido a que durante la instalación necesita instalar algunas dependencias en el sistema para que rvm se instale correctamente. (P.e. aparecerá un mensaje como el siguiente :Installing required packages: gawk, g++, gcc, make, libc6-dev, libreadline6-dev, zlib1g-dev, libssl-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgmp-dev, libgdbm-dev, libncurses5-dev, automake, libtool, bison, pkg-config, libffi-dev).

Si aparece el siguiente error durante la instalación de Ruby: RVM was not able to detect your system ..., entonces luego de la instalación de RVM probar de ejecutar source ~/.rvm/scripts/rvm, y agregar el usuario actual al grupo rvm. Ahora probar nuevamente la instalación de ruby con rvm install <versión_ruby>.

  • Cerrar la termina actual, volver a abrila y ejecutar rvm list. Fijarse que versión de ruby aparece en el output (p.e. imagenemos que diga ext-ruby-2.2.5-p319).
  • Ejecutar el comando rvm --default use $ruby_version (donde dice $ruby_version habria que poner la version de ruby que en el paso anterior nos salió en el output).

Si aparece el siguiente eror: RVM is not a function, selecting rubies with 'rvm use ...' will not work., configurar la terminal previamente como una "Login Shell" (fijarse en https://rvm.io/integration/gnome-terminal). Luego ejecutar el paso anterior nuevamente.

  • gem install sass -v 3.3.14 && gem install compass -v 1.0.1

Instalación de Mirage2

Para habilitar e instalar el tema de Mirage2 hay que configurar el archivo dspace/config/xmlui.xconf:

  1. Dejar habilitado únicamente el theme Mirage2 agregando la siguiente línea en la sección <theme> de este archivo
<!-- Mirage2 Theme-->
<theme name="Mirage 2" regex=".*" path="Mirage2/" />
Compilación del theme

Tanto como para la primera compilacion como para posteriores compilaciones debido a cambios en el código, es necesario ejecutar el siguiente comando:

mvn clean package -Dmirage2.on=true -Dmirage2.deps.included=false -P mirage2_dev

El profile mirage2_dev sólo es utilizado para nuestro entorno de desarrollo y NO debe ejecutarse este profile en un entorno de producción (es decir, hay que quitarle el -P).

La documentacion completa se encuentra en https://github.com/DSpace/DSpace/tree/dspace-6_x/dspace-xmlui-mirage2#introduction.

Si hay problemas en ésta etapa (puede ser que salte esta excepción maven), puede llegar a ser que maven NO está usando la JDK correcta (aunque cuando se ejecute java -version si se indique la versión correcta). En Dspace v6 se necesita instalar la Java JDK 7 cómo requerimiento mínimo. Si se tiene un problema similar al de éste enlace, ejecutar la siguiente linea:

~$ JAVA_HOME=path_to_jdk_8 mvn package -Dmirage2.on=true -Dmirage2.deps.included=false -P mirage2_dev

Ésto permitirá que durante el tiempo de ejecución de mvn se utilice la JDK indicada en la variable de entorno JAVA_HOME (p.e. /usr/lib/jvm/java-1.8.0-openjdk-i386/).

NOTA: el directorio al que apunta JAVA_HOME debe ser el del entorno del desarrollo de java (es decir, debe contener todas las herramientas disponibles en JRE, como tools.jar).