Opened 14 years ago
Last modified 13 years ago
#1592 closed task
Unified installation procedure for plug-ins, extensions and more... — at Version 1
Reported by: | Nicklas Nordborg | Owned by: | everyone |
---|---|---|---|
Priority: | major | Milestone: | BASE 3.0 |
Component: | core | Version: | |
Keywords: | Cc: |
Description (last modified by )
The installation procedure is quite different for plug-ins, extensions and other external code. For example:
- Plug-ins can be installed anywhere, but it is recommended to place them in the folder specified by the 'plugins.dir' setting in the base.config file.
- Extensions must be installed in the WEB-INF/extensions folder.
- Some types of "plug-ins" eg. authentication and logging plug-ins are specified in the 'base.config' file but must be located in the WEB-INF/lib folder.
- File validator plug-ins (eg. cdf/cel files) are configured in the database and can be located anywhere but the recommended location is the 'plugins.dir' folder.
Needless to say, this is a headache for packages that need to utilize several types of plug-ins+extensions. For example, the Illumina package (http://baseplugins.thep.lu.se/wiki/net.sf.basedb.illumina).
I think we need a different approach that is simpler for administrators. Eg. a single directory should be used for all types of plug-ins/extensions. BASE should be able to scan this directory and, using metadata inside the JAR, it should be possible to determine what it is. A single JAR file should of course be able to hold multiple types of plug-ins+extensions. Installation should be triggered from a single place in the web gui. It would also be nice if an initialization script could be executed directly. Using the Illumina package as an example I think steps 7-14 could be reduced to just one or two steps.
One big issue is to not break an existing BASE installation... I guess we'll have to think about that.
Related tickets:
- 1593: Extension system for the core API
- #1594: JarClassLoader support for JARs within JARs