Hi all, My comments are inline. Other than that I wrote a sample blogger app that’s there for Caramel in Absolute. It’s found at [1]. My point is - I am willing to talk why Caramel approach is incorrect and why we need a Front-end controller. But folks- you got to be willing to listen.
[1] - https://github.com/dulichan/absolute-example PS:- I removed the training group since it’s an internal one. Peace~ On Tue, Dec 3, 2013 at 11:09 AM, Venura Kahawala <[email protected]> wrote: > Hi, > > I was not aware that filter concept was removed from jaggery, but we need > to have a proper alternative so we can full fill basic needs of a basic web > application. > > @Nuwan: Could you please give an example on how a controller should be > implemented given that my application adheres the caramel standards? If we > can come up with a proper way of doing this, it will save a lot of time. > Regards, > Venura > > > On Tue, Dec 3, 2013 at 10:55 AM, Gayan Gunawardana <[email protected]> wrote: > >> Hi Venura, >> >> We have discussed jaggery filter functionality few months back. You can >> find more information from [xacml with jaggery] mail thread in >> [email protected]. We had the same requirement like how to implement >> Entitlement filter from jaggery side. >> >> But the final conclusion was there are no filters in jaggery world, what >> you can do is, route all requests through one controller which will act as >> your filter >> > Ain't this the Front-end controller? > >> I am totally +1 for considering these kind of existing features when >> implementing a new language. >> >> >> On Tue, Dec 3, 2013 at 10:29 AM, Venura Kahawala <[email protected]> wrote: >> >>> Hi Nuwan, >>> >>> I'm new to jaggery world but while I was developing "my-identity" >>> application for IS I found out some limitations in jaggery and Caramel. >>> What I needed was to implement a filter functionality just as in servlet >>> filter. Purpose of the filter is described. When we have multiple pages and >>> if some page should be restricted for some set of people based on the >>> permissions, groups or some other factor, then we can intercept the request >>> and validate within the filter. This is a basic requirement and it is >>> pretty hard to implement that requirement in jaggery without adding a code >>> segment to each page. >>> >>> IMO we need to consider these kinds of existing features when >>> implementing a new language. Yes as you mentioned, we need to improve the >>> jaggery and Caramel instead of implementing functionality in separate >>> places, but we should add these functionality since we are moving towards >>> jaggery and caramel. >>> >>> Regards, >>> Venura >>> >>> >>> On Tue, Dec 3, 2013 at 8:06 AM, Nuwan Bandara <[email protected]> wrote: >>> >>>> Hi Dulitha, >>>> >>>> We have had this debate over and over. What am trying to point out here >>>> is that we simply CANNOT have another way of writing jaggery apps. >>>> >>> +1 for not having another way to writing jaggery apps. But I don't agree that way to be Caramel. > If we need improvements to Caramel please go ahead and contribute, don't >>>> create a new one that serves ur purpose. Caramel was there for sometime and >>>> APIM / UES / Store are build on that pattern. >>>> >>> We have used Store and Publisher both and found out that both of them are pretty inconsistent. Maybe Store and Publisher makes Caramel looks complex but I check the blogger sample and found that it's too over complicated. > Front controller is sometimes good and sometime not so good, people will >>>> need multiple controller patterns at times. So please dont rely on just one >>>> pattern. >>>> >>> We need multiple controller patterns. But we need a front-end controller. >>>> In a web app framework there are more things to think about, not just >>>> the controllers, most of the elements are well thought and included to >>>> caramel. So please take a moment and try to understand the framework and >>>> improve it as you need, but dont invent a new thing just for your cause. >>>> >>> The reason why we built absolute is to make writing jaggery apps pragmatic. Caramel is not pragmatic. We can't improve something when both concepts are different like Template engine and Front-end controller. > and please think about the consistency when developing apps/components you >>>> cannot and should not just use random technologies here and there. >>>> >>> Random technology? Caramel is random technology. Absolute build on framework concepts found in Rails, Node etc ( http://addyosmani.github.io/backbone-fundamentals/#mvc-applied-to-the-web) >>>> Regards, >>>> /Nuwan >>>> >>>> >>>> On Mon, Dec 2, 2013 at 11:48 AM, Dulitha Wijewantha >>>> <[email protected]>wrote: >>>> >>>>> Hi Nuwan, >>>>> My comments are inline. What I am proposing - is to build a fully >>>>> functional front-end controller rather than just another template >>>>> renderer. >>>>> Let's have a discussion regarding this. I am also refactoring Absolute to >>>>> provide capability to override how the pattern matching is done. This >>>>> training is for anyone who is interested in these frameworks- mainly >>>>> because they are pragmatic. >>>>> >>>>> On Mon, Dec 2, 2013 at 6:18 PM, Nuwan Bandara <[email protected]> wrote: >>>>> >>>>>> Hi Chan, >>>>>> >>>>>> We need to review the new security stuff you did for Goose.js (the >>>>>> routing library) >>>>>> >>>>> >>>>> +1 for reviewing security of Goose.js. >>>>> >>>>> >>>>>> and also if we are doing any new jaggery application, we MUST follow >>>>>> caramel as that is the standard. >>>>>> >>>>> -1 for Caramel - below are my reasons >>>>> >>>>> - Caramel is not really a framework. It's a template engine that >>>>> does dynamic engine. It's an overkill for applications (that's not >>>>> meant >>>>> for overriding) >>>>> - A front end controller is required for an application due >>>>> authentication, custom controller actions, monitoring etc. >>>>> - Caramel enforce carmel objects into the controller jags >>>>> >>>>> >>>>> If there are improvements lets do it to Caramel. >>>>>> >>>>> -1 reasons for not improving Caramel are - >>>>> >>>>> - Caramel is all together a different concept. It's not about a >>>>> front-end controller. It's about a dynamic template engine >>>>> - Caramel is kind of procedural where you have to evoke it from >>>>> controllers >>>>> - Caramel can be used in ways the developer wants. It's exactly >>>>> opposing the idea of a framework. A framework exert certain things over >>>>> developer. Caramel makes everyone write their own version of MVC (take >>>>> Store and Publisher for an example. >>>>> >>>>> >>>>> >>>>>> We should not use two libraries in the platform as it will be a >>>>>> maintenance nightmare. So am -1 on developing applications in Absolute. >>>>>> If >>>>>> Caramel is missing functionalities that you desire, please add them to >>>>>> Caramel. >>>>>> >>>>> I am suggesting to drop Caramel support and build a fully functional >>>>> front-end controller. Caramel was built for something else and it >>>>> shouldn't >>>>> be continued because it's not really needed if you really look at it. Why >>>>> - >>>>> I am explaining below - >>>>> >>>>> Why do you need a framework - You want to run the X logic on the Y >>>>> request and display the Z representation to the user. In the world of >>>>> frameworks - X is a controller, Y is the request, and Z is a display >>>>> (view). Absolute simply allows you to match a controller to a view based >>>>> on >>>>> the user's request. The way you do it is up to you. You can use a >>>>> conventional base approach as a pattern matching algorithm or a >>>>> configuration approach. The underlying framework requirement is just >>>>> mapping logic to request and rendering representations. >>>>> >>>>> >>>>>> Regards, >>>>>> /Nuwan >>>>>> >>>>>> >>>>>> On Sun, Dec 1, 2013 at 11:45 PM, [email protected] >>>>>> <[email protected]>wrote: >>>>>> >>>>>>> more details >>>>>>> »<https://www.google.com/calendar/event?action=VIEW&eid=YzB1amZtODA4N2RqY2tmbmdmdm9tbzFobDQgdHJhaW5pbmctZ3JvdXBAd3NvMi5jb20&tok=MTYjZHVsaXRoYUB3c28yLmNvbWRmZWYzODBkMWQyNTdmODQ0ODFiYWZkYjIwMjUxMmRmNjJmYWZhMDI&ctz=Asia/Colombo&hl=en> >>>>>>> Goose.js and Absolute.js training >>>>>>> Goose is a javascript framework for quickly writing APIs. Absolute >>>>>>> is a front-end controller framework for jaggery for that can be used to >>>>>>> build MVC type applications. >>>>>>> >>>>>>> Goose.js - >>>>>>> https://github.com/dulichan/goose.js<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fdulichan%2Fgoose.js&ust=1385963104897000&usg=AFQjCNEM7cwSyUJriD-sAjpP1avqz1-csA> >>>>>>> Absolute.js - >>>>>>> https://github.com/dulichan/absolute.js<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fdulichan%2Fabsolute.js&ust=1385963104897000&usg=AFQjCNGDK9rHxfbYsx_fhEJrhLhUFRZAVQ> >>>>>>> *When* >>>>>>> Tue Dec 3, 2013 1pm – 2pm Colombo >>>>>>> *Where* >>>>>>> 3rd Floor Kernel Meeting room >>>>>>> (map<http://maps.google.lk/maps?q=3rd+Floor+Kernel+Meeting+room&hl=en> >>>>>>> ) >>>>>>> *Calendar* >>>>>>> [email protected] >>>>>>> *Who* >>>>>>> • >>>>>>> [email protected] - organizer >>>>>>> • >>>>>>> Shanmugarajah Sinnathamby >>>>>>> • >>>>>>> Kasun Dananjaya Delgolla >>>>>>> • >>>>>>> Gayan Gunawardana >>>>>>> • >>>>>>> Krishanthi Samarasinghe >>>>>>> • >>>>>>> Harshan Liyanage >>>>>>> • >>>>>>> Dilshan Edirisuriya >>>>>>> • >>>>>>> Niranjan Karunanandham >>>>>>> • >>>>>>> Dilan Jayakody >>>>>>> • >>>>>>> WSO2 Training Group >>>>>>> >>>>>>> Going? *Yes >>>>>>> <https://www.google.com/calendar/event?action=RESPOND&eid=YzB1amZtODA4N2RqY2tmbmdmdm9tbzFobDQgdHJhaW5pbmctZ3JvdXBAd3NvMi5jb20&rst=1&tok=MTYjZHVsaXRoYUB3c28yLmNvbWRmZWYzODBkMWQyNTdmODQ0ODFiYWZkYjIwMjUxMmRmNjJmYWZhMDI&ctz=Asia/Colombo&hl=en> >>>>>>> - Maybe >>>>>>> <https://www.google.com/calendar/event?action=RESPOND&eid=YzB1amZtODA4N2RqY2tmbmdmdm9tbzFobDQgdHJhaW5pbmctZ3JvdXBAd3NvMi5jb20&rst=3&tok=MTYjZHVsaXRoYUB3c28yLmNvbWRmZWYzODBkMWQyNTdmODQ0ODFiYWZkYjIwMjUxMmRmNjJmYWZhMDI&ctz=Asia/Colombo&hl=en> >>>>>>> - No >>>>>>> <https://www.google.com/calendar/event?action=RESPOND&eid=YzB1amZtODA4N2RqY2tmbmdmdm9tbzFobDQgdHJhaW5pbmctZ3JvdXBAd3NvMi5jb20&rst=2&tok=MTYjZHVsaXRoYUB3c28yLmNvbWRmZWYzODBkMWQyNTdmODQ0ODFiYWZkYjIwMjUxMmRmNjJmYWZhMDI&ctz=Asia/Colombo&hl=en>* >>>>>>> more options >>>>>>> »<https://www.google.com/calendar/event?action=VIEW&eid=YzB1amZtODA4N2RqY2tmbmdmdm9tbzFobDQgdHJhaW5pbmctZ3JvdXBAd3NvMi5jb20&tok=MTYjZHVsaXRoYUB3c28yLmNvbWRmZWYzODBkMWQyNTdmODQ0ODFiYWZkYjIwMjUxMmRmNjJmYWZhMDI&ctz=Asia/Colombo&hl=en> >>>>>>> >>>>>>> Invitation from Google Calendar <https://www.google.com/calendar/> >>>>>>> >>>>>>> You are receiving this courtesy email at the account >>>>>>> [email protected] because you are an attendee of this event. >>>>>>> >>>>>>> To stop receiving future notifications for this event, decline this >>>>>>> event. Alternatively you can sign up for a Google account at >>>>>>> https://www.google.com/calendar/ and control your notification >>>>>>> settings for your entire calendar. >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> >>>>>> >>>>>> *Thanks & Regards, Nuwan BandaraTechnical Lead; **WSO2 Inc. * >>>>>> *lean . enterprise . middleware | http://wso2.com <http://wso2.com> * >>>>>> >>>>>> *blog : http://nuwanbando.com <http://nuwanbando.com>; email: >>>>>> [email protected] <[email protected]>; phone: +1 812 606 7390 >>>>>> <%2B1%20812%20606%207390> * >>>>>> <http://www.nuwanbando.com/> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Chan (Dulitha Wijewantha) >>>>> Software Engineer - Mobile Development >>>>> WSO2Mobile >>>>> Lean.Enterprise.Mobileware >>>>> * ~Email [email protected] <[email protected]>* >>>>> * ~Mobile +94712112165 <%2B94712112165>* >>>>> >>>>> * ~Website dulithawijewantha.com <http://dulithawijewantha.com/> * >>>>> >>>>> * ~Blog blog.dulithawijewantha.com >>>>> <http://dulichan.github.io/chan/>* >>>>> * ~Twitter @dulitharw <https://twitter.com/dulitharw>* >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> >>>> >>>> *Thanks & Regards,Nuwan BandaraTechnical Lead; **WSO2 Inc. * >>>> *lean . enterprise . middleware | http://wso2.com <http://wso2.com> * >>>> >>>> *blog : http://nuwanbando.com <http://nuwanbando.com>; email: >>>> [email protected] <[email protected]>; phone: +1 812 606 7390 >>>> <%2B1%20812%20606%207390> * >>>> <http://www.nuwanbando.com/> >>>> >>> >>> >>> >>> -- >>> Senior Software Engineer >>> >>> Mobile: +94 71 82 300 20 >>> >>> >> >> >> -- >> Gayan Gunawardana >> Software Engineer; WSO2mobile Inc.; http://wso2mobile.com/ >> Email: [email protected] >> Mobile: +94 (71) 8020933 >> Blog: http://gayanj2ee.blogspot.com/ >> > > > > -- > Senior Software Engineer > > Mobile: +94 71 82 300 20 > > -- Chan (Dulitha Wijewantha) Software Engineer - Mobile Development WSO2Mobile Lean.Enterprise.Mobileware * ~Email [email protected] <[email protected]>* * ~Mobile +94712112165* * ~Website dulithawijewantha.com <http://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
