Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Minor updates to status of project

...

Build and deployment instructions for services-api (development)

DSpace source modifications (temporary)

Warning

The following changes cannot be committed and should just be made locally.

dspace pom.xml

Alter (dspace-source)/dspace/pom.xml around line 160 (the one next to the module directory that is responsible for creating the install directory), NOT the dspace-parent pom.xml.

Replace the following dependency:

Code Block
languagexml
<!-- This dependency ensures DSpace OAI JAR is added to [dspace]/lib/,
        so that the 'dspace oai' launcher.xml command works.  -->
<dependency>
       <groupId>org.dspace</groupId>
       <artifactId>dspace-oai</artifactId>
       <type>jar</type>
       <classifier>classes</classifier>
</dependency>

by the following dependency

Code Block
languagexml
<dependency>
    <groupId>org.dspace.modules</groupId>
    <artifactId>additions</artifactId>
</dependency>

This is needed because the dspace-oai module currently doesn't compile and without this we cannot create an installation directory.

build.xml file

In order to be able to perform a fresh_install with ant we need to remove the "test_database" depends from the fresh_install target. This should be on or around line 857 in (dspace-source)/dspace/src/config/build.xml

The DatabaseUtils is currently broken because I'm unsure of how to fix it at the current time.

Before:

Code Block
languagexml
<target name="fresh_install"
        depends="init_installation,init_configs,test_database,install_code"
        description="Do a fresh install of the system, overwriting any data">

After:

Code Block
languagexml
<target name="fresh_install"
        depends="init_installation,init_configs,install_code"
        description="Do a fresh install of the system, overwriting any data">

Postgres changes

Enable pgcrypto extension

...

Database migration occurs on tomcat start (handled by flywayFlyway). Both existing databases & new installation should work , although existing databases has not been tested as well as a new database. There COULD be issues where an integer/boolean columns have the NULL value, the old DatabaseManager had a fallback to -1, false. Hibernate does not so the migration sql script might need to be altered to support any issues we find(though please report any errors if you find any).

Maven build instructions

Since not all the modules are currently compiling (the only operations ones are dspace-api, dspace-services, dspace-xmlui) a special command is needed to build everythingThe same build instructions apply as in DSpace 5:

Code Block
languagebash
mvn clean package -P -dspace-oai,-dspace-jspui,-dspace-rdf,-dspace-sword,-dspace-swordv2,-dspace-rest,dspace-services

Ant update

Don't forget to ant update/fresh_install before starting up tomcat again.

Starting tomcat

Info

Create a database backup before starting the tomcat, as it will trigger a migration.

The "ant update" or "ant fresh_install" process will trigger a database update. If your database content is important to you (or you wish to test the migration process more thoroughly), you may wish to back it up prior to running Ant.  The migration will obviously modify your existing database. While we think it is "safe", it is not considered "production ready" until 6.0 is released.

Starting tomcat

Finally, start up Tomcat as normalBefore starting tomcat it is best to set a breakpoint in the org.dspace.core.HibernateFlywayIntegrator class on line 72 (this catches SQL exceptions caused by flyway & will be useful information if it fails).

 

How to migrate DSpace modules to the service api

Introduction

...

Tutorial: Basic class porting

...