On Fri, May 28, 2004 at 11:29:23AM -0700, Mark Randall wrote:
[I apologize if this is a repost. I tried once and it didn't seem to work]
I'm new to the list and hope this is an appropriate place to post a basic question. Our business has a need to prototype a portal application. A friend mentioned that Zope might be worth investigating as a possible platform. I'm hoping that the readers of this list can offer some guidance.
OVERVIEW This portal will be a public media sharing site, not too dissimilar from the old MP3.com site (or kind of like the current garageband.com site). Public users need to be able to create an account. Each user with an account will get an automatically created, somewhat customizable 'homepage' within the site. They will be able to self- publish their media, add it to one of the site's directory categories for browsing, and add a searchable description. Each homepage will have a list of that user's media that other users can browse/play, a description of the user, a mini-blog for the user (with comments).
So far you have described a typical site built with CMF or one of the higher-level frameworks that build on it: Plone or CPS.
Each piece of media will have a way for other users to rate it (the average rating being displayed), report it for abuse, and add a 'review' to it. Reviews will have a "Was this review helpful" option (like Amazon).
You'd do this with a custom content type. For Plone I'd suggest trying Archetypes; CPS has a similar schema-based approach.
The main page of the site will have a browsable category directory, search function, as well as an automatically generated "top ten" list, a "most recently added" list, a "higest rated" list, "featured" list etc. Each category will have its own sub-page with the same items on it.
ZCatalog is a natural for these jobs. (One nice thing about CMF and derived products is that re-cataloging happens automatically on every add, edit, or delete.)
This site will start as a low volume prototype (a few hundred users) but we hope it will need to eventually scale to tens of thousands.
Read Chris M's "Scaling Zope" presentation on plope.com. Zope has handled some extremely high-volume sites. It takes some hardware, but hardware is relatively cheap. Basically the strategy is: - use load testing tools to find performance baselines and set targets - use very aggressive caching for static content - use ZEO to transparently add more hardware - use profiling tools to find bottlenecks, then cache and/or optimize them
- Is Zope a good platform for this type of application? - Are there any sites like this built on Zope? - How far can Zope (and existing Zope addons) get us toward this goal? (halfway? more?) - Are there any Zope addons that we should particularly look at?
Probably, but I haven't done anything quite like this. Check the plone-users list, I believe people have discussed simlar apps recently.
- Any caveats or concerns we should be aware of?
You will encounter plenty of questions and stumbling blocks on the way, there is a lot to learn - but the mailing lists are very helpful and IMHO it's a very good solution to the problem space. -- Paul Winkler http://www.slinkp.com