/ Hathaway Weblog / Ape: Time's Up

Shane :: Zope :: February 06, 2006 # Ape: Time's Up

Ape is an experiment in bridging transparent persistence to any medium. I am primarily interested in storing on a filesystem, but the Zope community seems interested only in Ape's RDBMS persistence. Well, here are some fundamental problems I've discovered that Ape has with RDBMS persistence:

  1. Ape can't add support for complex queries while retaining transparence. Transparence would require all Ape gateways (such as filesystem support) to gain the ability to answer complex queries.
  2. Ape sends data to the database only at the end of a transaction, and in random order. In high concurrency, this policy will lead to deadlocks.

Some more general problems with Ape:

  1. Ape fights with ZODB to an extent. With every ZODB release, I've had to change Ape to override different methods and use different attributes of the Connection class.
  2. The error messages produced by Ape (especially those involving UnmanagedJars) are hard to interpret. They can only be solved with deep study.
  3. Projects typically become easier over time. Ape isn't getting easier.

So while I appreciate the work people have put into Ape, I no longer think it's the right idea for people to spend their skills on. However, I'm about to release a much simpler replacement. Stay tuned.

Comments

Stefan Bund (April 03, 2006 03:49)

I don't know, whether this is the correct place to mention this. Hope someone will read it:

This is very sad/bad/whatever :-/

I have been using Ape in several projects to support the software development in Zope. I only use it in the development instance to get the ZODB into the filesystem. This allows me to manage the complete ZODB in SVN/CVS. This is extremely helpful.

An additional benefit of this is, that I can use ordinary filesystem tools to do things like global search/replace.

I sincerely hope, that the replacements allows the same usage scenario and will be released soon ...

Shane Hathaway (April 04, 2006 01:38)

Thanks for your vote of confidence, Stefan. Maybe Ape can have new life as a purely filesystem-oriented tool. However, I don't want to proceed until we figure out where Zope 3 is going. I don't want to overlap with something in Zope 3. I can't decide whether Ape and the fssync utility overlap.

P. Duarte (May 11, 2006 23:20)

How can I install the APE product in Zope versions newest than the Zope2.6? Problems whith the DBTab product, are similar. The default process of instalation simply don't let the Zope start.

Its a simple problem, but I had study the APE to aplic in Postgres RDBMS, end see this limitation. I can only use the version 2.6(final) from Zope and can't update the system.

Do You can help me?

Dario Lopez-Kästen (October 09, 2006 07:06)

I think APE has a good place in migrating zope-objects from the ZODB to the filesystem as part of development and prototyping solution.

So I hope that it will continue to exist as a bridge between the ZODB and the file system.

Felix Beer (October 31, 2006 08:30)

APE is a wonderful solution for mapping ZODB to filesystem objects on a development server, providing version control and the possibility to use a whole lot of other "traditional" development tools with zope.

Therefore, I hope that it will be around in the next zope versions as well.

No further comments may be added.

Jeremiah 16:16 (Click below to fill in the blanks.)
Your browser is not able to display the scripture fill-in program. To see it, enable Javascript or use Mozilla 1.0 or better.

Church: lds scriptures provident games pearls kzion shiblon film chancellor gateway cumorah byutv happiness nephi
Zope: freezope org com zen labs newbies zettai warnes
Python: home pyzine daily icanprogram
Genealogy: cyndi
Weblogs: jeffrey paul jon joel another-shane guido barry jeremy windley chrism zac
News: quakes lwn dc weather deseret zeitgeist softwarelivre
Zaurus: software developer
Tech: tango spintronics thin
Semantic: aaron sean
Reference: css rdf html4 javascript geckodom iecss emacs phrases acronyms
Reverse: advogato slashdot
Misc: gimp-savvy directory soda jokes shouldexist pdphoto