Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note
titleChanges to the DSpace 1.8 Upgrade / Configuration Process

In DSpace 1.8.0, there have been a few significant changes to how you upgrade and configure DSpace. Notably:

  • Wiki Markup
    *The dspace.cfg has been "split up":* Many "module" configurations have now been moved out of the 'dspace.cfg' and into separate configuration files in the {{\[dspace\]/config/modules/}} directory.
    • Wiki Markup
      [Authentication Configurations|Authentication Plugins] are now in {{\[dspace\]/config/modules/authenticate*.cfg}} files
    • Wiki Markup
      [Batch Metadata Editing Configurations|Batch Metadata Editing Configuration] are now in the {{\[dspace\]/config/modules/bulkedit.cfg}} file
    • Wiki Markup
      [Discovery Configurations|Discovery] are now in the {{\[dspace\]/config/modules/discovery.cfg}} file
    • Wiki Markup
      [OAI-PMH / OAI-ORE Configurations|OAI] are now in the {{\[dspace\]/config/modules/oai.cfg}} file
    • Wiki Markup
      [Solr Statistics Configurations|DSpace Statistics] are now in the {{\[dspace\]/config/modules/solr-statistics.cfg}} file
    • Wiki Markup
      [SWORD Configurations|SWORDv1 Server] are now in {{\[dspace\]/config/modules/sword*.cfg}} files
    • All other DSpace configurations are still in the dspace.cfg configuration file.
  • Behavior of 'ant update' has changed: The ant update upgrade command now defaults to replacing any existing configuration files (though the existing configuration files will first be backed up to a file with the suffix *.old).
    • In prior versions of DSpace (before 1.8.0), this ant update command would leave existing configuration files intact (and you would have to manually merge in new configuration settings, which would be in a file with the suffix *.new). If you prefer this previous behavior, you can still achieve the same result by running:
      • ant -Doverwrite=false update
    • Wiki Markup
      *WARNING:* If you choose to run {{ant \-Doverwrite=false update}} please be aware that this will not auto-upgrade any of your configuration files. This means you must closely watch the output of this command, and ensure you manually upgrade all configuration files in the {{\[dspace\]/config/}} directory as well as all Solr configurations/schemas in the {{\[dspace\]/solr/search/conf/}} and {{\[dspace\]/solr/statistics/conf/}} directories.
  • The structure of the source release has now been changed: Please see Advanced Customisation for more details.

Backup your DSpace

Before you start your upgrade, it is strongly recommended that you create a backup of your DSpace instance. Backups are easy to recover from; a botched install/upgrade is very difficult if not impossible to recover from. The DSpace specific things to backup are: configs, source code modifications, database, and assetstore. On your server that runs DSpace, you might additionally consider checking on your cron/scheduled tasks, servlet container, and database.

...

  • Database: Make a snapshot/dump of the database. For the PostgreSQL database use Postgres' pg_dump command. For example:
    Code Block
    pg_dump -U [database-user] -f [backup-file-location] [database-name]
  • Wiki Markup
    Assetstore: Backup the directory ({{\[dspace\]/assetstore}} by default, and any other assetstores configured in the {{\[dspace\]/config/dspace.cfg}} "assetstore.dir" and "assetstore.dir.#" settings)
  • Wiki Markup
    Configuration: Backup the entire directory content of {{\[dspace\]/config}}.
  • Customizations: If you have custom code, such as themes, modifications, or custom scripts, you will want to back them up to a safe location.

