Hi!
> There is already an implementation of this sort of thing in the Shale
> project's view-controller module:
>   http://shale.apache.org/shale-view/index.html
>   
I do not have any good argument why I didn't go the shale way. Maybe I
was just to shy to convince the shale people about the surely required
API change which might have been resulted in an huge patch ....
And I just doesn't know at the time of writing this stuff what the exact
API changes in Shale would have been.

I'd say, Orchestras implementation is just a lightweight variant of the
shale stuff.
If we would like to go the shale way, we have to add the shale,
shale-view and shale-tiger jar to the project which requires the view
controller stuff.
Doesn't really help in lowering the stack required to startup an
Orchestra application, does it?

> If the orchestra view-controller code is significantly different from
> shale (I don't know the shale code very well) then perhaps it could be
> merged into Tomahawk rather than exist in Orchestra? 
>   
If, we have to use the (never ;-) ) upcoming myfaces-commons project.
Are you willing to volunteer?

> And separately, both Shale and Orchestra ViewController implementations
> depend upon having managed beans with names that "match" viewIds in
> order for the controller to figure out which bean to invoke methods on.
> I'm not very enthusiastic about this approach as it seems fragile:
>   
We also have the AnnotationsViewControllerManager which uses the
@ViewController annotation where you can configure which view-ids the
bean belongs to.

> I would rather
> see something based on the JSF12 approach of phase-listeners attached to
> views.
Ah, I should finally take some time to have a look at the new stuff in
JSF12 (- any good summary about that somewhere?)

> In JSF12, the UIViewRoot component can now have phase listeners attached
> to it, and they get invoked for processing phases. These listeners are
> attached by adding f:phaseListener tags to the page. As a convenience,
> there are also attributes on f:view to configure a default
>   
Woho .... I wonder why the page designer should bother invoking the
right phase methods on the backing bean.
Isn't it the same (let's say) "wrong" concept than the t:saveState where
every now and then people arguing that this has nothing to do in the view?

> Note that although the f:phaseListener tag does require the target to
> implement PhaseListener, I'm not suggesting that this point directly at
> the backing bean. Requiring a backing bean to implement PhaseListener is
> not very nice. There are a number of possible solutions to this that I
> can post if people think this approach is worth investigating further.
>   
However, if people think this is the way to go, I am sure it is easy to
create such a JSF tag too.

Ciao,
Mario

Reply via email to