Hello all,
In thinking about adding a new processor, what considerations should be
made in order to determine whether the processor belongs in
nifi-standard-processors or in its own bundle?
From the hipchat the following general guidelines were laid out:
- If it's a proprietary or obscure service, it belongs in its own bundle.
- If it's a very common/standard format and it doesn't bring with it an
enormous set of dependencies, then it can go in standard.
I think that's a pretty solid set of general rules, but are there
additional nuances that should be considered? For example, I've submitted
PR1927 [1] to add InvokeGRPC as a standard processor, and while gRPC is
becoming a more common transport mechanism, it adds the first occurrence of
code generation in nifi-standard-processors.
It was suggested in the hipchat that we formalize and agree on the set
of things to consider when deciding on where to place a new processor
implementation. Once agreed upon, we should add it to the contributor guide
[2]. Thanks, Tony and Andy, for the feedback.
Regards,
Mike
[1] https://github.com/apache/nifi/pull/1927
[2] https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide