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.