[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