On 30 May 2009, at 06:46, Dan Allen wrote:

On Sat, May 30, 2009 at 12:36 AM, Ian Michell <ianmichell@gmail.com> wrote:
Yeah, I guess I will have to write a work around for now, as a redirect with a message doesn't work either (although the pages.xml schema says it does), so once you log out and try to do a form post, seam throws the view state exception, however if you logout and then do a redirect it works fine, apart from the fact that I lose the message I pass on successful logout -- Almost as frustrating as seam mail!

So are you saying you are having a problem with the Seam feature when using the regular approach or just when using the build-before-restore. The problem with build-before-restore is that it is just broken in Facelets. I wish I remembered the exact details, but I can say that it needed to be reworked quite a lot before it became the standard approach in JSF 2.0.


Dan Allen
Senior Software Engineer, Red Hat | Author of Seam in Action


NOTE: While I make a strong effort to keep up with my email on a daily
basis, personal or other work matters can sometimes keep me away
from my email. If you contact me, but don't hear back for more than a week,
it is very likely that I am excessively backlogged or the message was
caught in the spam filters.  Please don't hesitate to resend a message if
you feel that it did not reach my attention.

I had managed to get it working by doing: s:link view="/login.xhtml" action="#{identity.logout}" value="Logout" />, basically that logs you out and displays the logout message that our front end guy wants, however until I had put BUILD_BEFORE_RESTORE in place, it kept giving view state exceptions when I tried to log back in.

BUILD_BEFORE_RESTORE does something very funny, in that I found it broke quite a lot, like you I can't remember the details as I did quite a bit of digging into it, to see if I could create a work around.

I guess I will have to create a workaround for the messaging bit, so when one logs out, one is redirected to the login page and an action is run to display the appropriate message (because of the funny way we display messages, due to how our front end guy wants it done, I wrote a JSF tag that displays either INFO, WARNING, ERROR + FATAL (error and fatal together), so we can override messages easily enough).

As for JSF 2.0, I'm very keen to have a play, I have done my best to take us away from Spring to Seam by porting all our DAO's and services to EJB, then starting this new project from scratch with Seam (our old buyer portal is still in spring and our new procurement tool is being built with seam). It's not been without it's pain points, for one I would love to see better integration with netbeans as eclipse sucks with maven (and I'm not it's biggest fan) and the other is taking spring developers and trying to get them used to the idea of seam has been a very interesting experience for me as a manager, but a good choice nonetheless.

I'm hoping the transition to Seam 3.0 and JSF 2.0 will be as painless as possible, which is another reason I'm trying to get involved in the dev list, as it seems it's the best place for information on it and over time I want to see how I can contribute to it.