At the moment, Kepler installation consist of few elements
src/eu |-- euforia | `-- visit `-- itm |-- cpocontent // all ual based actors could be a part of Kepler release |-- cpodiscard // this release would be shared by all the users |-- cpoflush |-- cpooccurrence |-- cpotime |-- itmmatlab |-- nocpo // these two actors can be moved to separate module |-- nocpoparam // these two actors can be moved to separate module |-- python |-- recordget |-- recordoperation |-- recordset |-- setbreakpoint |-- syncsetvariable |-- tools | `-- attributes |-- ualclose |-- ualcollector |-- ualdemux |-- ualinit |-- ualmux |-- ualmuxparam |-- ualpythonjni |-- ualpythonws `-- ualslicecollector |
We can think about new approach, where Kepler base system (plus ual actors) and FC2K based actors are completely separated. This way, we would be able to have centrally installed Kepler and different sets of user based actors. There are two solutions for this
In this case, we have to do some research related to following classes
build/runner/Kepler.java build/project/ProjectLocator.java build/UpdatePresentTxt.java |
At the moment, Kepler looks for additional modules only inside ~/KeplerData/kepler.modules (and only in case there is a file "use.keplerdata" inside build-area). I would like to change Kepler such way it can take modules from arbitrary locations.
Once we have actors in separate location we can think about modules for actors. In that case, users would be able to do something like this
# load module for one release of actors # and run workflow > module load actors/ETS_4.10b.10_v5.1.0 > kepler.sh -workflow ETS_for_v5.1.0 -runwf # switch to another release of actors and run # workflow again - workflow must be compatible with the set of actors > module load actors/ETS_4.10b.10_v5.1.1 > kepler.sh -workflow ETS_for_v5.1.1 -runwf |
We have to fix the issue here
core/src/org/kepler/util/sql/HSQL.java The exception below originates in line 731 where the code calls DriverManager to open the connection to the db. We can try adding a new check for the database being locked and then use System.exit() to stop Kepler nicely instead of throwing exception. |
At the moment we provide Kepler release with all the sources, class files, etc. This way, we require:
We have to add one more step to Kepler build procedure - creating installer. This way, size of Kepler should be reduced. We can think about two, different releases: debug/release.