Brad Clements wrote:
Well, it seems worse actually.
1. I restored last nights backed up Data.fs and friends
2. I started Zope and got the expected traceback/crash in SessionDataManager
3. I changed the SessionDataManager.py code as directed in the ugprade workaround
4. I started Zope
5. Deleted /session_data_manager
6. Created a DTML method as session_data_manager placeholder
I don't understand why you did step 6. It seems extraneous to me.
7. changed SessionDataManager.py code back to original
8. Restarted Zope (used restart button, not shutdown and start &)
Well, I always recommend a shutdown and start... it shouldn't have mattered, though.
9. Now, code that used REQUEST.SESSION.getSessionData() fails
10. I deleted the dummy session_data_manager dtml method
Well, although this undoes step 6, I wouldn't have done it quite that way.
11. Restart Zope
12. Now REQUEST.SESSION.getSessionData() works (session_data_manager has re-appeared in /)
13. restart zope
14. Now REQUEST.SESSION.getSessionData() gives AttributeError, because the SESSION object doesn't have that method.
15. Delete session_data_manager object
What is the session_data_manager object that's reappearing? I trust it is the right one?
16. Restart Zope
17. Continue at step 12.
So .. session_data_manager object works only when it's first re-added by whatever adds it. On the next restart, it does not work.
I need to fix this in the next hour (you know, one of those development semi-production websites :-( Do I move back to 2.5.B3?
-- Matt Kromer Zope Corporation http://www.zope.com/