nifi-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andy LoPresto <alopre...@apache.org>
Subject Re: StoreInKiteDataset, wasb, and class path
Date Thu, 05 Oct 2017 19:10:17 GMT
Just to follow up on Matt’s comments, the *name* value is used when the flow is serialized
to the flow.xml.gz file and deserialized. For example, if a property descriptor has name “ssl-protocol-version”
and value “SSL 3.0”, the XML would look like:

<processor>
  <name>Something using SSL</name
  <ssl-protocol-version>SSL 3.0</ssl-protocol-version>
  …
</processor>

Now, when SSL is renamed to TLS years later, the processor property gets renamed to “tls-protocol-version”
and the XML looks like:

<processor>
  <name>Something using SSL</name
  <tls-protocol-version>SSL 3.0</tls-protocol-version>
  …
</processor>

The problem is that if the NiFi code changes to look for “tls-protocol-version” in the
XML, existing flows will no longer work, because the application will say “no value defined
for tis-protocol-version”. This is why the *displayName* value was introduced — to allow
a “human readable”, internationalizable, and *modifiable* value for each property without
impacting name resolution in flow de/serialization.

We strongly discourage changing the value of the name, and encourage providing a displayName
from the beginning on any new property descriptor, and adding them to existing property descriptors
rather than changing the name.

Andy LoPresto
alopresto@apache.org
alopresto.apache@gmail.com
PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69

> On Sep 30, 2017, at 7:54 AM, Matt Burgess <mattyb149@gmail.com> wrote:
> 
> The .name() method is commonly used to provide a more Machine-friendly name, to help
in future Internalization (i18n) efforts. The .displayName() method is commonly used to provide
a user-friendly name. Currently the display name is used in the UI when present, and if not
present, the name is used.
> 
> Regards,
> Matt
> 
> On Sep 30, 2017, at 10:35 AM, Giovanni Lanzani <giovannilanzani@godatadriven.com <mailto:giovannilanzani@godatadriven.com>>
wrote:
> 
>> On 29 Sep 2017, at 18:50, Giovanni Lanzani wrote:
>> 
>> Now you definitely picked my interest.
>> 
>> I've opened https://issues.apache.org/jira/browse/NIFI-4443 <https://issues.apache.org/jira/browse/NIFI-4443>
and I'll try to work on it a bit. I might not tackle the Kerberos stuff just yet but I'm curious
to see if this additional CLASSPATH thingy is enough.
>> 
>> Thanks,
>> 
>> Giovanni
>> 
>> Hi again,
>> 
>> I was looking to open a PR and I saw this (new to me?) requirement:
>> 
>> If adding new Properties, have you added .displayName in addition to .name (programmatic
access) for each of the new properties?
>> 
>> Can anyone tell me precisely what this is about? Should I add a .displayName equal
to .name or is it only when I want to make a distinction between the programmatic access and
the UI?
>> 
>> Giovanni
>> 


Mime
View raw message