On Jan 20, 2007, at 3:07 PM, Chris Withers wrote:

Jim Fulton wrote:
...mean that Zope 3 is currently hard-coded to need a ZODB?
That depends on what you mean by Zope 3. If you define "Zope 3" as zope.app.server.main, or zope.app.twisted.main, then yes, it is. I wouldn't define it that way, although I can see how others might. :)

Well, for me, a Zope 3 instance is what you get when you run mkzopeinstance. If there's other alternatives to that, I'd be interested in exploring them :-)

I think mkzopeinstance if fine, as far as it goes. I don't plan to use it in the future, even for setting up the existing main programs, which generally do meet my needs. (I have no interest in running Zope w/o ZODB myself.)

If so, how should we go about making this optional?
You would need to write a different main program that did something else.

Has anyone else attempted this?

As I have said over and over. Yes.

Does grok have one of these?

I suspect so,.

You would need to understand how the publisher framework worked and plug in an alternate publication that traversed to non-ZODB objects.

I touched on this with my reply to Philip, but surely the publication type should just be operating on objects that implement an interface? It seems odd, at least to me, that I'd need to rewrite publications that know about things like http, ftp and webdav just because the object I want to publish come from a file system or relational database rather than a zodb...

The publisher knows nothing about the application. The publication object is the object responsible for providing this integration. It is not a very complicated interface to implement. Depending on your needs, you can likely subclass the existing piblication if you wish.


(I am willing to put the work in to make this happen if people give me some hints...)
Other people have already made this happen. I don't know if any of their code is public or if they have written up what they've done.

This is a bit cryptic... are you saying there is an "alternative zope 3" that already has alternatives to zope.app.server.main or zope.app.twisted.main? If so, where are they to be found?

Alan Runyan and Sidnei Da Silva created one of the earliest Zope 3 applications using SQL Objects. I don't remember the name of their application or what it's status is. Maybe they'll chime in or you can ask them. Launchpad is a Zope 3 application that doesn't use ZODB. I don't think that code is available.

I'll note, and this will be, hopefully, the last comment on this thread, that a Zope 3 application based on relational databases is likely to look a lot different than a traditional Zope application. In particular, I wouldn't expect such an application to use an object filing system model, which is difficult to achieve with an RDBMS. I expect that such an application would simply expose pages in some URL space that isn't derived from data structures and that these pages would simply call into databases as necessary. I expect that such an application would look a lot like applications built with other web frameworks.


Jim Fulton                      mailto:[EMAIL PROTECTED]                Python 
CTO                             (540) 361-1714                  
Zope Corporation        http://www.zope.com             http://www.zope.org

Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to