Any comments? I am awaiting your decision to start working on this.
On Fri, Jul 11, 2014 at 11:10 AM, Ajay Yadav <[email protected]> wrote: > Hi Venkatesh, > > Valid question and I am glad that you gave an opportunity to discuss it. I > have no particular bias towards using django. I have worked with client > side templates(not dust.js but more popular alternatives like mustache, > handlebars etc.) and client side MV* frameworks like backbone.js, angularjs > etc. It is completely possible to use both together, most common case. > > *Note: *I looked at the existing code and saw that the current work in > dust.js is very less - around15-25 lines(only dust templates part not > html/css). So may I take the liberty of rephrasing your question slightly > as below > > *Question*: Assuming we can choose only one to keep stack mix to minimum > - shall we use pure client side framework(like dust.js) or pure server > side framework(like django)? > > *Answer*: > *TLDR Version:* > Server side components offer more flexibility and extensibility than a > pure client side framework. Using only client side stack will rule out use > of database for dashboards, talking to other services,plugins etc. by using > just dust.js. Things like hardcoding of rest server end points, graceful > degradation, number of parallel connections available in browser will limit > pure client side stacks. In other cases it will put a stress on falcon REST > API to be modified just for the dashboard. Using python stack instead of > javascript, will help in getting more support from community. > > *Long Version* > > - *Convenience vs. Possibility* - Server side components give us > flexibility and extensibility to build for any use case in future as well. > Any future feature is possible to be built without dust.js and bootstrap > but not other way around. Dust.js and bootstrap just make it easier to do > lot of things to enhance user experience. > - *Features* - Consider the login page of the dashboard. We will need > a database to store users/ integrate with ldap. We will need to generate > new random passwords when users forget passwords. Same for features like > bookmarks, custom dashboards etc. A lot of features like this can't be done > if we are not using any server side component. > - *Sanity of REST API* - REST services of falcon are not only for web > browser consumption. They can be used by command line clients etc. as well. > As the use cases for dashboard will evolve, it will become more involved to > do things using js alone on client side and it will put lot of stress on > modifying REST API to suit just the client. For example consider the use > case of allowing an administrator to edit a process from an HTML form. REST > API will return plain text/xml and it will be tedious and slow to parse > everything in javascript side and then recreate it. Sending a json and > accepting json just to cater to web client will be problem for > - Another use case can be to be able to export the reports like SLAs > missed in last quarter, metrics in pdf/excel format and it will not be > possible to do it on client side and in lack of a server side component it > will again put stress on REST API to be modified just for dashboard UI. > - *Best Practices* - With just dust.js and simple htmls being served > through a webserver, we will have to deal with naming urls with .html > extensions, hardcoding the REST end points in each HTML etc. > - *Browser constraints* - We will have to deal with browser > constraints like number of parallel connections, cross site requests, > javascript not being enabled etc. This will also restrict the development. > > > - *Community Support* - This is purely my impression and I might be > completely wrong here. I see that more python developers are involved with > big data/data science/machine learning eco system than more javascript > developers. Hence it will be easier to find more support for maintaining > and extending these components in community if we develop them in django > instead of dust.js. > > > > > On Fri, Jul 11, 2014 at 2:28 AM, Seetharam Venkatesh < > [email protected]> wrote: > >> I think we are using bootstrap and dust templates. I'd want to see if we >> need to introduce more technologies into the mix. Do we need Python and >> Django? >> >> >> On Thu, Jul 10, 2014 at 6:08 PM, Ajay Yadav <[email protected]> wrote: >> >> > Thanks Srikanth and Venkatesh. >> > >> > I had looked at the UI and the graph database related code and I will >> reuse >> > existing code where ever available. I checked for compatibility of each >> of >> > the software being used and they are all compatible with APL 2.0 >> (Python, >> > Django & Bootstrap). >> > >> > If you can assign the task to me on JIRA also, it will be >> > great(user:ajayyadava) Also, I got the balsamiq account for >> falcon(thanks >> > Srikant) and I will be asking all my questions on mocks there. >> > >> > >> > >> > >> > On Thu, Jul 10, 2014 at 2:45 PM, Seetharam Venkatesh < >> > [email protected]> wrote: >> > >> > > Welcome aboard Ajay. Please let us know how we can help you to get up >> and >> > > running on this. The REST APIs are documented at: >> > > http://falcon.incubator.apache.org/docs/restapi/ResourceList.html >> > > >> > > Thanks! >> > > >> > > >> > > On Thu, Jul 10, 2014 at 7:12 AM, Ajay Yadav <[email protected]> >> wrote: >> > > >> > > > Hi, >> > > > >> > > > I would like to volunteer for >> > > > https://issues.apache.org/jira/browse/FALCON-37 >> > > > >> > > > I have more than 7 years of experience in building websites. I have >> > > > experience in both client side >> technologies(javascript/HTML5/Bootstrap >> > > > etc.) and server side technologies(Python/Django). >> > > > >> > > > I will need some help with iterating on the mocks as they don't >> seem to >> > > be >> > > > complete. I spent couple of hours on building a couple of pages >> using >> > > > "dummy" data to get an idea of what all APIs are required. Please >> find >> > > them >> > > > attached. They are just a quick and dirty prototype and UI is pretty >> > raw >> > > as >> > > > of now, to get quick feedback. I used Django,HTML5 & Bootstrap. >> > > > >> > > > Please let me know if I can own this task. >> > > > >> > > > >> > > >> > > >> > > -- >> > > Regards, >> > > Venkatesh >> > > >> > > “Perfection (in design) is achieved not when there is nothing more to >> > add, >> > > but rather when there is nothing more to take away.” >> > > - Antoine de Saint-Exupéry >> > > >> > >> >> >> >> -- >> Regards, >> Venkatesh >> >> “Perfection (in design) is achieved not when there is nothing more to add, >> but rather when there is nothing more to take away.” >> - Antoine de Saint-Exupéry >> > >
