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
>
> 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. 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. 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.
>>>
>>> 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.
>>> and please think about the consistency when developing apps/components you
>>> cannot and should not just use random technologies here and there.
>>>
>>> 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
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to