rave-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jmeas Pls (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (RAVE-941) Refactor rave portal as an angularjs web application
Date Mon, 21 Jul 2014 18:32:41 GMT

    [ https://issues.apache.org/jira/browse/RAVE-941?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14068998#comment-14068998

Jmeas Pls commented on RAVE-941:

This ticket has a lot of good ideas, and [~carldanley] and I have begun tackling these issues.

First things first, Carl and I believe the best road forward does involve moving away from
JSP in favor of another approach. Angular comes with an excellent templating domain-specific
language out-of-the-box, which is intended to solve the same problems as JSP, but competes
with it. In fact, modern webapps, like those built with Angular, do tend to use client side
templating in lieu of a server-side solution.

As it stands, the Angular branch is more like a Java webapp with an embedded Angular component
than it is a standalone Angular webapp. Only the tabs are in the process of becoming Angular-ized,
while the rest of the application is effectively still a Java webapp. There's no question
that those tabs are the most important part of Rave, but things like logging in, the profile
page, routing, the admin can, and should, we think, all be managed by Angular as well. Creating
a complete Angular webapp is the primary goal that [~carldanley] and I are working toward.

A separate Jira ticket will outline the broad goals of doing this.

> Refactor rave portal as an angularjs web application
> ----------------------------------------------------
>                 Key: RAVE-941
>                 URL: https://issues.apache.org/jira/browse/RAVE-941
>             Project: Rave
>          Issue Type: Epic
>            Reporter: Erin Noe-Payne
>            Assignee: Erin Noe-Payne
>             Fix For: 1.0
>   Original Estimate: 1m
>  Remaining Estimate: 1m
> With RAVE-914 we now have the rave core functionality isolated from the portal. This
allows us to refactor the portal application and write it as a reference implementation on
top of the rave core with the following goals:
> - Support generic data contexts for pages - portal, profile, portfolio or whatever else.
No more hard coded portal page vs profile page. 
> - Allow implementers to extend the portal application with less reliance on overlays.
> - Move away from jsps or other heavy-lifting view rendering logic from the server.
> I'm proposing to use angularjs (http://angularjs.org/) as a client side mvc framework.
This would be in place of previous efforts to implement the portal using backbonejs and handlebars.
Basic roadmap:
> - Move away from jsp's, either moving to a lighter-weight rendering framework or consider
serving only raw html with no rendering framework on the server at all.
> - Rewrite / update portal's views as angularjs compatible markup.
> - Write the portal js as an angularjs application that interacts with the rave core.

> - Use the new rest apis to serve data for client side navigation and partial view loads.
> - Allow implementers to extend rave portaljs for custom functionality without overlaying,
allow them to add views for new custom contexts without requiring overlays.

This message was sent by Atlassian JIRA

View raw message