You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@nifi.apache.org by Andy LoPresto <al...@apache.org> on 2017/10/05 19:10:17 UTC

Re: StoreInKiteDataset, wasb, and class path

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 <ma...@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 <ma...@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
>>