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

Ajay Yadava commented on FALCON-790:
------------------------------------

I am also reviewing the first patch. My first observation is that this is a 
pretty elaborate UI stack as it uses lots of third party frameworks/libraries. 
Advantage of this is that we have lots of front end best practices, goodies and 
flexibility in place which will serve to any case. On the other hand, in a 
project like Apache Falcon it will significantly increase the entry-barrier for 
someone to contribute or even review the UI work. It's relatively easy and 
possible for someone working on Falcon java part to just use a plain jquery and 
html to probably fix an urgent issue but not other way around. Due to a totally 
disjoint set of people working on UI/backend we will need back and forth 
between back end and UI developers to debug an issue as none will be able to 
debug the other part of the code and pin point where exactly the issue is. I am 
not saying it's a wrong thing to do but just putting it out here so that we are 
conscious of the choices we are making.

Other comments:

* I think if we use a precompiled version of bootstrap we can significantly 
reduce the number of files that we have. Even though it's a vendor code it's 
still lot of code to checkout and compile.

* We shouldn't commit the .iml files.

* IMHO we should document the various frameworks/vendor libraries that we have 
used e.g. we should specify that we use jasmine for running tests, angular for 
templating. This is important to ensure that we have homogeneous use of 
frameworks. In the front end stack there are so many choices that we can end up 
with different frameworks for same thing in different parts of the code. This 
will also help us in cross checking the licensing terms and conditions.

* We should also add documentation on how to contribute a patch detailing each 
step of development, like how to compile, get the local environment up, how to 
run tests etc.

* Also, IMHO, we shouldn't have both angular and dust.js together. We should 
either remove old dust.js part(if we need to revert back then we can pull it 
back from previous version) or we should convert that part of the code also to 
angular. It's not a good practice to have two frameworks for same thing and we 
won't be able to prevent further accidental use of dust.js in some code. It 
also adds extra responsibility on the developers to know both dust and angular 
to maintain and support both of them.



> Falcon UI to enable entity/process/feed edits and management
> ------------------------------------------------------------
>
>                 Key: FALCON-790
>                 URL: https://issues.apache.org/jira/browse/FALCON-790
>             Project: Falcon
>          Issue Type: New Feature
>          Components: ui
>    Affects Versions: 0.6
>            Reporter: kenneth ho
>            Priority: Critical
>             Fix For: 0.7
>
>         Attachments: 4.4.zip, create feed_1.png, landing.png, new 
> cluster.png, new feed_2.png, new feed_3.png, new feed_4.png, patch01.patch, 
> patch02, patch03, patch04
>
>
> Falcon UI is currently read-only. As a step towards enabling a full fledged 
> cluster/feed/process management and monitoring UI, the following features 
> will be added to the existing UI:
> For the first phase - 
> Entity Creation:
> 1. allow to create a new cluster from the UI
> 2. allow to create a new feed from the UI
> 3. allow to create a new process from the UI
> 4. allow to browse and import an entity XML and then edit
> 5. Clone an existing entity and edit.
> Provisioning and managing:
> 1. Submit an entity
> 2. Schedule an entity
> 3. Suspend an entity
> 4. Delete an entity
> For the second Phase -
> 1. integrating with Ambari view for login.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to