[Zope3-Users] Composing content objects

Achim Domma domma at procoders.net
Sat May 13 06:30:19 EDT 2006


Hi,

thanks to Phillips book and the help from this list, I managed to write 
some usable content objects, to implement some views and to skin this 
views. Now I have a new problem:

I have implemented IArticle, IArticleFolder, IProject and 
IProjectFolder. IArticle and IProject are simple content interfaces 
which work so far. The folder interfaces are simply derived from 
IFolder. They have constraints, so that only the correct types can be 
inserted.

Now I try to implement IWorkspace, which should have a property 
'projects' being an IProjectFolder instance and a property 'articles' 
being an IArticleFolder.

My current version looks like this:

class IWorkspace(Interface):
     title = TextLine(
        title=u"Title",
        description=u"The title",
        default=u"Workspace",
        required=True)

     projects = Dict(
         key_type=Id(title=u"ID",description=u"xxx"),
         value_type=Object(title=u"Object",description=u"xxx"),
         title=u"Projects",
         description=u"Projects in this workspace")

     articles = Dict(...)

When I try to start Zope, I get the following error message:

ZopeXMLConfigurationError: File "C:\...\configure.zcml", line 3.4-3.100
   TypeError: __init__() takes exactly 2 non-keyword arguments (1 given)

The matching line in configure.zcml looks like this:

<interface interface=".interfaces.IWorkspace" 
type="zope.app.content.interfaces.IContentType" />

I have no problem reading code, but I don't know how to figure out which 
__init__ causes the error. Neither Dict, nor Id or Object seem to have a 
__init__ which might cause this message!?

Can somebody enlighten me? Am I thinking in the wrong direction? Is 
there a better way to combine content objects? Any hint is very welcome?

regards,
Achim


More information about the Zope3-users mailing list