Hi, all. I have a trouble with Zope when I want to store a lot of the files into the ZODB in the loop. My ExternalMethod does something like: ---------8<-------------- for foo in session[files].keys(): fileData, fileName = session[files][foo] self.somewhere.manage_addFoo('foo', fileData) self.SQLMethod_to_mark_the_uploaded_file(fileName) ---------8<-------------- And browser waits, waits, waits, waits (not user-friendly, BTW!) and then tells me "ZODB.POSException.ConflictError" and my files was NOT uploaded AT ALL. Then I *had* only one idea to make semaphore via session. I.e.: Create a DTML Method, where is a text "Please wait" and <meta EQUIV-.../> with refresh to check the flag in the session. And my External Method does (algorhythm): 1. set a flag into the session, like: session['foo'] = '1' 2. Put the files in loop by "manage_addFoo(...)" 3. Remove the flag after the loop, like: del session['foo'] ...and then my DTML Method will see no flag and redirect to the normal page. But it does not work at all :-) Seems that ZOPE requires to roll over ZODB transaction, because even I set the flags, they does not change untill loop ends (I've checked it by the parallel process). Maybe I should somehow do the explicit commit() or so? :/ The howto here http://www.zope.org/Members/don/long_procces does not work. Have anybody at least _any_ idea (good, bad, i.e. *any*) how to do upload that <...> files? -- Regards, Bogdan Linux -- the OS for the Renaissance Man