myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Robinson" <>
Subject Re: AJAX?
Date Wed, 24 Sep 2008 19:55:45 GMT
What can you not do with Trinidad that you are not able to do using
JavaScript? The PPR library is open, in fact the autoSubmit
functionality just uses the same public APIs basically to submit on a
control event.

As for A4J support with Trinidad, I don't think it will ever happen as
the way A4J works hacks (badly) into the JSF lifecycle and breaks
Trinidad renderers because it skips over some lifecycles and uses
invokeOnComponent-like functionality to render during

As for being vetoed, there has been strong opposition in the MyFaces
community to develop components that do not render. People would
prefer to have built in framework functionality rather than more tags
or functional components (like a4j:support). The problem is that I
neither have the time or desire anymore to enhance the Trinidad
framework, as it is a lot of work. So basically, I am not allowed to
make the simple fix, but have no support from the naysayers to
volunteer to enhance the framework. As a result, Trinidad never
improves and gets stuck in mediocrity. Besides Simon Lessard and
Matthias Wessendorf and patch-submitting users, Trinidad only improves
through commits done by Oracle developers to fix bugs or make
enhancements that are needed by the Oracle rich client framework. So
if there is no Oracle customer desiring the functionality, generally
it does not get done. This is not made easier by the fact that the
Trinidad javadoc and comments is very light, so it is hard for a
developer new to the code to understand it at first (an extremely
steep learning curve). It is an unfortunate situation, and I am not
sure how to fix it. Personally, I have had enough enhancements
constantly disputed that I lost my desire to spend any of my free time
on Trinidad, and pretty much only work on Trinidad through Oracle
requested work now. At times I debate going back to Tomahawk as new
components are welcomed into the sandbox.


On Wed, Sep 24, 2008 at 1:30 PM, Jan-Kees van Andel
<> wrote:
> Well, with fine grained I meant the possibility to do some small
> customizations, like going to the server when you select a checkbox and then
> rendering some response or hiding/showing a field.
> Whether you enhance an existing JSF component with Ajax features (like a4j
> does), or some hand coded script, didn't really matter to me.
> My experience with Trinidad on previous projects was that it contained Ajax
> enabled components that work fine, but lacked the flexibility to easily
> create the little tweaks that more complex applications need. My solution
> then, was to integrate Ajax4jsf, but that didn't work because of some server
> side issues with (if I remember correctly) the Trinidad RenderKit. Since I'd
> really needed the low level control over the behavior of the application
> (and because it was a very time constrained consultancy project), I've
> chosen Ajax4jsf over Trinidad. But a year passed, so I was curious if things
> have changed, because there are a lot of things I really like about
> Trinidad.
> Hope this clarifies my previous question.
> Regards,
> Jan-Kees
> Ps. Why does your suggestion always get vetoed? IMHO combining the high
> level API of Trinidad with a lower level API (for power users, like a4j
> does) can make the difference for Trinidad. Or just providing some
> integration hooks so you get best of both worlds.
> 2008/9/24 Scott O'Bryan <>
>> That's why I was asking if he meant the ability to wrap non-ajax
>> components.  Trinidad can't do that right now.  I just got confused with
>> calling this "fine-grained" ajax control when it's actually content
>> wrapping.
>> Thanks for the clarification.
>> Scott
>> Andrew Robinson wrote:
>>> Trinidad lacks many of the declarative AJAX methods. Trinidad
>>> typically uses components with AJAX built in or provides JS API
>>> methods, but there are no AJAX tags or components to help make
>>> non-AJAX components AJAX'ed. A4J (now RichFaces, it replaced A4J) has
>>> components and tags that allow you to use any non-AJAX components
>>> (like h, f and tomahawk) and allow them to be partially updated.
>>> a4j:region, a4j:support are the big ones that are missing from
>>> Trinidad.
>>> I have tried to make similar functionality for Trinidad, and I always
>>> get vetoed.
>>> -Andrew
>>> On Wed, Sep 24, 2008 at 7:39 AM, Scott O'Bryan <>
>>> wrote:
>>>> Ajax4JSF and Trinidad are indeed not compatible.  I think some people
>>>> have
>>>> hacked some stuff together, but many of these frameworks compete with
>>>> each
>>>> other for the AJAX request and I can't really see that changing until
>>>> possibly JSF 2.0.
>>>> RichFaces is built on top of A4J toolkit which is why it is compatible.
>>>> I guess I don't understand what you mean by fine-grained Ajax things.
>>>>  Do
>>>> you mean the ability to wrap non-ajax components into an AJAX response?
>>>>  Because other then that I would put Trinidad's AJAX offering up against
>>>> any
>>>> of the other renderkits on flexibility and ease of use.
>>>> Scott
>>>> Jan-Kees van Andel wrote:
>>>>> Matthias,
>>>>> Just curiosity. The last time I've used Trinidad, it didn't really
>>>>> contain
>>>>> any ways to do some fine grained Ajax things. Integration with Ajax4jsf
>>>>> (that did offer low level Ajax) was also not implemented by both
>>>>> Ajax4jsf
>>>>> and Trinidad. That was basically my reason to stop with Trinidad and
>>>>> switch
>>>>> to RichFaces.
>>>>> Can you tell me something about the current status?
>>>>> Thanks,
>>>>> Jan-Kees
>>>>> Matthias Wessendorf-4 wrote:
>>>>>> On Sat, Sep 20, 2008 at 4:23 PM, Richard Yee <>
>>>>>> wrote:
>>>>>>> All of the trinidad components support what you want to to with
>>>>>>> All
>>>>>>> you
>>>>>>> need to do is add the partialTriggers="component Id" attribute
to the
>>>>>>> component you want to update. On the select component, you would
>>>>>>> the
>>>>>>> autosubmit and valueChangeListener attrs.
>>>>>> I'd also use Trinidad. It also offers a clean JS api, if you have
>>>>>> use-cases beyond normal PPR.
>>>>>> Trinidad is basically framework and component lib.
>>>>>> -Matthias

View raw message