Sunday, March 2, 2008

membrane/remember in plone3

today i was experimenting with membrane/remember in plone3. both membrane and remember are from trunk from today revision.

i encountered an error while trying to access Remember Settings or also User and Groups. Error was:
2008-03-02 05:37:40 ERROR Zope.SiteErrorLog http://bestia:8080/remember/prefs_users_overview
Traceback (innermost last):
Module ZPublisher.Publish, line 119, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 42, in call_object
Module Products.CMFFormController.FSControllerPageTemplate, line 90, in __call__
Module Products.CMFFormController.BaseControllerPageTemplate, line 31, in _call
Module Shared.DC.Scripts.Bindings, line 313, in __call__
Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
Module Products.CMFCore.FSPageTemplate, line 216, in _exec
Module Products.CMFCore.FSPageTemplate, line 155, in pt_render
Module Products.PageTemplates.PageTemplate, line 89, in pt_render
Module zope.pagetemplate.pagetemplate, line 117, in pt_render
Module zope.tal.talinterpreter, line 271, in __call__
Module zope.tal.talinterpreter, line 346, in interpret
Module zope.tal.talinterpreter, line 891, in do_useMacro
Module zope.tal.talinterpreter, line 346, in interpret
Module zope.tal.talinterpreter, line 536, in do_optTag_tal
Module zope.tal.talinterpreter, line 521, in do_optTag
Module zope.tal.talinterpreter, line 516, in no_tag
Module zope.tal.talinterpreter, line 346, in interpret
Module zope.tal.talinterpreter, line 891, in do_useMacro
Module zope.tal.talinterpreter, line 346, in interpret
Module zope.tal.talinterpreter, line 536, in do_optTag_tal
Module zope.tal.talinterpreter, line 521, in do_optTag
Module zope.tal.talinterpreter, line 516, in no_tag
Module zope.tal.talinterpreter, line 346, in interpret
Module zope.tal.talinterpreter, line 949, in do_defineSlot
Module zope.tal.talinterpreter, line 346, in interpret
Module zope.tal.talinterpreter, line 536, in do_optTag_tal
Module zope.tal.talinterpreter, line 521, in do_optTag
Module zope.tal.talinterpreter, line 516, in no_tag
Module zope.tal.talinterpreter, line 346, in interpret
Module zope.tal.talinterpreter, line 949, in do_defineSlot
Module zope.tal.talinterpreter, line 346, in interpret
Module zope.tal.talinterpreter, line 855, in do_condition
Module zope.tal.talinterpreter, line 346, in interpret
Module zope.tal.talinterpreter, line 586, in do_setLocal_tal
Module zope.tales.tales, line 696, in evaluate
- URL: file:/home/rok/Projects/plone_developement/lajf_buildout/products/remember/skins/remember/prefs_users_overview.cpt
- Line 86, Column 10
- Expression:
- Names:
{'container': ,
'context': ,
'default': ,
'here': ,
'loop': {},
'nothing': None,
'options': {'args': (),
'state': },
'repeat': ,
'request': ,
'root': ,
'template': ,
'traverse_subpath': [],
'user': }
Module Products.PageTemplates.ZRPythonExpr, line 49, in __call__
- __traceback_info__: modules['Products.remember.utils'].getRememberTypes(here)
Module PythonExpr, line 1, in
Module Products.remember.utils, line 32, in getRememberTypes
Module Products.Archetypes.ArchetypeTool, line 705, in listPortalTypesWithInterfaces
AttributeError: 'InterfaceClass' object has no attribute 'isImplementedByInstancesOf'
and according to zope.interface since version 3.1.0 they say:
Deprecated 'isImplementedBy' and 'isImplementedByInstancesOf' APIs in favor of 'implementedBy' and 'providedBy'.
so here is path for Products.Archetypes.ArchetypeTool:
ArchetypeTool.py.patch


after that membrane/remember was working flawlessly (at least i hope).

2 comments:

Anonymous said...

I'm running into this issue as well, and the link to your patch is not working. Could you re-link it or past the patch as a comment here? Thank you!

Rok Garbas said...

i would suggest you to update to plone 3.1.1. anyway you only need to change the calls of this two methods:
- "isImplementedBy" >> "implementedBy"
- "isImplementedByInstancesOf" >> "providedBy"