|
|
/ Hathaway Weblog / 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:
- 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.
- 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:
- 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.
- The error messages produced by Ape (especially those involving UnmanagedJars) are hard to interpret. They can only be solved with deep study.
- 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
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 ...
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.
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?
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.
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.
