[Zope-CMF] Re: Ideas for Discussable

Chris Withers chrisw@nipltd.com
Thu, 28 Jun 2001 16:50:53 +0100


seb bacon wrote:
> 
> You propose to create a tree-like structure inside a purpose-built
> tool, with each node containing a reference to an object.

Yes, it would live inside the portal_discussions tool...

> This means the actual objects themselves can be stored anywhere in the
> CMF instance, regardless of their context within a thread.

Yup, and neither they nor the portal_catalog would need to be burdened with
carign about what was discussable or not and what was a repyl to something
else...

> If I search my site for "gleet" and a discussion item is returned, how
> is its thread context discovered from the discussion tool?

Note sure... either:

1. the Node is stored in the talkback attribute of the content object (this
could be anything, btw). The object can then poke the node to fidn otu whether
it has parents or children...

...or...

2. The rendering method would ask the portal_discussion tool for the discussion
(read Node) associated with the current object:
   node = portal_discussion.getDiscussionFor(an_object)
   node = portal_discussion.getDiscussionFor(an_object.getPhysicalPath())

> Do you envisage any object being threaded, or a particular discussion
> Type, or a discussion mixin for other types?

Definitely the former. The whole reason behind this is:

1. Lightweight, quick discussion rendering without lots of ZCatalgo searches
2. ANY object can be a source of discussion
3. ANY object cam be a reply to another object/

cheers,

Chris

PS:
> >    path               - the Path of the object this node refers to. Is there
> >                         any reason why it would be bad to store a real object
> >                         ref here? ie: self.path = anobject?
> 
> can't see why not, myself.

Danger of circular references or some such :-S

> Am I barking up the correct tree, or not?

Hehe, nice pun on 'tree' ;-)