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

Reply via email to