+1 This should help clarify things when learning NiFi and when diving in new areas of the codebase.
Thanks, I'm looking forward to it. On Mon, Jul 25, 2016 at 7:45 PM, Matt Burgess <[email protected]> wrote: > agreed, big +1 here, will make things much more clear re: stability > and extensibility. > > On Mon, Jul 25, 2016 at 7:43 PM, Tony Kurc <[email protected]> wrote: > > awesome! > > > > On Mon, Jul 25, 2016 at 7:32 PM, Joe Witt <[email protected]> wrote: > > > >> Team > >> > >> For those interested I am going to take a stab at working through the > >> codebase [1] to apply Apache Yetus [2] annotations to make it more > >> clear and well communicated what are the public vs private aspects of > >> the API. > >> > >> We've had the 'nifi-api' module for some time now but unless you know > >> that this was meant to be the public API for supported extension types > >> you'd not really know that other parts of NiFi were not meant to be > >> altered and could be changed. Therefore, we've not been able to > >> evolve the framework as directly as we'd like at times. We had to > >> wait until 1.0 to make changes which otherwise should have been ok to > >> make. Also, previously 'nifi-api' had a lot of extraneous bits in it > >> that have now been refactored out to where they belong such as core > >> framework itself or in a 'nifi-framework-api' module. This means > >> things in 'nifi-api' should be quite stable and public. > >> > >> Yetus gives us a chance to clearly articulate which parts of the API > >> are meant for public use and which are meant for private use only and > >> therefore are subject to change. Furthermore, even for those public > >> elements we can more effectively articulate stability in ways that map > >> really nicely to our versioning scheme. > >> > >> My intent is to be very cautious in labeling anything beyond the > >> nifi-api as public. We can open things up as they prove to be stable > >> or clearly need to be made available as supported points of extension > >> but we can't really go back the other way. > >> > >> We of course also have to realize our 'interface' is more than these > >> APIs we're talking about. It is the REST interface, it is > >> configuration files, it is templates, and so on. > >> > >> Anyway, I hope to have the PR up for this very soon but wanted to send > >> a special note to the dev mailing list in case there are folks > >> particularly interested in this and who want to share their views. If > >> you are please keep an eye out for NIFI-1373. > >> > >> [1] https://issues.apache.org/jira/browse/NIFI-1373 > >> [2] > >> > https://yetus.apache.org/documentation/0.3.0/audience-annotations-apidocs/ > >> > >> Thanks > >> Joe > >> >
