[Plone-conosur] Problema con CacheFu
David Picó Vila
dpico en dsic.upv.es
Vie Ago 8 15:05:38 UTC 2008
Hola!
He hecho una pequeña modificación a
plone.belowcontenttitle.documentbyline a través de
portal_view_customizations y se me ha fastidiado CacheFu.
Os lo detallo, a ver si alguien me puede echar una mano. La idea era
poder controlar en qué páginas se ve la información del propietario de
document, fecha de modificación, etc. (es decir, el DocumentByLine).
Para eso lo que hice fue modificar el viewlet de documentbyline. El
original es este:
<div class="documentByLine"
id="plone-document-byline"
i18n:domain="plone"
tal:condition="view/show">
y el modificado
<div class="documentByLine"
id="plone-document-byline"
i18n:domain="plone"
tal:condition="view/show and not here.hideDocumentByLine">
Es decir, que añadí la condición "and not here.hideDocumentByLine" que
usa una propiedad booleana definida por mí. Si entro en el /manage de
un documento y defino hideDocumentByLine con valor False, entonces la
linea "byline" no se ve. Uso esto para hacer portadas de subsecciones.
En el resto de documentos me interesa que se vea quién es el autor,
porque uso esto en un sitio colaborativo.
Todo funciona, ¡excepto CacheFu! Si lo activo con los cambios
anteriores, me da el siguiente error (pongo lo interesante):
Traceback (innermost last):
Module ZPublisher.Publish, line 119, in publish
...
Module Products.CacheSetup.patch_cmf, line 48, in FSPT_pt_render
Module Products.CacheSetup.patch_cmf, line 123, in PT_pt_render
Module zope.tal.talinterpreter, line 271, in __call__
...
Module zope.tales.tales, line 696, in evaluate
- URL: file:/home/dpico/webapps/plonebuild/parts/plone/CMFPlone/
skins/plone_content/document_view.pt
- Line 25, Column 8
- Expression: <StringExpr u'plone.belowcontenttitle'>
- Names:
{'container': <PloneSite at /terapiados>,
'context': <ATDocument at /terapiados/quienes-somos/quienes-
somos>,
'default': <object object at 0xb7f31528>,
'here': <ATDocument at /terapiados/quienes-somos/quienes-somos>,
'loop': {},
'nothing': None,
'options': {'args': ()},
'repeat': <Products.PageTemplates.Expressions.SafeMapping
object at 0xafbc9b4c>,
'request': <HTTPRequest, URL=http://terapiados.net/quienes-somos/quienes-somos/document_view
>,
'root': <Application at >,
'template': <FSPageTemplate at /terapiados/document_view used
for /terapiados/quienes-somos/quienes-somos>,
'traverse_subpath': [],
...
Module Products.CacheSetup.patch_cmf, line 123, 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 854, in do_condition
Module Products.PageTemplates.Expressions, line 211, in
evaluateBoolean
Module zope.tales.tales, line 696, in evaluate
- URL: /terapiados/experiencias/muere-casi-todo-igual/
zope.interface.interface-plone.belowcontenttitle.documentbyline
- Line 1, Column 0
- Expression: <PathExpr standard:u'view/show and not
here.hideDocumentByLine'>
- Names:
{'container': <ATDocument at /terapiados/quienes-somos/quienes-
somos>,
'context': <ATDocument at /terapiados/quienes-somos/quienes-
somos>,
'default': <object object at 0xb7f31528>,
'here': <ATDocument at /terapiados/quienes-somos/quienes-somos>,
'loop': {},
'nothing': None,
'options': {'args': ()},
'repeat': <Products.PageTemplates.Expressions.SafeMapping
object at 0xafc425ec>,
'request': <HTTPRequest, URL=http://terapiados.net/quienes-somos/quienes-somos/document_view
>,
'root': <Application at >,
'template': <TTWViewTemplate at /terapiados/quienes-somos/
quienes-somos/zope.interface.interface-
plone.belowcontenttitle.documentbyline>,
'user': <PloneUser 'gestion'>,
'view': <five.customerize.zpt.TTWViewlet object at 0xafc8d8cc>}
Module zope.tales.expressions, line 217, in __call__
...
Module zope.traversing.adapters, line 164, in traversePathElement
- __traceback_info__: (<five.customerize.zpt.TTWViewlet object at
0xafc8d8cc>, 'show and not here.hideDocumentByLine')
Module zope.traversing.adapters, line 52, in traverse
- __traceback_info__: (<five.customerize.zpt.TTWViewlet object at
0xafc8d8cc>, 'show and not here.hideDocumentByLine', [])
TraversalError: (<five.customerize.zpt.TTWViewlet object at
0xafc8d8cc>, 'show and not here.hideDocumentByLine')
O sea, que el pequeño añadido hacer que CacheFu deje de funcionar.
No tengo ni idea de por donde meterle mano al asunto. Cualquier idea
para averiguar cómo arreglar esto será bienvenida con gran
agradecimiento.
¡Un saludo y feliz agosto! (vacaciones en España para la mayor parte
de la gente, aunque no todos...)
David
Más información sobre la lista de distribución Plone-ConoSur