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 >>
