With ZTables (a non open source Zope product) you can do more relational database stuff inside the Zope database; I don't yet have enough experience with it to give solid commentary, but from what I've seen it certainly is very nice.
I've seen some talk on the list last week about ZTables, but I didn't have the chance to jump in and give our angle on what ZTables actually is. There seems to be the impression that Ztables is a realtional (like) database product, but this isn't really what ZTables is about. Since there are rumors (they're even rumors here, every now and then we hear paul and rob talking about things when they're coming to unchain us at 8pm from our desks) about some sort of open soucing of ZTables, I thought I'd give you all a breakdown on what it is, from my perspective. Zope 1.10.2 came with our indexing machinery "Below the Line" (meaning Open Source). The indexing stuff is really low level (can be only used in python) and faily straightforward. An index is basicly a fast way of searching through some mass of data. Over the past few years we've developed a product that uses the indexing stuff. Originally called DataPublisher, then Tabula, and now ZTables. ZTables allows a Zope manager to create, extend, maintain and publish tabular like data. "tabular like data" is defined as various columns (which define the schema) and any number of rows of data that fit that schema. A simple tabular like example is: id meta_type title one 'Folder' '' two 'DTML Method' 'Hi my name is Joe' three 'User Folder' 'User Folder' The columns are 'id', 'meta_type' and 'title' and there are three rows. This is all quite simple really, but ZTables gives you some unique abilities to do things with this tabular data. First, ZTables manages the schema. So new columns can be added or deleted. Ztables also manages indexes for all columns (columns can also not have an index). So searching through the data is very fast. ZTables can construct "imaginary" colums which are computed when they are accessed. These are called Computed Fields. ZTables gives you a Folder like management interface so you can add search forms, report forms, and other stuff right in the ZTable. ZTables also generates the fairly complex DTML reports and (potentialy) lengthly HTML forms for you. ZTables give you Hierarchies, to give you a more 'relational' feel to you data. There are also keyword hierarchies. ZTables lets you merge seperate subcollections into the ZTable, so you can bring various data sources into one sensible location. ZTables gives you the ability to upload and import various database flavors, including DBase, Rand, and comma delimited. We are working now on bringing some kind of ZTables 'core' into Open Source. Details cannot be revealed at the moment. This will be in conjunction with a release of some form of 'Catalog'. In fact, as it is now, our Catalog Product is just a wrapper around ZTables. -Michel