In the notes below
[dspace] refers to the install directory for your existing DSpace installation, and [dspace-source] to the source directory for DSpace 1.5. Whenever you see these path references, be sure to replace them with the actual path names on your local system.
The changes in DSpace 1.5 are significant and wide spread involving database schema upgrades, code restructuring, completely new user and programmatic interfaces, and new build system.
- Backup your DSpace First and foremost, make a complete backup of your system, including:
- A snapshot of the database
- The asset store ([dspace]/assetstore by default)
- Your configuration files and customizations to DSpace
- Your statistics scripts ([dspace]/bin/stat*) which contain customizable dates
- Download DSpace 1.5.x Get the new DSpace 1.5 source code either as a download from SourceForge or check it out directly from the SVN code repository. If you downloaded DSpace do not unpack it on top of your existing installation.
- Build DSpace The build process has radically changed for DSpace 1.5. With this new release the build system has moved to a maven-based system enabling the various projects (JSPUI, XMLUI, OAI, and Core API) into separate projects. See the Installation section for more information on building DSpace using the new maven-based build system. Run the following commands to compile DSpace.
You will find the result in [dspace-source]/dspace/target/dspace-1.5-build.dir/; inside this directory is the compiled binary distribution of DSpace.
- Stop Tomcat Take down your servlet container, for Tomcat use the bin/shutdown.sh script.
- Update dspace.cfg Several new parameters need to be added to your [dspace]/config/dspace.cfg. While it is advisable to start with a fresh DSpace 1.5 _dspace.cfg configuration file_ here are the minimum set of parameters that need to be added to an old DSpace 1.4.2 configuration.
#### Stackable Authentication Methods #####
# Stack of authentication methods
# (See org.dspace.authenticate.AuthenticationManager)
# Note when upgrading you should remove the parameter:
plugin.sequence.org.dspace.authenticate.AuthenticationMethod = \
###### JSPUI item style plugin #####
# Specify which strategy use for select the style for an item
plugin.single.org.dspace.app.webui.util.StyleSelection = \
###### Browse Configuration ######
# The following configuration will mimic the previous
# behavior exhibited by DSpace 1.4.2. For alternative
# configurations see the manual.
# Browse indexes
webui.browse.index.1 = dateissued:item:dateissued
webui.browse.index.2 = author:metadata:dc.contributor.*:text
webui.browse.index.3 = title:item:title
webui.browse.index.4 = subject:metadata:dc.subject.*:text
# Sorting options
webui.itemlist.sort-option.1 = title:dc.title:title
webui.itemlist.sort-option.2 = dateissued:dc.date.issued:date
# Recent submissions
recent.submissions.count = 5
# Itemmapper browse index
itemmap.author.index = author
# Recent submission processor plugins
plugin.sequence.org.dspace.plugin.CommunityHomeProcessor = \
plugin.sequence.org.dspace.plugin.CollectionHomeProcessor = \
#### Content Inline Disposition Threshold ####
# Set the max size of a bitstream that can be served inline
# Use -1 to force all bitstream to be served inline
# webui.content_disposition_threshold = -1
webui.content_disposition_threshold = 8388608
#### Event System Configuration ####
# default synchronous dispatcher (same behavior as traditional
event.dispatcher.default.class = org.dspace.event.BasicDispatcher
event.dispatcher.default.consumers = search, browse, eperson
# consumer to maintain the search index
event.consumer.search.class = org.dspace.search.SearchConsumer
# consumer to maintain the browse index
event.consumer.browse.class = org.dspace.browse.BrowseConsumer
# consumer related to EPerson changes
event.consumer.eperson.class = org.dspace.eperson.EPersonConsumer
event.consumer.eperson.filters = EPerson+Create
- Add 'xmlui.xconf' Manakin configuration The new Manakin user interface available with DSpace 1.5 requires an extra configuration file that you will need to manually copy it over to your configuration directory.
- Add 'item-submission.xml' and 'item-submission.dtd' configurable submission configuration The new configurable submission system that enables an administrator to re-arrange, or add/remove item submission steps requires this configuration file. You need to manually copy it over to your configuration directory.
- Add new 'input-forms.xml' and 'input-forms.dtd' configurable submission configuration The input-forms.xml now has an included dtd reference to support validation. You'll need to merge in your changes to both file/and or copy them into place.
- Add 'sword-swap-ingest.xsl' and 'xhtml-head-item.properties' crosswalk files New crosswalk files are required to support SWORD and the inclusion of metadata into the head of items.
- Add 'registration_notify' email files A new configuration option (registration.notify = email@example.com) can be set to send a notification email whenever a new user registers to use your DSpace. The email template for this email needs to be copied.
- Update the database The database schema needs updating. SQL files contain the relevant updates are provided, note if you have made any local customizations to the database schema you should consult these updates and make sure they will work for you.
- For PostgreSQL psql -U [dspace-user] -f [dspace-source]/dspace/etc/database_schema_14-15.sql [database-name]
- For Oracle [dspace-source]/dspace/etc/oracle/database_schema_142-15.sql contains the commands necessary to upgrade your database schema on oracle.
- Apply any customizations If you have made any local customizations to your DSpace installation they will need to be migrated over to the new DSpace. Commonly these modifications are made to "JSP" pages located inside the [dspace 1.4.2]/jsp/local directory. These should be moved [dspace-source]/dspace/modules/jspui/src/main/webapp/ in the new build structure. See Customizing the JSP Pages for more information.
- Update DSpace Update the DSpace installed directory with new code and libraries. Inside the [dspace-source]/dspace/target/dspace-1.5-build.dir/ directory run:
ant -Dconfig=[dspace]/config/dspace.cfg update
- Update the Metadata Registry New Metadata Registry updates are required to support SWORD.
[dspace]/bin/dsrun org.dspace.administer.MetadataImporter -f
- Rebuild browse and search indexes One of the major new features of DSpace 1.5 is the browse system which necessitates that the indexes be recreated. To do this run the following command from your DSpace installed directory:
- Update statistics scripts The statistics scripts have been rewritten for DSpace 1.5. Prior to 1.5 they were written in Perl, but have been rewritten in Java to avoid having to install Perl. First, make a note of the dates you have specified in your statistics scripts for the statistics to run from. You will find these in [dspace]/bin/stat-initial, as $start_year and $start_month. Note down these values.Copy the new stats scripts:
Then edit your statistics configuration file with the start details. Add the following to [dspace]/conf/dstat.cfg# the year and month to start creating reports from# - year as four digits (e.g. 2005)# - month as a number (e.g. January is 1, December is 12)start.year = 2005start.month = 1 Replace '2005' and '1' as with the values you noted down. dstat.cfg also used to contain the hostname and service name as displayed at the top of the statistics. These values are now taken from dspace.cfg so you can remove host.name and host.url from dstat.cfg if you wish. The values now used are dspace.hostname and dspace.name from dspace.cfg
cp [dspace-source]/dspace/bin/stat* [dspace]/bin/
- Deploy web applications Copy the web applications files from your [dspace]/webapps directory to the subdirectory of your servlet container (e.g. Tomcat):
cp [dspace]/webapps/* [tomcat]/webapps/
- Restart Tomcat Restart your servlet container, for Tomcat use the bin/startup.sh script.