Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Investigating bringing CGSpace XMLUI themes into the 4.x world

Update XMLUI themes for new DSpace 4.x code / assets

The current CGSpace XMLUI themes are based on XMLUI as it was around DSpace 1.7/1.8, but were slightly update to take advantage of DSpace 3.x features, code, etc. We need to check the contents of current CGSpace XMLUI themes against the latest DSpace 4.x Mirage for new code, assets, best practices, etc.

From a brief look at the code, it seems this could happen in two phases:

  • Phase 1: static, unchanged assets like images and JavaScript which we can copy in verbatim
  • Phase 2: customized layout / display code like CSS and XSL which we have to integrate manually

Phase 1

Image directories:

  • dspace-xmlui/src/main/webapp/themes/Mirage/images/controlledvocabulary
  • dspace-xmlui/src/main/webapp/themes/Mirage/images/creativecommons

Image files:

  • dspace-xmlui/src/main/webapp/themes/Mirage/images/jquery_ui/*.png
  • dspace-xmlui/src/main/webapp/themes/Mirage/images/*.png


Pretty obvious, we just need the latest of everything. Copy all the files:

  • dspace-xmlui/src/main/webapp/themes/Mirage/lib/js/*


Trivial cleanups like licenses and spacing:

  • dspace-xmlui/src/main/webapp/themes/Mirage/lib/css/HTML5Doctor_CSS_Reset.LICENSE
  • dspace-xmlui/src/main/webapp/themes/Mirage/lib/css/authority-control.css
  • dspace-xmlui/src/main/webapp/themes/Mirage/lib/css/jquery-ui-1.8.15.custom.css dspace-xmlui/src/main/webapp/themes/Mirage/lib/css/yui.LICENSE

Phase 2

Trickier, as we have customized some of the CSS for XMLUI look and feel, but we need to account for new styles which are used by new DSpace features.


Lots of new things in style.css:

  • Font sizes are set at the top and the rest of the page uses relative sizes
  • Page width is set on the top elements
  • Lots of new HTML elements for new DSpace features
  • Lots of old misleading comments / new useful comments


These are very tricky because they include custom layouts, but also support new DSpace features / paradigms. We need to do this manually for each XMLUI theme!

Get latest headers from here:

  • dspace-xmlui/src/main/webapp/themes/Mirage/lib/xsl/aspect/artifactbrowser/item-view.xsl

Lots of changes in dspace-xmlui/src/main/webapp/themes/Mirage/lib/xsl/core/page-structure.xsl:

  • Remove ds-user-box display
  • Remove OpenSearch description.xml
  • Preserve custom header link, like (ds-header-logo-link)
  • Preserve custom Google Analytics keys
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment