[Zope-CMF] Store development with CMF (new guy)

Tres Seaver tseaver@zope.com
30 May 2003 11:39:42 -0400


On Tue, 2003-05-27 at 15:42, Shane Hathaway wrote:
> sean.upton@uniontrib.com wrote:
> > Unfortunately, a lot of apps (I think, including CMFDefault, Plone) depend
> > on accessing decorated "member object" instead of non-decorated users, or at
> > least accessing certain properties (either via PropertyManager methods or to
> > my displeasure via direct attribute access).  I've just operated under the
> > assumption that there are 'official' interfaces that members and the
> > memberdata tool need to support, and de-facto ones: for example, it isn't
> > documented anywhere that the memberdata tool needs to implement the
> > PropertyManager interface, but many applications and skin scripts
> > applications assume it does, i.e. in ZPTs to iterate through propertyIds()
> > for a user-properties form.  Given this, I decided in my tools to target the
> > assumptions that applications make about the interface of these components
> > instead of just their official interfaces.
> 
> I'm sorry to hear that so many applications are broken.  CMF product 
> authors: do not rely on portal_memberdata.  Assume it does not exist.

We have to have some interface for discovering the site-specific
configured list of member properties.  In CMFDefault, the knob for
changing that configuration is the "Properties" tab of the memberdata
tool, which has certainly led people to assume that querying the set of
properties is part of that tool's responsibility.

The skin scripts which *could* use this mechanism (the registration and
preferences forms) are currently hard-wired instead.  Today, writing
versions of these templates which dynamically generate UI for configured
properties requires assuming that one can enumerate properties on the
memberdata tool.

Tres.
-- 
===============================================================
Tres Seaver                                tseaver@zope.com
Zope Corporation      "Zope Dealers"       http://www.zope.com