This issue is a placeholder for work that I've already begun, and will be sharing via our Central SVN as soon as I get a "semi-working" version ready (likely within a few days/week at most).
The idea is to remove the requirement for all users to build DSpace via Maven or Ant. It should be possible to download a simple "installer" which can be run to more automate the install process of DSpace on a server.
The primary goals are as follows:
- Remove the required prerequisites of Maven & Ant to Install DSpace (However, it should be noted that it would still be possible to build from source via Maven, for users/developers who want more control over the build or install process.)
- Allow users to be able to install DSpace without requiring an internet connection (i.e. all third-party libraries will be "shipped" with the installer)
- Provide an easier to manage, step-by-step, automated install process. E.g. Fill out the main areas of the config file (dspace.cfg) for the user, as they answer a series of questions (e.g. the dspace.dir and database settings, minimally)
As mentioned, I've already begun playing with this idea. I'm currently building a simple One-JAR (http://one-jar.sourceforge.net/) installer, which will automate the install process for users. This is similar to Fedora Commons, whose main fcrepo-installer.jar file (http://www.fedora-commons.org/software/current) is built via One-JAR. Using One-JAR, a DSpace User could install DSpace more easily as follows:
(1) Install prerequisites: Java, database and web server (although we could offer an option to auto-install Tomcat, like Fedora Commons does)
(2) Download the 'dspace-installer.jar'
(3) Run 'java -jar dspace-installer.jar' and follow the instructions and answer questions to install DSpace.
I'm also playing with the idea of potentially upgrading DSpace in the same manner. The biggest issue here though is upgrading customizations, etc. Much more work/analysis needs to happen around the problem of making customizations easier, and how that may or may not fit into making installs easier as well.