Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id C9AE8200AC6 for ; Fri, 6 May 2016 22:18:16 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id C886B1608F8; Fri, 6 May 2016 20:18:16 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 1BDBC160A0C for ; Fri, 6 May 2016 22:18:15 +0200 (CEST) Received: (qmail 6978 invoked by uid 500); 6 May 2016 20:18:15 -0000 Mailing-List: contact dev-help@nifi.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@nifi.apache.org Delivered-To: mailing list dev@nifi.apache.org Received: (qmail 6957 invoked by uid 99); 6 May 2016 20:18:14 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 May 2016 20:18:14 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id D2CE2C02A2 for ; Fri, 6 May 2016 20:18:13 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -2.531 X-Spam-Level: X-Spam-Status: No, score=-2.531 tagged_above=-999 required=6.31 tests=[FREEMAIL_ENVFROM_END_DIGIT=0.25, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RP_MATCHES_RCVD=-2.079, SPF_PASS=-0.001] autolearn=disabled Received: from mx2-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id B0Vdfk7YMcTM for ; Fri, 6 May 2016 20:18:11 +0000 (UTC) Received: from BLU004-OMC1S20.hotmail.com (blu004-omc1s20.hotmail.com [65.55.116.31]) by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with ESMTPS id 9F0685F2F2 for ; Fri, 6 May 2016 20:18:11 +0000 (UTC) Received: from BLU436-SMTP217 ([65.55.116.8]) by BLU004-OMC1S20.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.23008); Fri, 6 May 2016 13:18:06 -0700 X-TMN: [EP+XEprWMoe+cTO1Xvjekko4hVU23FmUczolIoQotMc=] X-Originating-Email: [markap14@hotmail.com] Message-ID: Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Subject: Re: [DISCUSS] Extraction of Extension API From: Mark Payne In-Reply-To: Date: Fri, 6 May 2016 16:18:03 -0400 Content-Transfer-Encoding: quoted-printable References: To: dev@nifi.apache.org X-Mailer: Apple Mail (2.2104) X-OriginalArrivalTime: 06 May 2016 20:18:03.0866 (UTC) FILETIME=[64EDB3A0:01D1A7D4] archived-at: Fri, 06 May 2016 20:18:17 -0000 I'm a +1 > On May 6, 2016, at 3:46 PM, Brandon DeVries wrote: >=20 > +1. Seems like a good idea, and now is a good time. >=20 > Brandon >=20 > On Fri, May 6, 2016 at 3:31 PM Aldrin Piri = wrote: >=20 >> All, >>=20 >> I would like to propose a refactoring of the nifi-api for our = master/1.0 >> branch. In summary, a lightweight and concise view of this module = allows >> for reduced footprint of the NIFI API for components and minimizes = the >> creep of those items that authoring components do not need to use. >>=20 >> In a broader context there is a core set of interfaces that users = will >> interface with in their generation of new extensions for NiFi. = Summarily, >> these components have comprised Processors, Controller Services, = Reporting >> Tasks, & Prioritizers (the last of which is currently under = discussion to >> potentially be removed from this forward facing status). >>=20 >> What I would like to suggest is the refactoring of the nifi-api = module to >> be broken down into to two components: the nifi-api and the >> nifi-framework-api. nifi-api will encompass all things developers = would >> need to provide extensions tailored toward interacting with dataflow. >> nifi-framework-api would address the more internal items that are = also >> extensible, but not something that is typically implemented and would >> consist of the remainder of those items not in nifi-api. >>=20 >> This enables a core set of APIs that extensions can implement with a >> broader perspective of providing API compatibility between both NiFi = and >> MiNiFi. This enables some nice reuse of work with the goal = ultimately >> amounting to, write for NiFi, run on MiNiFi and the reverse. >>=20 >> Logistically, for NiFi extension writers, at first glance, not much = would >> change with their efforts. The core dependency would remain the = same, but >> would be curtailed in its scope to only what is required. Framework >> components of course, would need to be updated to include a = dependency on >> nifi-framework-api. >>=20 >> Given that the new structure would not yet be released, and to allow = MiNiFi >> to continue on its development path, a Git submodule or subtree would = be >> introduced into MiNiFi and supporting documentation on how to make = use of >> this for those not familiar. >>=20