So, why is the default Transient Object Container put in a Temporary Folder? If I want to use an application specific one that doesn't get lost on restart, is it OK to put it into a normal persistent folder?
Yup. The TOC is put into the temp folder mostly because: 1) Sessions are write-intensive and cause bloat on undoing storages like FileStorage. 2) Sessions are write-intensive and cause conflicts when accessed via a "normal" ZODB connection. The temp folder is mounted into a database which has a special "low conflict" connection type that ignores read conflict errors. You will get more conflicts and more bloat if you put a TOC into a normal persistent folder (esp. one backed by FileStorage), but it will work. That said, there are a few bugs in the 2.5 "transience" implementation that I'm working on as we speak that might be more egregious if you have a truly persistent TOC, so pls. keep an eye towards 2.6 (or CVS ;-) in the next few weeks. You will notice the bugs in the form of phantom key errors (not unlike the old Catalog bugs ;-) - C