Forget it Dieter!
Finally what I do is do the normal traverse (with the bobo_traverse) and I
use another REQUEST variable (pathTraverse) to store the list expected at
traverse_subpath and return the last object founded
I pretty sure (I don't test it for now) I can reconstruct
TraversalRequestNameStack at __call__ level
Now I don't need the wrappers but the code goes fine
I didn't like so much the pathTraverse solution but works for me and that's
the real important think
Thanks and sorry!
2007/3/27, Dieter Maurer <[EMAIL PROTECTED]>:
Garito wrote at 2007-3-27 02:50 +0200:
>How could be the __bobo_traverse__ to work as expected with out losting
You need to do strange things in "__bobo_traverse__" to loose the
"traverse_subpath": in fact, you need to tamper with the
"TraversalRequestNameStack", or to no longer traverse to the objects
that set the "traverse_subpath" (in their "__before_publishing_traverse__"
I fear you need to go back to the drawing board.
When I remember right, then your primary problem has been that
Zope's security machinery fails when "__bobo_traverse__" returns objects
which are neither acquisition wrapped nor have their own security
(such as strings, unicode, etc).
Therefore, I suggested that you instead of the elementary types return
wrappers for those types which behave identical to them but in
addition have the security declaration "__roles__ = None" (which means
the object is public).
That seemed to work quite well for some time.
Now you are facing obscure problems (a user is not authenticated although
you think it should be). Unless you are URL traversing to one of the
wrappers above (which you should not do of course), this problem
should have nothing to do with the wrappers.
Almost surely, it is a different problem -- which one, I cannot tell you.
But, I gave some hints as to how I would proceed to understand the
Zope maillist - Zope@zope.org
** No cross posts or HTML encoding! **
(Related lists -