[ 
https://issues.apache.org/jira/browse/NIFI-3360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15858418#comment-15858418
 ] 

ASF GitHub Bot commented on NIFI-3360:
--------------------------------------

GitHub user scottyaslan opened a pull request:

    https://github.com/apache/nifi/pull/1487

    [NIFI-3360] Modularize Canvas

    Most of this PR simply adds UMD (Universal Module Definition) boilerplate 
around NIFI's existing modules and re-orders the loading of the scripts on the 
page to match dependencies. However some refactoring was required.
    
    Changes to be aware of:
    
    1. Created new method nf.Graph.reload() to be called from 
nf.CanvasUtils.reloadConnectionSourceAndDestination since nf.Graph module has 
references to the canvas graph component controllers
    2. moved nf.CanvasUtils.enterGroup to nf.ProcessGroup.enterGroup
    3. nf.CanvasUtils.editable(...) now has nf.Connectable and nf.Draggable 
passed as args since the canvas graph components now have private references to 
the nf.Draggable and nf.Connectable controllers and can pass them along (rather 
than injecting nf.Connectable and nf.Draggable into nf.CanvasUtils)
    4. nf-canvas-bootstrap.js leverages the Inversion Of Control design pattern 
to remove circular dependencies and allow the Nifi js modules to be unit tested 
using mocks of the injected controllers
    5. nf.CanvasUtils now has a reference to the nf.Canvas (see 
nf-canvas-bootstrap.js) and now acts as a proxy for calls to the nf.Canvas
    6. nf.CanvasUtils now has a reference to the nf.Graph (see 
nf-canvas-bootstrap.js) and a new method nf.CanvasUtils.getComponentByType() 
that allows dependent modules to get canvas graph component controllers
    
    
*********************************************************************************
    
    Thank you for submitting a contribution to Apache NiFi.
    
    In order to streamline the review of the contribution we ask you
    to ensure the following steps have been taken:
    
    ### For all changes:
    - [ ] Is there a JIRA ticket associated with this PR? Is it referenced 
         in the commit message?
    
    - [ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number 
you are trying to resolve? Pay particular attention to the hyphen "-" character.
    
    - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically master)?
    
    - [ ] Is your initial contribution a single, squashed commit?
    
    ### For code changes:
    - [ ] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi folder?
    - [ ] Have you written or updated unit tests to verify your changes?
    - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)? 
    - [ ] If applicable, have you updated the LICENSE file, including the main 
LICENSE file under nifi-assembly?
    - [ ] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
    - [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?
    
    ### For documentation related changes:
    - [ ] Have you ensured that format looks appropriate for the output in 
which it is rendered?
    
    ### Note:
    Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/scottyaslan/nifi NIFI-3360

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/nifi/pull/1487.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1487
    
----
commit 3d938d0620eaaa07003b5f73522168ebafe9466f
Author: Scott Aslan <scottyas...@gmail.com>
Date:   2017-02-03T23:09:16Z

    [NIFI-3360] taking bottom up approach to modularizing the canvas...wrapping 
modulaes with UMD and keep the app loading

commit 5b727354af9458152da6f4a0774539efebc27566
Author: Scott Aslan <scottyas...@gmail.com>
Date:   2017-02-08T18:09:31Z

    [NIFI-3360] taking top down approach from this point and leveraging 
inversion of control desgin pattern

----


> Modularize canvas directory
> ---------------------------
>
>                 Key: NIFI-3360
>                 URL: https://issues.apache.org/jira/browse/NIFI-3360
>             Project: Apache NiFi
>          Issue Type: Sub-task
>          Components: Core UI
>            Reporter: Scott Aslan
>            Assignee: Scott Aslan
>
> Need to modularize (re-package) UI components to promote maintainability and 
> eventual reusability for UI extensions. Components are already conceptually 
> modular however circular references exists which should not be allowed. Need 
> to re-package functions to eliminate circular
> references.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to