Good design goes mostly unnoticed. If a user interface works well, you simply complete a task and move on to the next. That time when something doesn't work as expected, or you think
why do I have to do it this way, is when the design becomes much more noticeable.
The following is a look back over recent months at some notable UI/UX improvements that have recently made or will be soon making their way to Apache NiFi. They vary a lot in size and complexity, but overall they contribute equally to make NiFi better by design.
More Control Over Restricted Components
New access policies were introduced for more fine-grain control of user interactions with restricted components. For example, permissions can be granted around reading of or writing to a file system, executing code, and keytab file access. Good to know – all new policies introduced are subcategories of the one previously in place, so a user holding a restricted component policy will receive all new ones. Administrators will therefore need to remove any specific restricted component policy they don't want a user to have.
Related to the previous improvement, you now have the ability to specify the keytab and principal independently of a processor, so flow administrators have greater control of who is able to reference them and they can grant permission on those Controller Services so that only the appropriate users can access them.
The description in the referenced JIRA has additional detail and talks about the design decisions made to limit impact on existing flows.
A processor's documentation that is generated will now contain facts about potential high resource usage for things such as high memory, disk space, processing power, and network bandwidth.
Offering functionality such as line counting, non-empty line counting, word counting, and character counting, this new processor should satisfy a frequent NiFi community request.
Satisfying another frequent request from the NiFi community, the FlattenJSON processor will flatten a JSON record into simple key-value pairs no matter how nested a file may be.
When using search each results will show some information about the component's containing process group – very handy when attempting to locate and navigate a larger flow.