[Zope] one 'document' in many 'folders'

Jim Fulton jim@digicool.com
Tue, 23 Mar 1999 10:08:38 -0500


Wade Leftwich wrote:
> 
> As a demonstration project to try and get a client to go with Zope,
> I'm converting a newsfeed database that I had originally built using
> Perl.
> 
> The object of the game is to pull fresh articles from a Reuters
> server every two hours and put them in a bin. A human editor goes
> through the bin, culls and sorts the articles, edits where
> appropriate.
> 
> One article may appear in more than one section of the site. For
> example, an article titled "Zope Is Cool" might appear in the
> Python, Web Development, and Open Source sections. Each
> section has its own contents page.
> 
> This is where I get confused. My Perl application simply used the
> filesystem as a database, and generated three separate static
> copies of "Zope Is Cool", placing one in each of  three directories:
> /python, /web_development, and /open_source. I suspect there are
> much better ways to do it in Zope, but how do I organize things?
> 
> My naive idea is to make each article a Document, one of whose
> properties is a list (or dictionary) of categories in which it should be
> placed. Generating each section's contents page would then take
> some figuring out, and performance on doing the contents page
> would be a concern.
> 
> If there's a better way, I'd certainly appreciate hearing about it.

I think that your approach would work and have the drawbacks you suggest.
You could try it and see if performance is actually a problem.

Here are some other ideas.

First, you can put an object in many folders without creating
multiple copies.  You can't do this from DTML, but you *can*
do it from Python, and therefore, from an external method. 
This may be the simplest approach.

Second, you could come up with some sort of document management
system, based on clever indexing machinery, like ZTables or
on relational databases.  As someone else mentioned, Zope cataloging
with use ZTables to provide collections with advanced searching and
organizaing features.  This is still a work in progress, however.

Jim

--
Jim Fulton           mailto:jim@digicool.com   Python Powered!        
Technical Director   (888) 344-4332            http://www.python.org  
Digital Creations    http://www.digicool.com   http://www.zope.org    

Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email
address may not be added to any commercial mail list with out my
permission.  Violation of my privacy with advertising or SPAM will
result in a suit for a MINIMUM of $500 damages/incident, $1500 for
repeats.