I'm glad you've found the article useful -- we owe a lot to the MyFaces
community.
By the way, Sakai is open source, and so I hope that some of what we've
done can be moved into other projects. In particular, we think it would be
great if any of our work can be folded into MyFaces itself.
As I wrote, we ended up not building directly on x:saveState, but instead
building on the same idea. The actual Java code in both cases, though, is
very simple and short.
Sean Schofield wrote:
>I would have liked to have seen a rundown of
>what they liked about JSF in addition to a list of problems and how
>they solved them.
I guess I do sound a little stressed out. :) Frankly, I think that
dictating use of a 1.0 technology (particularly one with so many changes
from its last beta) was a mistake for a project this size. It's true that
we managed to work around the most serious problems (with help from
MyFaces!), but it's depressing thinking about how much of that work is
likely to be thrown away when JSF 1.2+ is available.
And I think JSF's early insistence on "all components all the time" was a
mistake as far as separation of concerns goes -- I think most long-lived
projects would prefer to let UI designers make changes in web presentation
layout independently of Java programmers. (I'm looking forward to the work
that's being done on JSF-based templating.)
But the problem was, of course, what else to use. There's not an obvious
best choice. As a clean MVC approach, JSF certainly seems superior to
Struts. When we started, Spring MVC seemed even riskier than JSF. (Nowadays
I wonder how the combination of Spring + JSP 2 would've worked, but I have
no practical experience to go by.) Tapestry & Velocity both have good
points, but we wouldn't have been able to swing all of the rest of the
Sakai project in that direction.
Best,
Ray