|Table of Contents|
Mirage has been the default XMLUI theme since DSpace 1.7 and has been used as base point for most custom themes. DSpace 5 includes Mirage 2, also developed by @mire, an upgrade to Mirage built on modern web technologies. The predominant improvement for the end user is the responsive design. Repository admins and developers will also benefit because of the tools available to make both simple and advanced customizations.
A responsive website is a website that rearranges its content to fit in different screen sizes. The main focus is to provide a better overall user experience whether you're browsing on a mobile phone, a tablet or desktop computer. As opposed to using a separate mobile theme, there's only one version of the website that will work everywhere. A simply way to find out what the differences are between a narrow screen and a larger screen in Mirage 2, go to any webpage and resize the browser window. You will notice the sidebar is only shown when the window is large enough, otherwise a menu button is displayed to get to the sidebar options. The theme provides a distinct look for each of the 3 different categories of screen sizes: mobile, tablet and desktop.
The build process and enabling Mirage 2
The modern web technologies that power Mirage 2 include a precompiler (Compass), a package manager (Bower) and a task runner (Grunt). These tools can only be installed when some prerequisites are present on the system. DSpace's Maven build process is capable of making a temporary installation of these dependencies just so the theme can be built. However the overall build time will be significantly shortened if these dependencies are manually installed on the system (see below for more info).
You will need Maven 3.1 or higher.
|All of the Mirage 2 builds require git. Make sure to install git before starting any of the Mirage 2 builds.|
By default, DSpace does not build the Mirage 2 theme (as it lengthens the normal build process). However, you can easily tell DSpace to build Mirage 2 by running the following from your
mvn package -Dmirage2.on=true
If you wish to speed up the Mirage 2 build process, you can do so by pre-installing all of the Mirage 2 dependencies on your system (by default they will be downloaded each time you rebuild Mirage 2). This will significantly shorten the build process for Mirage 2. More information on installing these prerequisites can be found in the Developer Documentation for Mirage 2 . Once these prerequisites have been installed on your local server, you can then build Mirage 2 more rapidly by running:
# WARNING: This command will only work if you've manually installed *all* the prerequisites for Mirage 2 mvn package -Dmirage2.on=true -Dmirage2.deps.included=false
Using an exclamation mark character ("!") in Maven directory name will cause a Mirage 2 build to fail. See:
Jira server DuraSpace JIRA serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key DS-2749
After building Mirage 2, you can install this theme into your DSpace by simply re-running Ant from
To enable Mirage 2, a dd the following to the
<themes>section of your
xmlui.xconf, replacing the currently active theme:
<theme name="Mirage 2" regex=".*" path="Mirage2/" />
- Finally, restart your Tomcat or servlet container, and you should see the Mirage 2 theme.
Manage your local Mirage 2 customizations or derived themes in:
Managing your local customizations in this folder comes with the advantage that you ONLY need to keep files you have changed, compared to the standard Mirage 2 folder. To get you started, the contributors have added a
The Mirage 2 color scheme
The classic mirage theme is a customization of the bootstrap theme. Thanks to the sass variables, a complete color scheme can be conceived by modifying one or two variables. These variables are set in the theme's
/styles/classic_mirage_color_scheme/_bootstrap_variables.scss. Copy this file into
[dspace-source]/dspace/modules/xmlui-mirage2/src/main/webapp/themes/Mirage2 and see what happens when you change
$brand-primary. More detailed information on how to customize this file can be found in the Mirage 2 readme.
How to reuse an existing bootstrap theme is also explained in that section.
You can make these changes in the bower.json file: bower.json
As mentioned in the previous section, make sure you manage this file and any changes you make to it in
[dspace-source]/dspace/modules/xmlui-mirage2/src/main/webapp/themes/Mirage2). It is not recommended to update the officially distributed bower.json file directly in
Specific guidelines and technical details about Mirage 2 are part of the Readme.MD file in the Mirage 2 sourcetree.