[
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