[ 
https://issues.apache.org/jira/browse/RAVE-891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Erin Noe-Payne updated RAVE-891:
--------------------------------

    Attachment: RAVE-891.diff

First patch for 891

                
> Refactor Rave js to modularize functionality and isolate dependencies 
> ----------------------------------------------------------------------
>
>                 Key: RAVE-891
>                 URL: https://issues.apache.org/jira/browse/RAVE-891
>             Project: Rave
>          Issue Type: Epic
>            Reporter: Erin Noe-Payne
>         Attachments: RAVE-891.diff
>
>   Original Estimate: 336h
>  Remaining Estimate: 336h
>
> 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
> - Add backbone js, extend custom implementations of Backbone Models, 
> Collections and Views on the rave namespace.
> - 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.
> Goals:
> - Write rave js with extensibility in mind. Build modules to be configurable, 
> and write the default rave ui as 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

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to