Jean-Marc Orliaguet wrote:
the idea is that you define as many categories as you need: IMetaType,
ISomeCategory, IWidgetType ... and you create relations between
interfaces with:

    directlyProvides(IFile, IContentType)


as if you had a relation tool,

There are all sorts of ways of expressing relationships in Python
without central databases.

> then every object that implements IFile
(no matter in what position) will have the IFile content type?

Right.  Note that a content type is a specific kind of type.

If an object provides interface I, then the object is said to
be of type I.  If I is a content type, then the object is said
to have that content type.

As a matter of policy, we expect an object to have a single content
type and have a helper function for getting "the content type" by
finding an object's most specifiuc type that is a content type.

But where do you put the 'directlyProvides' statement?

There are two options.  You put it in some python module, such
as the module that defines IFile:

  class IFile(...):

  directlyProvides(IFile, IContentType)

or, since this is often a configuration choice, you put in in



Jim Fulton           mailto:[EMAIL PROTECTED]       Python Powered!
CTO                  (540) 361-1714  
Zope Corporation
Zope3-dev mailing list

Reply via email to