This is reminder for myself and hopefully for other people too so that they don't have to waste several hours of valuable time looking for this simple piece of information.
If you have experience setting up Plone 3 with ZEO and tempstorage (so that your sessions won't disappear in the middle of hardcore content managing) you might have trouble setting up same kind of setup while using Plone 4.
Thanks to David Glick who enlightened me that plone.recipe.zeoserver doesn't include whole Zope 2 in it's Python environment anymore. In this specific scenario this means that even though you have tempstorage in your eggs folder it isn't included in pythonpath when zeoserver part is being processed and this leads to below error message:
Solution to this is to add this simple oneliner to your buildout.cfg zeoserver part:
If you have experience setting up Plone 3 with ZEO and tempstorage (so that your sessions won't disappear in the middle of hardcore content managing) you might have trouble setting up same kind of setup while using Plone 4.
Thanks to David Glick who enlightened me that plone.recipe.zeoserver doesn't include whole Zope 2 in it's Python environment anymore. In this specific scenario this means that even though you have tempstorage in your eggs folder it isn't included in pythonpath when zeoserver part is being processed and this leads to below error message:
Error: could not load package tempstorage: No module named tempstorage
Package name: 'tempstorage'
File name: 'component.xml'
Package path: None
For help, use bin/zeo-server -h
Solution to this is to add this simple oneliner to your buildout.cfg zeoserver part:
[zeoserver]
...
eggs = tempstorage
...
I thought this kind of trick was needed for Plone2.5 and earlier versions, but not for Plone3.
ReplyDeletePlone3 with plone.session doesn't use the Zope2-session-machinery and tempstorage? (except when your own code uses it explicitly)
Almost no code in Plone 3 uses REQUEST.SESSION, and really no code in Plone 4 does.
ReplyDeleteSo you only need tempstorage if any custom code makes use of this.
Hmm.. maybe my information about this specific topic is out of date (I wouldn't be surprised).
ReplyDeleteI've thought that when you're using zeo with loadbalancing you'll need some way to keep logged in users session available regardless of which backend user ends up. I guess I'll try to dig some more information about this.
Thank you for this post! Saved me those 4 hours :)
ReplyDelete