-
Notifications
You must be signed in to change notification settings - Fork 81
Description
Related Problem or Business Case
When creating complex integration suites using the Framework, it is very convenient to be able to re-use parts of the XML by utilizing the current capabilities that (in theory) allow the arbitrary injection of XML at any place in the configuration.
There are however a few problems with this approach:
- Include elements are currently not allowed everywhere. This will trigger XSD validations when used within pipelines, params etc.
- the to-be-include code needs to be contained in exactly 1 root element in order to yield valid XML. In case we want to include multiple elements through this route, we might wrap the file in a 'Module' Element that will be flattened by the xml compiler.
- Even when grouping configuration through a Module element, validating the resulting Document is not possible, because it is no real 'unit'. E.g. one might decide to include the combination of Exit's and Pipes' into the Included XML document.
A possible way to circumvent this is to simply allow all contents within a Module, but that we we'll loose all validation capabilities.
Describe the Feature
Introduce multiple types of strictly defined 'Modules' or 'Snippits' that can be Included in the current mechanics of the Include mechanism. Repurpose the current 'Module' strictly for 'Configuration level' modules (a.k.a the way it is currently used). Apart from that, add structures like:
- PipelineSnippit/PipelineModule/PipelinePart?
- ParamsSnippit/ParamsModule/ParamsPart?
- whatever we decide to need and support
This way, we strictly dictate what structures we support / deem desirable and we can offer strict validation support through the existing XSDs. 'Validation' here is two folded: we are also able to validate wether or not the Include element is used in an acceptable place.
Collaboration with External Companies
No, community resolution only
Anything else?
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status