Upgrading DSpace

Mark Diggory, MIT

Upgrading Version 1.4.2 to Version 1.5.x

Pre-session chat/gripes about inadequacy/orphan status of stats module.

1.5.1 coming out soon

Code Reorg

  • Separates Java code into functional units (API, OAI, JSP-UI)
  • Reorgs resources by web-app service (OAI, JSP-UI)
  • Adds new web-app services (SWORD, LNI, XML-UI)
  • Allows for better customization (Overlays)
  • These services are all committer supported going forward
  • \src is broken up into each service. dspace\src does NOT contain primary source code
  • Distribution does NOT contain any JARs. This is where Maven comes in. “Convention Driven”. Enforces src code conventions. Dependency resolution (think CPAN for Perl). Build Modularization.
    • Disadvantages of Maven: learning curve, distributed configuration, requires network Internet access, larger project than Ant (many sub-projects and plugins)

    DSpace Release and Build Process

  • Build downloads a dependency
  • pom.xml represent the modular, distributed dependency model. For parents and dependencies, if artifacts aren’t found on local server, Maven will look for them in the central repository (cloud) and pull them down for the build process.
  • Use distribution package (not source). Only reason for using source package is to make significant modifications to build process or Java Virtual Machine requirements. Instead customizations should be done against the
  • Each module is a Maven Project. Can provide “overlays” for modules. Modify code in “target\”? Target files are what get built to WAR

Configuration

  • New Configurability
    • Stackable Authentication
    • Configurable Browse
    • Configurable Submission
    • Separate New Module Configurations
  • Maintain configuration files in CVS
    • for upgrade, use CVS to compare local config file to original 1.4.1 file, then copy those properties over to appropriate place in 1.5 (contrary to original 1.5 documentation)
  • Stackable authentication changes
    • in config, org.dspace.eperson is changed to org.dspace.authenticate
  • Configurable Browse
  • Database schema changes (new/dropped tables and columns) – more intelligent about how it manages the datastore in the dbConsider contributing to DSpace documentation

Planning

  • Backup everything often
    • database
      • (sql db dump) /usr/bin/pg_dump –create –oids\ -U postgres -f backup.sql dspace
    • customizations, configuration, app directory
      • ${assetstore.dir}…${assetstore.dir(N)}
      • more…
    • assetstore
    • disaster recovery
  • Track customizations
    • MIT created package import support for OpenCourseware content packages.
  • Map migration path
  • Ask questions!
  • Practice alot
    • MIT does upgrade repeatedly to ensure everything works before going to production

Upgrade:

  • Building w/ Maven
  • Installing w/ Ant
  • Upgrading Database
  • Rebuilding Search/Browse

Development

  • Eclipse setups available on http://wiki.dspace.org
  • Maven plugins for Eclipse
  • Process (Mark demos upgrade)
    • drop in customized JSPs from 1.4 to dspace1.5/dspace/modules/jspui/src/main/webapp/layout
    • add in config changes from 1.4 one at a time
    • terminal: navigate to dspace/ and use Maven to build
    • build.xml works differently, [ant update] now updates more directories. Can add entries to backup all directories (config.bak, bin.bak, lib.bak, webapps.bak directories) before it builds new ones
    • install with Ant
    • can configure Tomcat to point to WARs in webapps/ instead of copying files over to Tomcat
    • update database using postgres/bin/psql
  • Events system logs events like editing, addition of bitstreams
  • Tim Donohue has tutorial for Configurable Submission system
  • 1.5 branch on SVN repository is probably a better bet for getting bug fixes, build process fixes, etc. than the release on the web site, i.e.most 1.5.1 changes are already in the 1.5 branch
  • SWORD, LNI can be used to ingest packages from FTP “drop-box” via remote client. Enables remote or batch import without having direct access to the server.
This entry was posted in libraries. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>