On Wed, Feb 13, 2013 at 11:29 PM, Erin Noe-Payne <[email protected]> wrote: > With the my recent patches and the previous thread on underscore.js, I am > beginning work on refactor rave's javascript base to better modularize > functionality and isolate dependencies. I have laid out a roadmap for the > refactor listed the primary goals in a new epic ( > https://issues.apache.org/jira/browse/RAVE-891). They are copied below. > Please give any feedback.
IMO this is great and I look forward to helping in any way I can. > > > Goals: > - refactor rave js with extensibility in mind. Build modules to be > configurable, and write the default rave ui / client as a configuration > rather than hard-coded. > - Look for opportunities and keep focus on backend as services delivering > json data, reduce the workload of thick views (jsps). Allow the client to > manage views and state with more flexibility > > Roadmap: > - Establish rave.ui namespace that manages all ui interactions > - Find all instances of inline html and dom building in rave.js, move to > client side templates available on rave.ui.templates > - Isolate all dependencies on jquery, handlebars and other libraries inside > rave.ui files (except ajax), such that an implementer could remove these > dependencies and easily replace with an implementation using other dom > manipulation or templating libraries. The only dependency of rave core code > should be underscore.js utility library. > - Establish rave.ajax namespace. Isolate all jquery ajax dependencies here, > such that an implementer could overlay their implementation with a > preferred ajax library. See backbone.js sync for a reference ( > http://backbonejs.org/#Sync). > - Update providers (rave_opensocial, rave_wookie) to establish a consistent > interface for gadget objects and properly set up and tear down gadgets. > Currently there are some issues with not correctly firing lifecycle events > or creating potential memory leaks with gadget closing. > - Investigate, refactor or remove rave_person_profile.js. Appears to be a > lot of duplicated code, not clear why it is a separate file. > > > Thanks, > Erin
