[TransWarp] FYI: Last 1.5.2 revision, "Ref" to be deprecated

Phillip J. Eby pje at telecommunity.com
Mon Oct 22 10:53:32 EDT 2001

With Zope 2.4 already requiring Python 2.1, and Python 2.2 entering beta, I 
am dropping support for Python 1.5.2 in future versions of TransWarp.  I 
have added a "LAST_CHANCE_FOR_152" tag in CVS, for the convenience of 
anyone who's still using TW with 1.5.2 (which includes me at the present 
time, but very soon will not).

As I write new code, I'll be taking advantage of 2.1 features such as 
nested scopes, list comprehensions, the zip() function, *args and **kwargs 
calls, string methods, etc.  Most of the "old" code will likely stay 
1.5.2-ish for a while, however.  It's mainly new packages that'll require 
2.1 right away, such as the database-related stuff I expect to check in 
this week.

If you're using the 'Ref' class defined in TW.Builders, I suggest migrating 
to either 'Eval' or 'ClassRef'.  I will probably be getting rid of 'Ref' as 
I've noticed a tendency for it to generate strange side effects, sometimes, 
and its workings are just too tricky: "write-only" code, so to speak.

Some good news...  an early form of database support is coming 
soon.  Initially, it'll just be SQL and LDAP connection objects, "Record" 
objects, and the beginnings of a StructuralModel.  When this is in place, 
you'll be able to do the equivalent of ZPatterns SkinScript using plain ol' 
Python code.  Transactions will also be supported, so that you can build 
TransWarp web applications using ZLite.  I hope to check in first-draft 
(i.e. not guaranteed to compile, let alone work) versions of some of this 
stuff later today.

All of this stuff should be reusable with Zope instead of ZLite, but may 
require some Zope-specific aspects to be added in (such as product 
factories), and will need some adapters to let you access Zope 
DatabaseAdapters in place of TW's SQLConnection and LDAPConnection 
objects.  I don't know when I'll be able to get around to these, but they 
should be relatively simple for "third-party" developers to whip up.  I'm 
currently concentrating on ZLite because that's my target platform for a 
paying project I have right now.

More information about the PEAK mailing list