AddOnMechanism > Add``On Mechanism Prototype
There is an initial prototype of an Add``On Mechanism proposed for DSpace currently available in CVS. This can be obtained from the Tapir Source``Forge page:
http://sourceforge.net/projects/tapir-eul
There are two modules that are important:
Access to these modules can be obtained via anonymous CVS access using the CVSROOT:
/cvsroot/tapir-eul |
. Write access to the repository will be made available to current DSpace committers if desired. Patches and suggestions are welcome and encouraged. If you have an add-on that you would like to produce as an experiment with this mechanism please do so, and use the dspace-devel mailing list to collaborate with others.
Note: This Add``On Mechanism supports only the installation of one add-on at a time using a syntax like:
% ant -Dinstall=/path/to/addon addon |
Updates on the work available at the bottom of this page...
This Add``On Mechanism does not support patching the DSpace source code. The intention is that all new add-ons will provide (if necessary) their own java source and build it into their own jar file. The skeleton add-on build file contains examples of how to do this. This jar file will then be included by the DSpace build file into the standard library.
The reason for this decision is that patching the source is not technically adding on, but rather adding in, which will produce maintenance problems in the long term which may be difficult to resolve. We are therefore encouraging add-on writers to make their code stand as separately as possible from the DSpace core (although obviously it can be built against the dspace library).
Currently the Add``On Mechanism does not attempt to merge add-on JSPs with existing DSpace JSPs, and may well never do so. Instead all JSPs are simply copied into the
[dspace]/jsp/local |
directory for deployment along with all other localisations. This means that there may be clashes with existing localisations, or other add-ons, and there is currently no mechanism to deal with this. Suggestions welcome for the best way to deal with this. The initial idea was to produce an Add``On Mechanism to aid the installation of third party tools, but not necessarily to guarantee success. Perhaps at this stage a simple warning process would be warranted.
Aside from Rob's suggestions regarding good practice in making schema changes (i.e. do not modify core D
I have had a go at the build time configuration process, and have come up with the following procedure:
If fresh_install is requested:
[dspace-source]/config |
[dspace-source]/build/config |
$\{config\} |
[dspace-source]/build/config |
init_configs |
[dspace-source]/build/config |
[dspace]/config |
ConfigurationManager -installTemplate |
[dspace]/config |
If
addon |
is requested:
[addon-source]/config/dspace.cfg |
[dspace-source]/build/config/dspace.cfg |
ConfigurationManager -installTemplate |
Other thoughts:
[dspace-source]/build/config |
[dspace]/addon |
Unfortunately the code to do the above processes is stuck on my computer until I can get in contact with the CVS server again. Sometimes getting onto SF during the afternoon in Northern Europe is pretty difficult. I will upload it at the start of next week. In the mean time attached is a tarball with the current state of the Add``On package at my end: ^addon-2005-11-11.tar.gz