[kepler-dev] Code Freeze Proposal
ben leinfelder
leinfelder at nceas.ucsb.edu
Mon Jan 4 12:33:10 PST 2010
Aaron -
For reporting and WRM it seems like we do need to know the "Save
Context" in that in some cases we'd want to include some KAREntries
and in other contexts we'd want to omit them even if we were calling
the same KAREntryHandlers.
Can you flesh out how that might work (maybe for exporting a workflow
run)?
Thanks,
-ben
On Dec 17, 2009, at 3:54 PM, Aaron Schultz wrote:
> You see here that the "Save Context" and the "EntryHandler" are
> things that exist in whatever module they are defined in and only the
> SaveKAR object is in the core. By going through all the Handlers in
> this way we can have many modules contributing objects to the KAR
> without knowledge of what the other modules are doing. In some
> cases however the modules are tightly coupled, for example a ROML
> and a RIO are really associated with a WorkflowRun which is in turn
> associated with a Workflow. So this may bring up the need for a
> more tiered approach that may need to call the EntryHandlers on
> multiple passes.
>
> Imagine the Save Initiator List starts off with only
> ComponentEntities in it. Then it runs through all the EntryHandlers
> on a first pass, passing the Save Initiator ComponentEntities to the
> save methods of the Entry Handlers. Let's call all of the KarEntries
> returned by this first pass through the EntryHandlers, the "Pass 1"
> Kar Entries. Now the "Pass 1" Kar Entries could be passed into the
> KAREntryHandler save methods on the second pass, this would return
> another set of KarEntries that we'll call the "Pass 2" Kar Entries.
> You can see here that we're now walking down the dependency chain,
> the first pass had ComponentEntities as the input, which returned
> any objects that were dependent on the ComponentEntites, for example
> the WorkflowRuns, then the second pass had the WorkflowRuns as the
> input which might return the ROML and RIOs associated with the
> WorkflowRuns. This iterative process would go on until the
> KAREntryHandlers were not returning any more KAREntries and all of
> the dependencies had been added to the KAR.
More information about the Kepler-dev
mailing list