From: Scott Phillips <scott.phillips@gm...> - 2008-02-13 09:48:49
One of the major upgrades that is forthcoming with the 1.5 release of
DSpace is a new Maven-based build system. I wanted to take some time
to explain why we have made this choice and what it means for the
community. Maven is a software tool from the Apache Foundation that
allows developers to compile and distribute software projects. One of
the key features of the Maven system is that it is network aware; it
is able to dynamically resolve dependencies and download needed
components from remote locations. We are able to take advantage of
this build system in DSpace to provide several benefits over our
previous build system.
1) Modularity - The DSpace project is not a monolithic application,
but instead is broken down into several sub-components: a core API,
several network interfaces such as OAI or Sword, and two web-based
user interfaces (the new Manakin interface and the traditional JSP-
based interface). The Maven build system allows these multiple sub-
projects to be built and packaged separately but work together to
provide the complete DSpace service.
2) Customization - The ability for individual universities to
customize their repository to meet the needs of local users has been a
driving influence of DSpace since its inception as an open source
project. Traditionally, it has been difficult for local developers to
sustain these local customizations from one DSpace version to the
next. While nothing can completely eliminate this problem, the new
Maven-based build system provides developers a basic set of tools to
to ease this process.
3) Maintenance - As DSpace continues to grow at an accelerating rate,
the task of managing these new components increases. Maven gives us
the ability to easily add new projects and features into the
repository and provides the modularity to maintain those projects
through their life-cycle.
In the 1.5 release of DSpace, three major components are being added:
Manakin (a new user interface), Sword (a package ingesting tool), and
the Light Network Interface (a programmatic interface for remote
deposit and management). Each of these major projects was able to be
incorporated into DSpace through the modularity provided by Maven, and
in the future we will be able to expand support for many other new and
exciting projects. Without the maven-based build system it would have
been harder to develop and integrate these new features.
What does this mean for the community?
The change to a maven-based build system has several implications for
the community. Those most affected by this change are developers, who
will need to learn and work with a new build system. For the most
part, all the developers working on the DSpace 1.5 release have
already accomplished this task. Next are the system administrators who
install and maintain a DSpace repository. For these administrators,
the process of installing DSpace has changed. Finally, for content
curators and end-users this change has no effect.
Thanks to Mark Diggory @ MIT for taking the lead on the Maven
transition. For more information about the new installation procedures
see the DSpace manual and for more information on Maven see their