This documentation relates to an old, unsupported version of DSpace, version 1.7.x. Looking for another version? See all documentation.
As of January 2014, the DSpace 1.7.x platform is no longer supported. We recommend upgrading to a more recent version of DSpace.
DSpace System Documentation: JPSUI Configuration and Customization
The DSpace digital repository supports two user interfaces: one based on JavaServer Pages (JSP) technologies and one based upon the Apache Cocoon framework (XMLUI). This chapter describes those parameters which are specific to the JPSUI interface.
The user will need to refer to the extensive WebUI/JSPUI configurations that are contained in JSP Web Interface Settings.
Customizing the JSP pages
The JSPUI interface is implemented using Java Servlets which handle the business logic, and JavaServer Pages (JSPs) which produce the HTML pages sent to an end-user. Since the JSPs are much closer to HTML than Java code, altering the look and feel of DSpace is relatively easy.
To make it even easier, DSpace allows you to 'override' the JSPs included in the source distribution with modified versions, that are stored in a separate place, so when it comes to updating your site with a new DSpace release, your modified versions will not be overwritten. It should be possible to dramatically change the look of DSpace to suit your organization by just changing the CSS style file and the site 'skin' or 'layout' JSPs in jsp/layout; if possible, it is recommended you limit local customizations to these files to make future upgrades easier.
You can also easily edit the text that appears on each JSP page by editing the Messages.properties file. However, note that unless you change the entry in all of the different language message files, users of other languages will still see the default text for their language. See Internationalization in Application Layer.
Note that the data (attributes) passed from an underlying Servlet to the JSP may change between versions, so you may have to modify your customized JSP to deal with the new data.
Thus, if possible, it is recommended you limit your changes to the 'layout' JSPs and the stylesheet.
The JSPs are available in one of two places:
- [dspace-source]/dspace-jspui/dspace-jspui-webapp/src/main/webapp/ - Only exists if you downloaded the full Source Release of DSpace
- [dspace-source]/dspace/target/dspace-[version].dir/webapps/dspace-jspui-webapp/ - The location where they are copied after first building DSpace.
If you wish to modify a particular JSP, place your edited version in the [dspace-source]/dspace/modules/jspui/src/main/webapp/ directory (this is the replacement for the pre-1.5 /jsp/local directory), with the same path as the original. If they exist, these will be used in preference to the default JSPs. For example:
Heavy use is made of a style sheet, styles.css. If you make edits, copy the local version to [jsp.custom-dir]/dspace/modules/jspui/src/main/webapp/styles.css, and it will be used automatically in preference to the default, as described above.
Fonts and colors can be easily changed using the stylesheet. The stylesheet is a JSP so that the user's browser version can be detected and the stylesheet tweaked accordingly.
The 'layout' of each page, that is, the top and bottom banners and the navigation bar, are determined by the JSPs /layout/header-*.jsp and /layout/footer-*.jsp. You can provide modified versions of these (in [jsp.custom-dir]/dspace/modules/jspui/src/main/webapp/layout), or define more styles and apply them to pages by using the "style" attribute of the dspace:layout tag.
- Rebuild the DSpace installation package by running the following command from your [dspace-source]/dspace/ directory:
- Update all DSpace webapps to [dspace]/webapps by running the following command from your [dspace-source]/dspace/target/dspace-[version]-build.dir directory:
ant -Dconfig=[dspace]/config/dspace.cfg update
- Deploy the the new webapps:
cp -R /[dspace]/webapps/* /[tomcat]/webapps
- Restart Tomcat
When you restart the web server you should see your customized JSPs.