[kepler-dev] [Bug 4483] - Module dependencies in MoML files

bugzilla-daemon at ecoinformatics.org bugzilla-daemon at ecoinformatics.org
Thu Oct 22 12:15:38 PDT 2009


http://bugzilla.ecoinformatics.org/show_bug.cgi?id=4483





------- Comment #4 from aschultz at nceas.ucsb.edu  2009-10-22 12:15 -------
Storing the active module configuration in the kar would certainly do the
trick.  I think it may be too restrictive though.  Imagine someone has a very
insignificant additional module installed in their system, then anyone wanting
to open any KAR that they saved would have to also install that insignificant
module in order to use the KAR.

At the moment, a KAREntryHandler is responsible for returning a KAREntry that
has a dependsOnModule attribute, so it is possible to individually specify
module dependencies on each entry in the KAR.  The problem becomes how does a
module tell the ActorMetadataKAREntryHandler that it should add an additional
dependency to the MoML file when it is time to save the MoML.  The purpose of
the EntryHandler design is to completely separate the saving and opening of
individual entries in a KAR.  So I see two solutions at the moment:

1) Use a common StringAttribute to designate module dependencies for NamedObjs.
 Here a module, such as provenance, when it adds a module specific entity to
the workflow, would also need to add the common StringAttribute designating the
module dependency.  The ActorMetadataKAREntryHandler would then know to look
for that StringAttribute and add the dependency to the KAREntry.

2) Actually parse out all of the class names from the xml of a named object and
search for them in all of the modules and dynamically determine which modules
the workflow (or any NamedObj) depends on.  This I think would be very slow??? 
Maybe there could be a fast way to do it if we built an index of all the
classes contained in a module when the module is built?


More information about the Kepler-dev mailing list