[Zope3-dev] Re: Zope 3 web root

Laurence Rowe l at lrowe.co.uk
Sat Feb 11 14:33:29 EST 2006


I really like this idea. I spend most of my time developing applications 
with Plone, and am just starting to use zope 3. Most of what I spend my 
time on is site customisation and one off development. But I've never 
really found a nice way to layout my applications, Product (or more 
standard python modules now in zope 3) development doesn't really seem a 
good fit. With this system I can see my site as:

root/
   index.zpt (customised homepage, no longer living in the zodb yay!)
   contacts/
     index.zpt
     contactsdb.zodb
   projects/
     index.zpt
     projectsdb.zodb
   ...

So I get to move my site customisation to the filesystem in a more 
natural way than a python module allows. Yes, it looks a bit like an 
apache site, but hell, I know apache, and I'm building a website :-)

As an aside, I've just been doing a little mod_python development and in 
some ways it seems very natural using it for small applications, but I 
miss all the zope goodies.

I think this could really open up zope 3 to more developers, so a big 
cheer from me.

Laurence


Shane Hathaway wrote:
> An idea just occurred to me.  I think others have probably had similar 
> ideas, but didn't express it in the right place or time.
> 
> Part 1: Let's put an Apache-like web root (similar to 
> /var/www/localhost/htdocs/) in Zope instance homes.  It might be called 
> "browser" or "www".  Zope will serve pages out of that web root rather 
> than an object database.
> 
> Part 1 rationale: When people create a Zope instance home, they create 
> some config files and an object database.  The root of the site is 
> served out of the object database.  To change the default page, newbies 
> are directed to create a default page in the object database.  The user 
> didn't ask for an object database.  The use of an object database should 
> be a choice, not a requirement.  Now the user has to learn some extra 
> tools (fssync, etc.) in order to put the files under version control.  I 
> think the user experience for both newbies and experts would be much 
> better if the root of the site were served from a filesystem directory.
> 
> Part 2: Let's add some ZCML directives that define how to interpret 
> filenames in the web root by their extension.  Let's also interpret 
> special per-directory files that map URI names to filenames, similar to 
> Apache .htaccess files.
> 
> Part 3: One kind of file we can put in the web root serves as a gateway 
> into an object database.  We might use the extension ".zodb" for this 
> purpose.  The .zodb file would specify what kind of storage to open, 
> where to find it, and what object to load from it.  In a sense, the web 
> root would mount the object database.  Some configuration of the web 
> root would mount an object database right at the root, enabling Zope 3 
> to act just like it does today.
> 
> Any thoughts or gut reactions?
> 
> Shane
> 



More information about the Zope3-dev mailing list