Yea, we should have been clearer TG 2.0 is not backwards compatable with 1.0, and it requires some siginficant work to port applications. Sounds like your app is very large, and would take a long time to migrated.
We're more than happy to help with that, and more than happy to maintain the 1.x code base for the long term. We can't control the SA change, but we did move the SA integration code into the project template, so you're now free to update your project to use an old version of SA without having to mess with the internals of TG. The identity stuff changed, particularly the way it's used in templates, but it's not quite as bad as you suggest. As for internationalization, babel is included in TG2 and it provides all the date stuff that you require ;) But you are right, that link is not documeted well in the TG2 docs. And I agree that we need better docs, but we've just not have enough help to move everything forward on every front that we should have, and the TG2 docs will continue to get better as people help us ;) As for speed, I've definitely gotten better performance out of TG 1.x than 2 requests per second, so I'm guessing that some of the performance enhancemnents you need are not in the framework, but in application code. --Mark On Fri, May 29, 2009 at 8:33 PM, Uwe C. Schroeder <[email protected]> wrote: > > > On Friday 29 May 2009, percious wrote: >> I think for those TG1 users who are already using genshi and sa with >> TG1, the portion requiring a rewrite is far less, probably 10-20%. > > SA is actually the biggest change. You need to touch every query because the > SA API changed from object.select(,order_by=[],limit=x) to > object.query.filter().order_by().limit() ... > Certainly not TG's fault :-) > > I think it would be majorly helpful if there was a detailed migration > document. One can do pretty much the same things with TG2, but the docs just > don't mention important things like > > what happened to stdvars.py and how do I do the same in TG2 > > how does one use identity in controllers and templates > > The main template is different. With TG1 one found a couple of explanations > what's where in the main template - TG2 misses that. > > How do I inject permanent javascript/css on every controller method? (I know, > in the base.py file, but the docs don't tell you and you need to figure that > out by digging for hours) > > Why can't the i18n module format dates anymore (or can it?) i18n is not just > language and messages. Dates, times, money, decimals/number formats all play > in. Sure, I can use Babel for that, but no mention about where to get tg's > locale is a little issue there. > > Why doesn't database reflection work "properly" anymore - by properly I mean > without globals in some method. (actually I figured that one out and sent > Mark Ramm the changes - which are little and allow for either reflection or > not in the model/__init__.py without globals and stuff. Don't know if that > breaks anything though, so I'll leave it up to him and the other core > developers to check it out) > > To sum it up: One sure doesn't expect complete documentation from a .0 > release, but a migration would be much easier with proper documentation. > > Read the source is always an option, but to be honest, very few people who > encounter these issues will be as noisy as I am (because I like TG) - most > people will just try for a while, fail and walk away to something else. As a > matter of fact, I got a couple of emails off the list after my little late > night rant - all of which asking me if I knew something else than TG worth > exploring... > >> For instance. To provide a shortcut to identity in my template and >> request context, here is what my base controller class looks like: >> Maybe it's just me, but that doesn't seem like a huge change. The >> identity object now hangs of the context of your request, which allows >> for better multi-database support and solves threading issues that may >> other wise crop up. And in fact, this code is part of the quickstart, >> so you don't even have to figure it out yourself. > > Yes, that is the default. Although the new identity object is majorly > different and not a Bunch anymore. Basically if you use a lot of > identity.current.something directives you have to rewrite them. I haven't > gotten to group memberships yet, so I'll see how that goes the new way. > If I knew where to plug it in, I'd write a wrapper to provide the "old > style" - and be it just to make migration less painful. > >> TG2 _is_ a lot faster (although I have never experienced 2 p/sec with >> TG1). With a complex genshi template, TW enabled pages are still >> rendering at 33+p/sec. (Mac OS 10 2.4ghz, 4gb ram) The same pages >> rendered as mako for your default template get roughly 120p/sec. > > Actually I just tested the main page of my app with TG2 (got that working > after 20+ hours). TG2 is about 2 seconds slower than TG1 on the same machine. > It takes about 4 sec. before I get a response on my test system (local > network, dual Xeon with 8GB memory, SCSI drives). TG1 takes a bit over 2sec. > > My production system takes 1.39 sec to respond (TG1). Most likely due to > serving static files from a different server via nginx. On my production > system I can handle about 40k pages a day without it being annoyingly slow - > everything over 40k pages slows to a crawl (dual dual-core with 4GB memory). > > I didn't go into detail why it is so slow, but my guess it's a mix of Genshi > and SA. The main page has about 40 xi:includes and about the same amount of > database queries. In total the main page comes in at 72 http requests - I > know, that's a lot but the site is image heavy and has a lot of > javascripts/stylesheets. I bet it would help a lot if TG could bundle up > javascripts and css like Zope does. I think I saw something like that in the > latest TW version - got to check though. > > Just to mention: my setup is SA, TG1.0.4, Genshi, TW > As for migrating to 1.5 - TW doesn't work there anymore. TW changed the > resource injection method therefor no js or css will be injected anymore. I > fiddled with that for a while, but basically gave up in favor of waiting for > TG2.0 > > > > > > -- Mark Ramm-Christensen email: mark at compoundthinking dot com blog: www.compoundthinking.com/blog --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TurboGears" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/turbogears?hl=en -~----------~----~----~----~------~----~------~--~---

