I think I know how to manage transactions in Zope, but I don't
know how to lock Zope resources for multiple requests.
For example :
I have a DTML Method, called "transac1", which looks like this
:
<dtml-if "var==0">
<dtml-call
wait_10_seconds>
"waiting 10 seconds..."
<dtml-call
"manage_editProperties({'var':1})">
</dtml-if>
wait_10_seconds is an External Method that sleeps for 10
seconds.
In the other hand, I have another method, called "transac2"
:
<dtml-if "var==0">
<dtml-call
"manage_editProperties({'var':2})">
<dtml-else>
<dtml-call
"manage_editProperties({'var':3})">
</dtml-if>
In the parent Folder, there's a property called "var" which I
use in these methods. It has an initial value of 0.
The point is : if I call the first method, and while it's
sleeping, I call the second one (from another window, for example), it doesn't
work properly. The first one crashes, and doesn't finish right. The final "var"
value is 2.
I want to know if there is any way to lock the folder, and its
properties, so no one can access to it until my method "transac1" finishes, and
where can I find information about locking resources in
Zope.