I had been using code including tal:define="portal_url 
context/plone_portal_state/portal_url" for some time before I encountered 
errors about it. Mikko suggested using context/@@plone_portal_state/portal_url 
instead, and that fixed the problem. I'd like to understand why.

Specifically, the traceback below happened when I installed plone.app.ldap and 
tried to add an ldap server. The plone.app.ldap control panel (as well as the 
rest of the site afaict) appeared without an error until I clicked the "add 
LDAP server" button.

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 zope.formlib.form, line 770, in __call__
  Module zope.formlib.form, line 885, in render
  Module zope.formlib.form, line 764, in render
  Module plone.app.form._named, line 26, in __call__
  Module Shared.DC.Scripts.Bindings, line 313, in __call__
  Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
  Module Products.PageTemplates.PageTemplateFile, line 129, in _exec
  Module Products.CacheSetup.patch_cmf, line 126, in PT_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 534, in do_optTag_tal
  Module zope.tal.talinterpreter, line 516, in no_tag
  Module zope.tal.talinterpreter, line 346, in interpret
  Module zope.tal.talinterpreter, line 745, in do_insertStructure_tal
  Module Products.PageTemplates.Expressions, line 223, in evaluateStructure
  Module zope.tales.tales, line 696, in evaluate
   - URL: 
file:/opt/plone/zeocluster/parts/svnproducts/naz.umbrella/naz/umbrella/skins/naz_umbrella_custom_templates/main_template.pt
   - Line 126, Column 3
   - Expression: <StringExpr u'naz.portalbottom'>
   - Names:
      {'container': <Products.Five.metaclass.ServerAdding object at 0x120b75d0>,
       'context': <Products.Five.metaclass.ServerAdding object at 0x120b75d0>,
       'default': <object object at 0x7fb9821d9200>,
       'here': <Products.Five.metaclass.ServerAdding object at 0x120b75d0>,
       'loop': {},
       'nothing': None,
       'options': {'args': ()},
       'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 
0x7fb971986830>,
       'request': <HTTPRequest, 
URL=http://10.0.0.3:8080/Plone/+ldapserver/plone.LdapServer>,
       'root': <Application at >,
       'template': <ImplicitAcquirerWrapper object at 0xb101450>,
       'traverse_subpath': [],
       'user': <PropertiedUser 'admin'>,
       'view': <Products.Five.metaclass.ServerAddForm object at 0x120b73d0>,
       'views': <zope.app.pagetemplate.viewpagetemplatefile.ViewMapper object 
at 0xb101390>}
  Module Products.Five.browser.providerexpression, line 37, in __call__
  Module plone.app.viewletmanager.manager, line 154, in render
  Module plone.app.viewletmanager.manager, line 83, in render
  Module zope.app.pagetemplate.simpleviewclass, line 44, in __call__
  Module Shared.DC.Scripts.Bindings, line 313, in __call__
  Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
  Module Products.PageTemplates.PageTemplateFile, line 129, in _exec
  Module Products.CacheSetup.patch_cmf, line 126, in PT_pt_render
  Module zope.tal.talinterpreter, line 271, in __call__
  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: index
   - Line 2, Column 0
   - Expression: <PathExpr standard:'context/plone_portal_state/portal_url'>
   - Names:
      {'container': <Products.Five.metaclass.ServerAdding object at 0x120b75d0>,
       'context': <Products.Five.metaclass.ServerAdding object at 0x120b75d0>,
       'default': <object object at 0x7fb9821d9200>,
       'here': <Products.Five.metaclass.ServerAdding object at 0x120b75d0>,
       'loop': {},
       'nothing': None,
       'options': {'args': ()},
       'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 
0xb151b90>,
       'request': <HTTPRequest, 
URL=http://10.0.0.3:8080/Plone/+ldapserver/plone.LdapServer>,
       'root': <Application at >,
       'template': <ImplicitAcquirerWrapper object at 0xb15f190>,
       'traverse_subpath': [],
       'user': <PropertiedUser 'admin'>,
       'view': <Products.Five.viewlet.viewlet.SimpleViewletClass from 
/opt/plone/zeocluster/parts/svnproducts/naz.umbrella/naz/umbrella/browser/templates/umbrella_footer.pt
 object at 0x7fb971a0f4d0>,
       'views': <zope.app.pagetemplate.viewpagetemplatefile.ViewMapper object 
at 0xb15fdd0>}
  Module zope.tales.expressions, line 217, in __call__
  Module Products.PageTemplates.Expressions, line 155, in _eval
  Module zope.tales.expressions, line 124, in _eval
  Module Products.PageTemplates.Expressions, line 105, in 
trustedBoboAwareZopeTraverse
  Module zope.traversing.adapters, line 164, in traversePathElement
   - __traceback_info__: (<Products.Five.metaclass.ServerAdding object at 
0x120b75d0>, 'plone_portal_state')
  Module zope.traversing.adapters, line 52, in traverse
   - __traceback_info__: (<Products.Five.metaclass.ServerAdding object at 
0x120b75d0>, 'plone_portal_state', ['portal_url'])
TraversalError: (<Products.Five.metaclass.ServerAdding object at 0x120b75d0>, 
'plone_portal_state')


Best wishes,
Michael A. Smith
Web & Digital / Academic Technologies Manager
Nazareth College
_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

Reply via email to