status: dead. zdc was replaced by strongbox, storage, and arlo
= zdc overview =
=== summary ===
The ZDC ("zike data classes") package provides (yet another) Object-Relational mapping service for python. On the object side, ZDC provides the following classes (note that the "Class" prefix is only provided as an aide to this wiki):
* ClassObject - adds strong(er) typing and dynamic properties to normal python objects
* ClassObjectView - makes an Object look like a dictionary (handy for ["zebra"] templates)
* ClassLinkSet - handles one-to-many relationships between objects
* ClassJunction - handles many-to-many relationships between objects
On the relational side,
* ClassField -
* ClassRecord -
* ClassTable -
* ClassConnection -
The two sides are combined in ClassRecordObject, though this may change, eventually.
ZDC also contains classes that describe various data types:
* ClassFixedPoint (shamelessly stolen from Tim Peters)
* ClassDate - simple dates, with arithmetic support (eg, today + 1)
* ClassIdxDict - similar to microsoft collections, a cross between python's standard dictionary and list types.
=== quicklinks ===
sourceforge: http://sf.net/projects/zdc/
webpages: (none worth mentioning yet)
documentation (old): http://zike.sourceforge.net/doc/api.zdc.html
=== status ===
ZDC has been fairly stable since late 2000 or so... It works beautifully as-is, but the interface isn't as clean as it could be. (See below)
=== to-do ===
The following areas need work:
* find a better name!
* create a driver for MetaKit
* investigate the class creation syntax from RoundUp
* ZDC server (kind of like EJB container?)
* Decouple RecordObject from the datasource. (You should not need a Connection just to create a RecordObject)