[Zope-Annce] DBObjects 1.3.0 beta 1 released!

Stephan Richter srichter@cbu.edu
Mon, 10 Sep 2001 02:19:06 -0500

Hello everyone,

okay, it has been a while since I have posted a new release of DBObjects. 
The reason is not that we did not do anything, but that so much was added 
and changed that I never had the chance to pack it all up.

In Austria DBObjects starts to conquer the Zope development companies. 
bluedynamics.com is using proiektor (uses DBObjects) to implement sites 
that are heavily project-oriented. They also developed an Auction Tool that 
is based on DBObjects that communicates via XML-RPC. uptime, a company 
based in Vienna, develops the entire Austrian Telekom E-commerce site 
called Jet2Web using DBObjects, in which also the Auction Tool is being 
incorporated. The core of the entire shop was written in just 6 weeks, 
which shows the amount of time that can be saved using the DBObjects!

Zope.org Download: http://www.zope.org/Members/srichter/Products/DBObjects
iuveno demo site: http://demo.iuveno-net.de/iuveno/Products/DBObjects

Please send me any comments, suggestions, criticisms and ideas to 

*** New Features ***

- Volatile support. You do not need to save any information in the ZODB 
anymore. Sponsored by bluedynamics.com.

- XML-RPC support. Implements some methods that are well-suited for XML-RPC 
communication. Written by Phillip Auersperg, bluedynamics.com.

- QueryFolder support. You can now create virtual DBObjectFolder's which 
show a certain subset of objects. For example, if you have NewsItems, then 
you can have a QueryFolder called PublishedNewsItems, that contains only 
the news items that are marked published. Sponsored by bluedynamics.com.

- DBObjects is a product! Finally! You can now use DBObjects as a 
standalone product and you can now develop your product separately. You 
simply register your product and DBObjects will know about it.

- Move/Copy Support. I finally managed to support the Zope API calls move 
and copy.

- Version/Undo Support. If you like, you can now choose whether you would 
like to save old versions of you object. All the versions are held in the 
RDB. You can assign version numbers and mark specific objects as archived, 
so that they are not removed, when the data is packed (all old versions are 
being deleted).

- Psycop support. DBOjbect can finally talk to PostGreSQL via Psycop as 
well. Psycop is probably the most advanced Python-PostGreSQL library that 
also has a nice Zope DA. This allows us finally to use DBObjects is truly 
serious situations! Thanks to Stefan Holek for his input.

- When a FolderishDBObject is initialized, then all the SubObjectFolders 
are generated automatically now. Sponsored by Stefan Holek, uptime.at.

- Zope.py will provide an abstract class that can be used to hang normal 
ZODB objects into a DBObject tree. Basically, it is a DBObjects API 
compliant regular Zope Folder.

- Added Search Support for DBObjects. You can now search through DBObjects. 
You simply specify in each DBObject a variable called 
'searchableAttributes', which is a tuple containing the names of the 
attributes that can be searched. The search will look through all the 
sub-objects as well and then generate a list of **objects** whose search 
result was positive.

- Added a new Support/ directory. It will contain some higher level Support 
classes, that can be optionally added to a DBObject. Currently, I added the 
ViewTreeSupport and the UserSupport to it, which were part of the proiektor 
code base before.

- DBObjects should now be everywhere Zope 2.3+ UI compatible. I updated all 
of the DTML files to the new standards.

- Fixed a bug in General.py that was pointed out by Fredrik Svensson. He 
was testing DBObjects on Windows NT. As far as I know, DBObjects should be 
Windows NT compatible now.

- Changed the ; (semicolon) delimiters to <dtml-var sql_delimiter>, which 
was also pointed out by Fredrik.

*** Planned Features ***

- Support for more Databases. Build an abstraction layer, so that 
differences in DA's can be adjusted. Problem cases are DateTimes and Booleans.

- Allow for random primary keys, so that the system does not depend on an 
id, containertype and containerid anymore. That will be a hard one.

- More adaption to the standard Zope API. By now, I have already 
implemented a good amount of the Zope API, but I think some more work needs 
to be done.

- Use Formulator to automatically generate HTML Forms. After I decreased 
the time to generate objects, I noticed that I spend most of the time 
generating new forms.

BTW, I am looking for sponsors that would help out financing one or another 
part of the future development. I'll pay! The amount of time saved using 
DBObjects is gigantic!


Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development & Technical Project Management