Details
Description
Some of old components have "Flow" variables. They are similar to "After" (Return) properties, but "Flow" properties are available only in current flow/subjob and are different for each record processed. "After" properties are available in different flow (after all records were processed).
Both types of variables use the same mechanism of global map.
For now new Component Framework doesn't support "Flow" variables, but they are required to port components on new Framework.
During discussion "Flow variables" notion was transformed to "Out of band data" notion (OOB data)
After this change TCOMP components may optionally output Root record
This issue is related to 3 tasks:
- Definition task (TCOMP should provide means for components to define what OOB data component provide)
- Runtime task (TCOMP should provide means for components to output OOB data as well as usual data)
- Data Source task (Special case with Stand alone components should be addressed)
Also this task should performed in several projects and modules:
- TCOMP
- Components (should be changed to output hierarchical record)
- DI codegen (should clean record from OOB data before passing to downstream component and post OOB data as DI flow variables)
- Studio (Should call TCOMP API to show OOB provided by component in Outline view)
This issue includes following subtasks:
- Describe concept of Out of band data
- Add github wiki page, which describes how to implement component with/without OOB data
- Add means to define, what OOB data component provide
- Add utility methods to support component developer in component development which supports OOB
- Make changes in Studio according changes in TCOMP
- Make changes in codegen
- Make changes in all components
Codegen-utils library:
- variableKey to VARIABLE_KEY transformation should be added to library (and removed from codegen templates )
- Analyze codegen to find code, which could be moved to library (to simplify codegen, and cover with junits)