Ho un'applicazione web a cui si accede da più utenti da diverse località in tutto il mondo. Diciamo che ho un modulo "modifica" per un documento specifico e due (o più) utenti stanno modificando il documento allo stesso tempo. So che entrambi gli utenti possono modificare il documento e inviarlo, ma user1 non vedrà che l'utente2 ha apportato modifiche al documento e potrebbe presentare una versione precedente di esso.
Stavo pensando di aggiungere un qualche tipo di blocco, ma poi, se user1 ha solo aperto il documento per la modifica, ma non ha mai cambiato nulla (e lo ha tenuto aperto) user2 non sarà mai in grado di modificarlo. Pertanto, stavo pensando di aggiungere un timeout per l'editor, ma l'utente 1 potrebbe scadere prima di aver completato le sue modifiche al documento (diciamo, è uscito per il lancio).
La domanda è: in che modo si impedisce che il documento venga modificato da un utente mentre l'altro lo modifica?
Nota: se questa domanda non è qui, per favore spiega perché e dove potrei fare una domanda del genere.