I would probably work around this by creating a Product that gets a hold of the app object in its __init__ and creates all the necessary stuff. Actually, it would be kinda nice if instead of creating only the session_data object in the temp_folder initialization code we imported some (replaceable) arbitrary .zexp file that contained whatever you wanted. You could hack something up like this I'm sure.
Oh yes. Those were fun days!
So, I want to have different TOC's, preferably in non persistent folders (the site I'm working on could be quite high traffic at times). A big problem is - if one is in a temporary folder, it will disappear if Zope ever restarts.
So, at present, it looks like you can only have one reliable non-persistent TOC per Zope instance, since that one's always initialized during the time Zope is checking its root for required objects (Zope 2.5.1 lib/python/OFS/Applicatoin.py (revision 1.179.4.1), starting at line 277). This could be a rather crappy situation for Zope instances hosting multiple applications with different Session requirements. Fortunately for the project I'm on, I think it will have a dedicated Zope instance.
No one's working on a "Kinda Sorta Temporary Folder" are they? ;) Or, as Jim might put it "Temporary, except for when I don't want it to be".
-- Jeffrey P Shell www.cuemedia.com