You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@nifi.apache.org by Martin Ebert <ma...@gmx.de> on 2020/05/01 14:17:36 UTC

Best Practise Versioned "Templates" (Process Groups)

Hi NiFi Community,
more and more colleagues use NiFi. And we have a bucket in the NiFi
Registry for reusable "templates" like Call REST API (incl. error
handling). The idea is that you will find generic templates independent of
the project team, which makes your work easier.

The previous approach "use one parameter context per project if possible
and then replace only these parameter contexts in the templates/ process
group(s) with your own" is still too complicated for many. Often people
forget to assign them and it does not work because of typos.

To make the whole thing even easier, I consider the following:

1. No parameter context in versioned flows, because the users in the worst
case have two questions, how do I create an own context and how do I
maintain the value. Also copying parameter contexts is not possible yet.

2. Alternatively, each template flow should start with an UpdateAttribute
processor. In this processor, all parameters necessary for the process are
maintained centrally and transparently. (If required, you can link
parameters here.)

3. Always include a parallel error flow in templates.

4. Nest every major sub-step in a process group. Example: Run Databricks
Notebook then consists of a process group to execute the run and a second
one to check the run status and to inform when it is completed.

Do you think this is a good approach? I would be happy to hear about best
practices from the community. Do you also offer centralized flows that
everyone can use?