[TransWarp] current Transwarp status and WARPCore

Phillip J. Eby pje at telecommunity.com
Fri Oct 26 09:22:22 EDT 2001

At 01:28 PM 10/26/01 +0200, Ulrich Eck wrote:

>I follow your checkins for TW daily ;-)
>is the Database part usable right now ?

There may be bugs - I have only just begun coding and testing all this 
stuff.  It's usable in the sense that I have a short test script that uses 
it to retrieve some LDAP and Sybase data and spit it out.  Nothing else 
about it is tested.

>do I need to understand the concept of WarpCORE to use it??

No.  It's completely independent of WarpCORE; it's just a database 
abstraction and virtualization layer at this point.  If you look at the 
Records module, you'll see some distinct ZPatterns influence - Storage is 
akin to Rack, while Record is very similar to the attribute cache of a 
DataSkin.  Both, however, are minus a considerable amount of complex Zope 
infrastructure hacking that's not needed here.

>As you said, WarpCORE is not a O-R-binding but a concept of
>how to write Apps that use a generalization for data-access.
>Is this right ??


>I saw from the code that your AppUtils package is needed as well,

Only if you're using the LDAPConnection object.  (By the way, just to give 
proper credit, the AppUtils package is 100% Ty's work IIRC.)  All of the 
database connections dynamically import needed non-TransWarp modules when 
they are *used*.  So if your app doesn't use LDAP, ldap's not imported.  If 
it doesn't use Gadfly or Sybase, they're not imported.

>are there any other dependencies for testing TW (except those from the wiki)??

Nope.  Currently, my recommendation for doing TW tests is to put Zope 2.4's 
/lib/python directory on your Python path.  With that, Python 2.1, and 
kjbuckets, you're pretty much set to go.  At some point (after my vacation 
which starts tomorrow) I intend to add unit tests for the database stuff 
using Gadfly, but that's available from Zope's lib/python directory.

> > 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.
>... yes please :))

Storage and Record objects now work, at least for loading data.  Caching 
isn't implemented, and modifications to data isn't tested.  There's a 
couple of missing parts to the API; e.g. I forgot to put in a way to delete 
Records.  :)  The Record-based StructuralModel isn't started 
yet.  Transaction support is there in ZLite and TW, but not tested yet.  (I 
need to test modifications before I can test transactions!)

>I see that you work hard on extending TW these days ..

It's the pre-vacation rush factor...  :)

>  so can we expect a release within a certain period ??

Well, for sufficiently high values of "certain period" and sufficiently low 
values of "release", yes.  :)  Translation: I'm not on a schedule for a TW 
release.  When it's ready, it's ready.  I do expect to have some very 
usable database code, and a production app based on it, before the end of 
the year.  What kind of "release" I'll make of it is unclear.  I'm somewhat 
uncomfortable with the state of the UML/XMI stuff, but I'm unlikely to have 
time to fix it before year-end.

More information about the PEAK mailing list