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

Reply via email to