Hi Nuwan, Yeah - If we don't give a routing or controller mechanism to an application IMO it is not a framework. In the Store however the application logic itself has created this required framework level route and controller handling. What Absolute provide is a framework that will simply perform the below query
For the given request - execute this function and generate this template How the function and template are found are up the implementation. Absolute eliminate the concept of .jag files and bring the front-end controller which wraps up everything and handle things via controllers. How we want the view to be rendered is also configurable - in the example I am using caramel to render the template (refer my above diagram). IMO Caramel at heart is a theming library that will theme the view according to the data provided. Absolute is built on the idea behind rails - where you have conventions on how things work. Since you guys are building the generic publisher - can you please send me the link for it so that we can follow a similar design. Thanks On Tue, Jul 30, 2013 at 11:00 AM, Nuwan Bandara <[email protected]> wrote: > Hi Chan, et.al, > > Am not sure if you have understood MVC in caramel correctly here. the > request does come to the controller in caramel as well, and at the > controller it creates the view-model [1] (according to MVVM). the only > difference I see in absolute is that, it takes care of routing too. IMO > that locks down to one url pattern. > > Anyhow if that's your choice its perfectly fine, once the request hits you > asset type, you can handle it from which ever framework/design pattern, and > we encourage that. > > Also we have started working on the publisher, it will have a similar > structure to the store. We will be dealing with life-cycles etc (registry > LC by default), if your life-cycle states cannot be mimicked by registry > LCs you can override that as well. > > the Store git repository is at [2], So from now on, you have to install > the generic store as an OSGI feature [3] into your distribution and copy > your extra scripts on top of that. Please do not take a copy of the store > because it will be continuously changing. > > Regards, > /Nuwan > > [1] https://github.com/ruchiraw/wso2-samples-store/blob/master/index.jag > [2] https://github.com/wso2/enterprise-store > [3] https://github.com/wso2/enterprise-store/tree/master/modules/features > > > > > > On Tue, Jul 30, 2013 at 9:30 AM, Chan <[email protected]> wrote: > >> *Absolute.js* >> It's a front-end controller framework for jaggery. As opposed to Caramel >> - Absolute.js follows a controller first approach to MVC. >> >> Below diagram shows the difference of Caramel and Absolute.js >> [image: Inline image 1] >> >> What absolute.js lacks at the moment is the ability to intercept the view >> depending on the theme. This is a functionality provided by Caramel. >> >> I see Caramel as a theming framework rather than an MVC framework. We can >> combine both principles and build better framework. Then we will be >> overriding controller functions as opposed to the pages (.jag files). >> >> I have made the resolve functions pluggable to absolute.js to support >> any kind of routing functions required. >> [image: Inline image 2] >> >> With the above method we can follow routes as - >> >> /publisher/api - API route >> /publisher/{assetType}/{controller}/{view} >> Eg:------------------------------------------ >> >> /publisher/mobileapps/main/index >> >> If a person calls the /publisher/ this will call the main controller's >> index function which resides in a file called main.js in assets folder. For >> more understanding please go through the github project. >> >> Thanks. >> >> >> On Tue, Jul 30, 2013 at 9:09 AM, Chan <[email protected]> wrote: >> >>> Hi all, >>> We have come to an architecture that will work in parallel with >>> absolute.js as well as caramel using each of the mentioned frameworks's >>> plus points. >>> >>> *Store* >>> Mobile Store will be developed according the generic store mechanisms of >>> overriding assets. All the API paths required will be at the apis.jag >>> located in the mobileapp asset folder. We will be adding some additional >>> partials required for the device level manipulations for the store. >>> >>> *Publisher* >>> We are going to redesign the Publisher main architecture and make it >>> according to the caramel themes. >>> >>> Below is the diagram of how a request will travel through the Publisher >>> >>> [image: Inline image 1] >>> >>> Absolute.js will act as the front-end controller which maps controllers >>> to requests. The github repo for the sample is at - >>> https://github.com/dulichan/codewolf. >>> >>> For those who are not familiar with Absolute.js - >>> *Absolute.js* >>> -- >>> Chan (Dulitha Wijewantha) >>> Software Engineer - Mobile Development >>> WSO2Mobile >>> Lean.Enterprise.Mobileware >>> * ~Email [email protected]* >>> * ~Mobile +94712112165* >>> * ~Website dulithawijewantha.com >>> * >>> * ~Blog blog.dulithawijewantha.com<http://dulichan.github.io/chan/> >>> * >>> * ~Twitter @dulitharw <https://twitter.com/dulitharw>* >>> >> >> >> >> -- >> Chan (Dulitha Wijewantha) >> Software Engineer - Mobile Development >> WSO2Mobile >> Lean.Enterprise.Mobileware >> * ~Email [email protected]* >> * ~Mobile +94712112165* >> * ~Website dulithawijewantha.com >> * >> * ~Blog blog.dulithawijewantha.com<http://dulichan.github.io/chan/> >> * >> * ~Twitter @dulitharw <https://twitter.com/dulitharw>* >> > > > > -- > *Thanks & Regards, > > Nuwan Bandara > Technical Lead; **WSO2 Inc. * > *lean . enterprise . middleware | http://wso2.com * > *blog : http://nuwanbando.com; email: [email protected]; phone: +94 11 763 > 9629 > * > <http://www.nuwanbando.com/> > -- Chan (Dulitha Wijewantha) Software Engineer - Mobile Development WSO2Mobile Lean.Enterprise.Mobileware * ~Email [email protected]* * ~Mobile +94712112165* * ~Website dulithawijewantha.com * * ~Blog blog.dulithawijewantha.com<http://dulichan.github.io/chan/> * * ~Twitter @dulitharw <https://twitter.com/dulitharw>*
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
