Uploaded image for project: 'DSpace'
  1. DSpace
  2. DS-456

Create easy upgrade scripts (e.g. 'dspace upgrade 1.6 1.7'), likely in Java



    • Type: New Feature
    • Status: Volunteer Needed (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: DSpace API
    • Labels:
    • Attachments:
    • Comments:
    • Documentation Status:


      This came up during DSpace Developers meeting on Jan 6, 2010.

      Essentially, it'd be nice to have an easy script to perform most major upgrade tasks for you. For example, having a user run the following from command-line in order to upgrade from 1.6 to 1.7:

      dspace upgrade 1.6 1.7

      This script would be Java-based, and could auto-update your configuration files (where that's possible) as well as perform database upgrades, or any other changes that need to occur. DSpace used to use Java-based upgrade scripts in the past, for example see: https://scm.dspace.org/svn/repo/dspace/trunk/dspace-api/src/main/java/org/dspace/administer/Upgrade11To12.java

      Here's the discussion pertaining to this feature that occurred on Jan 6, 2010.

      [15:49] <stuartlewis> http://jira.dspace.org/jira/browse/DS-295
      [15:49] <stuartlewis> Read the last comment.
      [15:50] <stuartlewis> We can most cleanly add some new bitstream formats by including a new file containing just those two.
      [15:50] <stuartlewis> But this file will just be for "upgraders".
      [15:50] <stuartlewis> We don't have any upgrade files other than the db upgrade scripts.
      [15:50] <stuartlewis> So where should other upgrade files go?
      [15:51] <lcs> the file could go in config/registries with an "upgrade" name so it's with the others.
      [15:51] <stuartlewis> dspace/etc/upgrade-files/15-16/ ?
      [15:51] <richardrodgers> sure
      [15:51] <stuartlewis> I'm happy with either suggestion
      [15:52] <lcs> a separate upgrade-files subdir is more tidy but wouldn't it take a lot of doc changes?
      [15:52] <stuartlewis> lcs: No - as this is the only upgrade file so far (assuming we leave the db upgrade files where they are)
      [15:52] <grahamtriggs> action for future - ideally, we should just have a single 'current' version of these registries, and tools that compare with an existing installation, add new entries (possibly remove old ones that aren't referenced)
      [15:53] <mdiggory> For one of the upgrades theres actually java classes that are executed, like...
      [15:53] <lcs> ah, i was thinking that the whole beauty of it is that future db upgrade files would go there too, but that gets complicated with oracle/pgsql..
      [15:53] <mdiggory> https://scm.dspace.org/svn/repo/dspace/trunk/dspace-api/src/main/java/org/dspace/administer/Upgrade11To12.java
      [15:53] <tdonohue> seems reasonable to keep in separate upgrade-files folder. maybe we can eventually figure out a way to move the db upgrade files there as well
      [15:53] <stuartlewis> Ok - so shall I create that dir, and use it just for this file for now?
      [15:53] <mdiggory> I wonder if we should have a more java centric upgrade process here...
      [15:54] <stuartlewis> "dsrun org.dspace.upgrade 1.5 1.6"?
      [15:54] <mhwood> No objection here.
      [15:54] <stuartlewis> ...but we can leave that for 1.7
      [15:55] <stuartlewis> Ok - I'll do that then.
      [15:55] <tdonohue> or even better "dspace upgrade 1.6 1.7" - sounds like something for 1.7
      [15:55] <mdiggory> true... I just think the config / etc dirs are getting a bit out of hand


          Issue Links



              tdonohue Tim Donohue
              2 Vote for this issue
              1 Start watching this issue