I also had a reasonably large T3 application that I considered porting to T5.  
I wound up adding some new functionality via T5 and running them side-by-side 
without issues.  Since T5 is a servlet filter and T3 is a servlet, they 
actually play(ed) quite nicely together. But. That was with an early 5.0 
release (5.0.13-SNAPSHOT).  Later versions of T5 got a bit "greedier" about url 
matching, to where any url that looks like /app/* (assuming defaults here) will 
match the index page, if nothing else, unless you explicitly add paths to be 
excluding by T5 processing.  You might be able to play around with using 
different paths for the T5 vs. T3 code, or else you'll need to contribute the 
urls that map to your T3 app to T5's list of urls to ignore/pass through.  

For login, I'm not sure what the "recommended" way is, but what I did was to 
create a service that mapped from the T3 session-stored values values of 
interest in T5, where values of interest were things like the current user, 
whether the user was authenticated, and so forth.  Basically, it gave me easy 
access to my T3 "visit" and "global" objects (as well as the custom Engine that 
the T3 app used).  For me, that worked well.  The trick was mapping the session 
value as required.  So that turned out to be pretty straightforward. T3's 
ApplicationServlet.java stores the engine in the session under the following 
key:

org.apache.tapestry.engine:<servletname>

And you can, of course, get your visit from the engine.


And the global is at:

org.apache.tapestry.global:<servletname>

in the ServletContext.

So you can inject the context and the session into your "Bridge" service and 
then grab the objects from there.
You'll have to duplicate a bit of logic from T3 in that your Bridge service 
needs to check for the existence of the objects, create as required, and stash 
the objects back into the session/servlet context if necessary.

Good luck!

Robert



On Oct 25, 2010, at 10/252:32 PM , Andreas Bohnert wrote:

> Hi!
> 
> We have started to port a fairly big tapestry3 application to tapestry5. It 
> works very well, however it will take a while to complete the whole code.
> Are there any known issues/pitfalls if we run tapestry 3 and 5 code side by 
> side?
> 
> We don't want to login twice, so what is the recommended way to share the 
> session?
> 
> Thanks for your help,
> Andreas
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to