[ZWeb] Q: Available for participation?

Paul Everitt paul@zope.com
Sun, 21 Apr 2002 18:05:24 -0400


Chris McDonough wrote:
> The ratings code is "in there", but it does need to be wired in to the skin.
> It was not wired into the skin originally because we thought we might have a
> "generic" ratings system for all kinds of content, but this has not come to
> pass.
> 
> The code is the docs (it's very simple code).  The code is available via
> anonymous cvs checkout:
> 
> cvs -d :pserver:anonymous@cvs.zope.org/cvs-zopeorg login
> cvs -d :pserver:anonymous@cvs.zope.org/cvs-zopeorg co -d ZopeOrg
> Products/ZopeOrg

A little note: the above should be ":/cvs-zopeorg" and not 
"/cvs-zopeorg".  The preceding colon is important.

> See SoftwareProduct.py

I just took a look at it, and it appears there is a download counter but 
not a rating.  While these are mildly related in implementation, they 
are pretty different in usage.  For instance, we'll want some way to get 
a very high-speed lookup of the top rated items.  I'm not sure if we 
want the same for most downloaded items.

One lower-tech solution to this: Chris and I could write a cron job that 
woke up every X minutes and made the calculation, so we don't need to 
have an extra catalog.  This isn't something that has to be real time, 
and would be 5 lines of Python rather than a significantly more 
complicated catalog version.

For now, though, we could simply allow the product to be rated and sort 
out the details later for looking at all ratings.

Anyway, Chris and I will talk about it.  If it is reasonable, I'll wire 
it in tomorrow.

> If anybody wants to take a crack at wiring the Product ratings calls into
> the skin, I will be happy to give them write privileges to the ZopeOrg
> module in the repository if they feel it is necessary to change files in the
> module to get the functionality.

Once the product has the right methods, everything else can be done 
through the skin folder.  I've been pretty happy at how much I've been 
able to accomplish w/o access to the filesystem.

--Paul