Upgrade Steps

  1. Download DSpace 1.8 Either download DSpace 1.8 from DSpace.org or check it out directly from the SVN code repository. If you downloaded DSpace do not unpack it on top of your existing installation. Refer to Installation Instructions, Step 3 for unpacking directives.
  2. Merge any customizations. If you have made any local customizations to your DSpace installation they will need to be migrated over to the new DSpace. Customizations are typically housed in one of the following places:
    • Wiki Markup
      JSPUI modifications: {{\[dspace-source\]/dspace/modules/jspui/src/main/webapp/}}
    • Wiki Markup
      XMLUI modifications: {{\[dspace-source\]/dspace/modules/xmlui/src/main/webapp/}}
    • Wiki Markup
      Config modifications: {{\[dspace\]/config}}
  3. Build DSpace. Run the following commands to compile DSpace:
    No Format
    cd [dspace-source]/dspace/
    mvn -U clean package
    Wiki Markup
    You will find the result in {{\[dspace-source\]/dspace/target/dspace-\[version\]-build.dir}} . Inside this directory is the compiled binary distribution of DSpace. Before rebuilding DSpace ('package'), the above command will clean out any previously compiled code ('clean') and ensure that your local DSpace JAR files are updated from the remote maven repository.
  4. Stop Tomcat. Take down your servlet container. For Tomcat, use the  $CATALINA/shutdown.sh  script. (Many Unix-based installations will have a startup/shutdown script in the /etc/init.d or /etc/rc.d directories.)
  5. Update DSpace. 
    1. Update the DSpace installed directory with the new code and libraries. Issue the following commands:
      Code Block
      cd [dspace-source]/dspace/target/dspace-[version]-build.dir
      ant -Dconfig=[dspace]/config/dspace.cfg update
      
      Note
      titleChanges to the behavior of the 'ant update' script

      The ant update script has changed slightly as of DSpace 1.8.0. It now defaults to replacing your existing configuration files (after backing them up first). See the note under #Upgrading from 1.7.x to 1.8.x for more details.

    2. Apply database changes to your database by running one of the following database schema upgrade scripts.
      Warning
      titleBackup Your Database First

      Applying a database change will alter your database! The database upgrade scripts have been tested, however, there is always a chance something could go wrong. So, do yourself a favor and create a backup of your database before you run a script that will alter your database.

      1. Wiki Markup
        PostgreSQL: \[dspace-source\]/dspace/etc/postgres/database_schema_17-18.sql
      2. Wiki Markup
        Oracle: \[dspace-source\]/dspace/etc/oracle/database_schema_17-18.sql
  6. Update your DSpace Configurations.
    1. Wiki Markup
      Merge existing configurations: After updating DSpace, you may notice a series of {{\*.old}} files in your newly updated {{\[dspace\]/config/}} directory (and all sub-directories). During the update process, if there is a difference between your old 1.7-compatible configuration file and the new 1.8-compatible configuration file, your previous settings will be moved to a {{\*.old}} file. You may want to review the differences between the {{\*.old}} file and the new version of that file, and ensure your previous configurations/settings are merged into the new configuration file. One way to compare these files is by using a comparison-utility like {{diff}} or a text editor that supports file comparison.
    2. Set New Configurations: There are new configuration settings in the new release that add or change functionality. You should review these new settings and ensure that they are set according to your needs.
    3. TODO - Add new configuration changes.
  7. Generate Browse and Search Indexes. The search mechanism has been updated in 1.8, so you must perform a full reindex of your site for searching and browsing to work. To do this, run the following command from your DSpace install directory (as the dspace user):
    Code Block
    [dspace]/bin/dspace index-init
    
  8. Wiki Markup
    *Deploy Web Applications*. If necessary, copy the web applications files from your {{\[dspace\]/webapps}} directory to the subdirectory of your servlet container (e.g. tomcat):
    Code Block
    cp -R [dspace]/webapps/* [tomcat]/webapps/
    
    See the installation guide for full details.
  9. Restart servlet container. Now restart your Tomcat/Jetty/Resin server program and test out the upgrade.

Optional Upgrade Step: Fix Broken File Statistics

In DSpace 1.6.x & 1.7.x the file download statistics were generated without regard to the bundle in which the file was located. In DSpace 1.8.0 it is possible to configure the bundles for which the file statistics are to be shown by using the query.filter.bundles property. If required the old file statistics can also be upgraded to include the bundle name so that the old file statistics are fixed.

...