Versions Compared

Key

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

This page contains information about how demo.dspace.org server is setup/configured. This demo.dspace.org server is managed jointly by the DSpace Committer Team. Any Committer can request server access.

If major issues occur or something needs to be installed requiring root access, contact Tim Donohue or "sysadmin AT duraspace DOT org"

Table of Contents
minLevel2
outlinetrue
stylenone

General Server Setup

Here's an overview of how everything is setup on the 'demo.dspace.org' server:

...

  1. Have Committer generate an SSH Key on their computer and send you their PUBLIC Key.
  2. Append their PUBLIC Key on the end of the 'dspace' user's ~/.ssh/authorized_keysfile
    • NOTE: Please add a comment regarding who's key this is, so that it makes it easier to clean up later on. For example:

      Code Block
      # Tim Donohue's SSH Key
      ssh-rsa ....
  3. They should now be able to connect as follows:

    Code Block
    ssh dspace@demo.dspace.org

...

The 'dspace' user can easily start/stop PostgreSQL and Tomcat using the corresponding service scripts:

Code Block

sudo service postgresql start
sudo service tomcat start
sudo service handle-server start

sudo service tomcat stop
sudo service postgresql stop
sudo service handle-server stop

...

  1. Install a fresh (empty) copy of DSpace on your local server.
  2. Configure it to have the same handle prefix as demo.dspace.org (handle prefix: 10673) & setup an initial administrative user (ideally 'dspacedemo+admin@gmail.com' which is the Demo Administrator on demo.dspace.org).
  3. Download the existing AIPs from this directory, e.g.

    Code Block
    scp dspace@demo.dspace.org:~/AIP-restore/* .
  4. Use the downloaded AIPs to "restore" content to your local server's empty DSpace, e.g.

    Code Block
    \[dspace\]/bin/dspace packager -r -a -f -t AIP -e [admin-email] -i 10673/0 /full/path/to/SITE@10673-0.zip
  5. Update your DSpace's content as you see fit (adding/removing/changing objects)
  6. Export a fresh set of AIPs, by performing a full SITE export e.g.

    Code Block
    \[dspace\]/bin/dspace packager -d -a -t AIP -e [admin-email] -i 10673/0 -o includeBundles=ORIGINAL,LICENSE -o passwords=true SITE@10673-0.zip
    • The above example just exports ORIGINAL & LICENSE bundles into AIPs, and also exports user passwords into AIPs (so that they can also be restored).
  7. Upload those newly updated AIPs to demo.dspace.org, e.g.

    Code Block
    scp . dspace@demo.dspace.org:~/AIP-restore/
    • NOTE: Before putting them on demo.dspace.org, you may want to do your own test restore using these AIPs, just to ensure there are no issues.

...

At any one time, you can compare this 'demo' branch to any version of DSpace. For example, to compare 'demo' to DSpace 1.8.2 run:

Code Block

cd ~/dspace-src
git checkout demo
git diff dspace-1.8.2
Warning

WARNING: If you make direct config edits to ~/dspace/config/ you can expect that
they may be overwritten in future (unless you also copy them to ~/dspace-src/dspace/config/)
You have been warned! Again, if your changes don't make it to ~/dspace-src/
then THEY WILL BE LOST during the next update!

...

WARNING THE FOLLOWING IS UNTESTED! PLEASE UPDATE WHEN WE UPGRADE TO 3.0-RC1!!

For Example:

Code Block

cd ~/dspace-src
git checkout demo
git merge dspace-3.0-rc1 (UNTESTED!or NOT'git SURE IF THIS WILL WORK - Timmerge master')

NOTE: You should make sure to pay close attention to whether any Conflicts occurred. If so, you will need to resolve them manually.

Resolving Conflicts: Here are some hints on how to resolve / manage conflicts encountered during a merge:

  • If there were a lot of conflicts and you just want to accept the "master" or tagged version (and overwrite any local changes), you can use:

    Code Block
    git checkout --theirs [full-path-to-file]
    git add [full-path-to-file]
  • If you need to completely delete a file that caused conflict, just use:

    Code Block
    git rm [full-path-to-file]
  • If you need to abort an in-process merge that had conflicts, just run:

    Code Block
    git merge --abort

Rebuild DSpace

Code Block

cd ~/dspace-src
mvn clean package

...

WARNING: this overwrites existing configs in ~/dspace/config/

Code Block

sudo service tomcat stop
cd ~/dspace-src/dspace/target/dspace-[version]-build/
ant -Doverwrite=true update
sudo service tomcat start

...

Assuming your changes are already over in ~/dspace-src/ this is easy...

Code Block

$ cd ~/dspace-src/
$ git commit [file]

# OR, to commit all changed files
$ git commit -a

...