Page History
...
Info |
---|
These instructions are valid for any of the following upgrade paths:
For more information about specific fixes released in each 4.x version, please refer to the appropriate release notes: DSpace Release 4.1 Status |
Note |
---|
In the notes below |
...
- Download DSpace 4.x: Either download DSpace 4.x from DSpace.org or check it out directly from the Github repository. If you downloaded DSpace do not unpack it on top of your existing installation. Refer to Installation Instructions, Step 3 for unpacking directives.
- Merge any customizations (if needed). If you have made any local customizations to your DSpace installation they may need to be migrated over to the new DSpace. For minor upgrades, there are often fewer changes, but it is still worth checking to see if any effect your customizations. Customizations are typically housed in one of the following places:
- JSPUI modifications:
[dspace-source]/dspace/modules/jspui/src/main/webapp/
- XMLUI modifications:
[dspace-source]/dspace/modules/xmlui/src/main/webapp/
- Config modifications:
[dspace]/config
- JSPUI modifications:
- Edit the build.properties file (if needed) (
[dspace-source]/build.properties
). As this is a minor upgrade, your previous 4.x build.properties file should work fine. However, you may want to double check your settings. Any settings changed in thisbuild.properties
file are automatically copied over to the finaldspace.cfg
file during the "Build DSpace" process (in the next step). For more information on the build.properties file, see "The build.properties Configuration Properties File" section of the Configuration Reference documentation. Build DSpace. Run the following commands to compile DSpace:
Code Block cd [dspace-source]/dspace/ mvn -U clean package
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.- Stop Tomcat. Take down your servlet container. For Tomcat, use the
$CATALINA_HOME/shutdown.sh
script. (Many Unix-based installations will have a startup/shutdown script in the/etc/init.d
or/etc/rc.d
directories.) - Update DSpace.
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 update
- No database changes have been made in DSpace 4.1Updating to 4.7 database schema:The database schema has minor updates in 4.7. So, there is no you will need to update your existing DSpace 4.x database. Please use the appropriate command and SQL script to update your database:
- PostgreSQL:
psql --user [dspace-dbms-user] -f [dspace-source]/dspace/etc/postgres/database_schema_4-47.sql [dspace-database]
You should be prompted for the database password. - Oracle:
sqlplus [dspace-dbms-user]/[database password] [dspace-source]/dspace/etc/oracle/database_schema_4-47.sql
NOTE: [dspace-dbms-user] will be the value of
db.username
inconfig/dspace.cfg
. The database password will be the value ofdb.password
. [dspace-database] will be the part ofdb.url
following the last slash.
- PostgreSQL:
- Updating to 4.8 database schema: The database schema has minor updates in 4.8. So, you will need to update your existing DSpace 4.7 database. (NOTE: ensure your database has been upgraded to 4.7 prior to updating to 4.8). Please use the appropriate command and SQL script to update your database:
- PostgreSQL:
psql --user [dspace-dbms-user] -f [dspace-source]/dspace/etc/postgres/database_schema_4-48.sql [dspace-database]
You should be prompted for the database password. - Oracle:
sqlplus [dspace-dbms-user]/[database password] [dspace-source]/dspace/etc/oracle/database_schema_4-48.sql
NOTE: [dspace-dbms-user] will be the value of
db.username
inconfig/dspace.cfg
. The database password will be the value ofdb.password
. [dspace-database] will be the part ofdb.url
following the last slash.
- PostgreSQL:
- Check whether your DSpace instance is affected by either of the below bugs. There were a few database level bugs resolved in DSpace 4.1 and 4.2, which may require some institutions to run a script on their database content to resolve them. These do NOT affect all institutions, but you should be aware of them:
- Fixing the effects of DS-1536 - If your institution uses a Handle prefix which contains a period (e.g. 123.456/x), then you should run the recommended scripts (see below) on your database.
- Fixing the effects of DS-2036 - If your institution uses an Oracle database backend with Discovery (for search/browse), then you should run the recommended script (see below) on your database.
- Update your DSpace Configurations (if needed). There are no new required configurations in DSpace 4.1 or 4.2. So, your existing DSpace 4.x configurations should work fine. Update your DSpace Configurations (if needed). There are no new required configurations in DSpace 3.1 or 3.2. So, your existing DSpace 4.x configurations should work fine. However, there are a few minor, optional updates to be aware of:
- In DSpace 3.0, the OAI Harvester (XMLUI only) settings were accidentally removed from the
[dspace]/config/modules/oai.cfg
file. They have been reinstated in DSpace 3.1 or above. Please see DS-1461 for more info. In DSpace 3.2, it is again possible to custom the <description> tag of the OAI-PMH "Identify" response. This is achieved through a new (optional) configuration "description.file" within the Refresh Browse and Search Indexes. Though there are not any database changes, it is a good policy to rebuild your search and browse indexes when upgrading to a new release. To do this, run the following command from your DSpace install directory (as the dspace user):
Code Block [dspace]/bin/dspace index-discovery -f
If you're still using Lucene (you disabled Discovery): If you are using Lucene for search/browse, you will also need to refresh Lucene indexes by running the following command:
Code Block [dspace]/bin/dspace index-lucene-init
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.
- Restart servlet container. Now restart your Tomcat/Jetty/Resin server program and test out the upgrade.
[dspace]/config/modules/oai.cfg
file. Please see DS-1479 for more info....
If you're affected by
Jira | ||||||
---|---|---|---|---|---|---|
|
...
Code Block | ||||
---|---|---|---|---|
| ||||
/* NOTE, you'll need to run this code in two stages: in SQL Developer, first run the query below, then cut/paste the results back into a new query, and run that query */ SELECT 'UPDATE metadatavalue SET text_value = ''http://hdl.handle.net/'||handle||''' WHERE metadatavalue.metadata_field_id = '||metadata_field_id FROM metadatavalue JOIN metadatafieldregistry USING(metadata_field_id) JOIN handle ON handle.resource_id = metadatavalue.item_id WHERE metadatafieldregistry.element = 'identifier' AND metadatafieldregistry.qualifier = 'uri' AND handle.resource_type_id = 2 AND to_char(text_value) = 'http://hdl.handle.net/XXXXX' ; |
Fixing the effects of DS-2036
If you previously upgraded DSpace from 1.8.x to 3.0 and you use Oracle as your DBMS, you may be affected by
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
Code Block | ||||
---|---|---|---|---|
| ||||
UPDATE item SET discoverable=1 WHERE discoverable IS NULL; |