[Zope] Problem with multiple Browser Id Managers

Pablo Ziliani pablo at decode.com.ar
Fri Nov 18 18:37:19 EST 2005


Thanks Chris and Dieter for your feedback, please see my notes below.

Chris McDonough wrote:

>On Thu, 2005-11-17 at 22:47 -0300, Pablo Ziliani wrote:
>  
>
>>since first (as I 
>>said) I had no trouble in adding another deeper BMI; and second, because 
>>any attempt to delete root's BMI ends in a "/browser_id_manager/ cannot 
>>be deleted." page error message.
>>
>>Any hint?
>>    
>>
>I suspect it's a bug that the root browser id manager cannot be deleted.
>That said, it shouldn't be necessary to delete it, as the session data
>manager will use the "first" bid manager it finds in its acquisition
>path to get the browser id (see
>Products/Sessions/SessionDataManager.py).  In your case, probably what's
>happening is that the machinery is finding the /session_data_manager
>object at the root, and the "first" bid manager in *its* acquisition
>path is the root /browser_id_manager.  If you also create a
>'session_data_manager' object in your site, this one should be found and
>it should use its peer 'browser_id_manager' object.
>
>This area is somewhat murky as it's unusual to need multiple browser id
>managers per server, so I'll be interested to know if creating a session
>data manager fixes this problem.
>
>- C
>
Adding the new session_data_manager did the trick as you both suggested, 
THANKS!

However, my first attempt was unsuccessful as upon creation I had set it 
to use an non-existing Transient Object Container (TrOC) under 
/temp_folder, in hope that this would create it at the same time. Yes, I 
know how easily I come to complicate things, but my hope was actually 
real: I did got both objects created... until I restarted Zope of 
course, where (consistently with its container function) I lost the new 
TrOC forever.
I can see in OFS/Application.py that both the temp_folder and the 
default Transient OC are recreated on startup, so I guess that the only 
way to get a "permanent" TrOC is by monkey patching Zope, what of course 
is beyond my needs, given that I can use (as I finally did) the default 
TrOC.

However now my question is: can't this configuration lead to session 
collisions, given that now I have multiple BIMs/SDMs making writes to 
the same TrOC?

Thanks in advance for your advise,
Pablo



More information about the Zope mailing list