Generally I create a temp buffer that stores the in-progress info. Only when the *final* "Confirm" button is pressed does it become an ACID transaction. (I prefer "work tables" for such buffers, but there are many alternatives for non-TOP fans.) Generally it requires some kind of unique user or session ID to keep different users' stuff separated. Most web frameworks provide unique session ID's.

I extended this line of thot at:

[link|http://www.c2.com/cgi/wiki?AcidAndLongTransactions|http://www.c2.com/cg...dLongTransactions]