[Zope-CMF] Remembering things about members

marc lindahl marc@bowery.com
Fri, 11 May 2001 11:59:15 -0400


> From: Jonathan Corbet <corbet-cmf@lwn.net>
> 
> Among other things, LWN news items carry a "category" attribute (like
> "kernel").  I've created a derivative NewsItem with that attribute, and a
> CategoryTool class for managing categories.  So far so good.

I was pondering just this issue, and concluded I should use 'subject' for
that.  See for example:

 http://cmf.zope.org/design/system_architecture/design/interfaces/content/IF
_DublinCore

The problem with the default CMF is that 'subject' is an unrestricted text
field.  So I've been monkeying around with the GUI and the portal_metatypes
tool, so you can only choose from a list.  For subjects, you'd make multiple
selections to cross-categorize or refine the category of something.  Some
replacement skin methods and instructions are here:

http://cmf.zope.org/Members/bowerymarc/


> 
> I would like to let members set up category filters so that they see only a
> subset of the news.  For example, a surprising number of people don't want
> to see security-related items.  It seems that it should be possible to set
> up a filter property in the MemberData class, and perhaps even feed it
> directly to the catalog when looking up stuff to display.
> 
> But I'm most curious about one thing: the "portal_skin" property is handled
> through a cookie, rather than by querying the membership database.  That
> means that it doesn't carry across browsers or systems.  I figure there
> must be a good reason for this implementation, and I would like to
> understand that that reason is before I start adding properties of my own.
> Does anybody have a clue they could lend me on this one?

AFAIK portal_skin is stored in portal_memberdata properties.  So you'd add
some more properties for other stuff you want to have associated with a
member and change the skin method so the user can set all that stuff, I'd
guess (once I clean this up I'll post it).  Then I'd guess, you could
customize CMFTopic to check the member properties when doing the queries...