Joe! Looks amazing! Thanks for pulling this together
Hello NiFi Community
Please review the proposed roadmap and suggest things to add, remove,
update, prioritize differently.
Over the past year we have had great contributions that improved the
quality of NiFi and the community. As we know there are many JIRAs
related to improvements or new features. However, it can be difficult
for new and existing community members to know when to jump in, how to
help, or when things they are interested in might be able to happen.
So among other things we should provide and maintain a documented
roadmap to help this.
The following suggested timeline follows pretty strictly against our
previously stated objective of having releases roughly every 6 weeks.
We do not need to stay strict to this but a time bound (as opposed to
feature bound) release cycle does help provide a regular cadence to
follow and helps give contributors a sense of when their efforts might
end up in a release.
The items below are largely just focused on some of the major muscle
movements needed at a framework level. There will of course be many
many more JIRAs with each releas.
NiFi 0.5.0 (Feb 5)
State Management
https://cwiki.apache.org/confluence/display/NIFI/State+Management
Kerberos
https://cwiki.apache.org/confluence/display/NIFI/Pluggable+Authentication
Interactive Queue
https://cwiki.apache.org/confluence/display/NIFI/Interactive+Queue+Management
Scripting Support
https://issues.apache.org/jira/browse/NIFI-210
NiFi 0.6.0 (Mar 18)
Deterministic Template Export
https://issues.apache.org/jira/browse/NIFI-826
Schema/Format Editor (JSON to JSON,…?)
Numerous JIRAs related to format/schema conversion. An example
implementation:
https://github.com/fsauer65/NiFi-Extensions/tree/master/nifi-jsontransform-bundle
NiFi 0.7.0 (Apr 29)
NiFi 1.0.0 (Jun 17)
HA Cluster Management
https://cwiki.apache.org/confluence/display/NIFI/Clustering+Redesign
HA Data
https://cwiki.apache.org/confluence/display/NIFI/High+Availability+Processing
Multi-Tenant Authorization
https://cwiki.apache.org/confluence/display/NIFI/Multi-Tentant+Dataflow
Improved Authorization API
https://cwiki.apache.org/confluence/display/NIFI/Pluggable+Authentication
NiFi's current authority provider gathers data then makes a decision.
We should instead support PDP/PEP model [4].
Modernized UX
https://cwiki.apache.org/confluence/display/NIFI/Redesign+User+Interface
Dependent Properties
https://issues.apache.org/jira/browse/NIFI-1121
NiFi 1.1.0 (Sep?)
Template/Extension Registry
https://cwiki.apache.org/confluence/display/NIFI/Extension%2C+Template%2C+Dataset+Registry
Variable Registry
https://cwiki.apache.org/confluence/display/NIFI/Variable+Registry
The timing of these things is pretty important as far as
interdependencies and how long they'll take to develop and validate.
State management in 050 sets up an important way to have cluster-wide
shared state and introduces zookeeper formally into NiFi which
obviously will be important for the distributed systems behaviors
we'll need as we restructure how clustering works and introduce data
replication for HA data processing. The 060 and 070 releases are
intentionally quite light to allow for very focused work on a parallel
branch of 1.x which probably should start right on the heels of 050.
The 1.0 release will introduce some very key features, offer a chance
to remove deprecated classes, ensure all APIs are extremely clearly
documented for stability and audience, allow us to introduce UI/UX
changes, and so on.
Now, of course this is simply a proposal and these timings may not
work out. But this should serve as a good basis for discussion and
consensus forming.
As we progress I plan to update the roadmap [1], product requirements
[2], and feature proposals [3] to reflect these things a bit more
clearly than they are now.
We should also have a discussion on how long we should be committed to
supporting the 0.x line and what that means. We need to document a
commitment for the community.
[1]
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=58851850
[2] https://cwiki.apache.org/confluence/display/NIFI/Product+requirements
[3] https://cwiki.apache.org/confluence/display/NIFI/NiFi+Feature+Proposals
[4] https://en.wikipedia.org/wiki/Common_Open_Policy_Service
Thanks
Joe