It is anticipated that the customisation features described in the JSPUI and XMLUI customisation sections will be sufficient to satisfy the needs of the majority of users, however, some users may want to customise DSpace further, or just have a greater understanding of how to do so.

Maven WAR Overlays

Much of the customisation described in the JSPUI and XMLUI customisation sections is based on [Maven WAR Overlays|http://maven.apache.org/plugins/maven-war-plugin/overlays.html]. In short, any classes or files placed in {{\[dspace-source\]/dspace/modules/*}} will be overlayed onto the selected WAR. This includes both new and amended files.

For more details on Maven WAR Overlays and how they relate to DSpace, see this presentation from Fall 2009: Making DSpace XMLUI Your Own
(Please note that this presentation was made for DSpace 1.5.x and 1.6.x, but much of it still applies to current versions of DSpace.)

DSpace Source Release

If you really want to get your hands dirty you may have downloaded the 'dspace-src-release' (or checked out the latest DSpace Code via [Subversion|http://scm.dspace.org/svn/repo/dspace/]) and wish to make changes to dspace-api source code. In that case it should be noted that DSpace should be rebuilt by running '{{mvn package}}' from the root {{\[dspace-source\]}} directory rather than from {{\[dspace-source\]/dspace}}. This will ensure that your modifications are included in the final WAR files. 

In other words, with the 'dspace-src-release' there are two build options:

  1. Running {{mvn package}} from the root {{\[dspace-source\]}} directory
  2. Running {{mvn package}} from the {{\[dspace-source\]/dspace/}} directory