Introduction
The Pipeline has been designed as an extensible hierarchy of functionality which is fully publicly accessible. This allows 3rd party developers to create custom flow elements that focus on their core business logic, whilst also benefiting from the features of the Pipeline - such as build from configuration, automatic data file updates, result caching, web integration, etc.
Choosing the Right Classes to Extend
At the most basic level, all that is required to create a custom flow element is a class implementing the flow element interface.
However, there are various levels of base classes that build up functionality which a developer may wish to take advantage of. The diagram below shows this hierarchy and the features introduced at each level. Note that the precise details of class names, etc will vary between languages.
Each level has associated classes as described by the following table:
Element | Data | Metadata | Builder |
Flow element | Element data | Element property metadata | N/A |
Aspect engine | Aspect data | Aspect property metadata | Aspect engine builder |
On-premise engine | Aspect data | Aspect property metadata | On-premise aspect engine builder |
Cloud engine | Aspect data | Aspect property metadata | Cloud engine builder |
Examples
Examples are provided which cover the creation of a custom flow element in a variety of scenarios.