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 [email protected] [email protected] PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4 BACE 3C6E F65B 2F7D EF69 > On Sep 30, 2017, at 7:54 AM, Matt Burgess <[email protected]> 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 > <[email protected] <mailto:[email protected]>> > 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 >>
signature.asc
Description: Message signed with OpenPGP using GPGMail
