hi!
versuch mich grad an einem wiki und stehe vor folgendem problem: wenn ein benutzer eine seite ändern will und ein zweiter benutzer die selbe seite parallel dazu bereits editiert, dann soll der benutzer welcher später auf "speichern" drückt eine fehlermeldung zurückbekommen.
folgendes szenario:
benutzer 1: seite editieren
benutzer 2: seite editieren
benutzer 2: seite speichern
benutzer 1: seite speichern
sollte bei benutzer 1 also in einer fehlermeldung resultieren, dass die daten während des editiervorgangs editiert wurden, er die änderungen kopieren und mit der neuen version vergleichen soll.
man könnte nun anhand der versionsnummer des dokumentes oder anhand des änderungsdatums überprüfen, ob zwischen dem aufruf des quelltextes und dem speichern eine neue version eingefügt wurde.
hierzu sind jedoch zumindest 2 sql-queries nötig: eines zum abfragen der version/speicherzeit und eines zum einfügen der überarbeiteten version. zwischen dieses statements *könnte* ein benutzer jedoch eine neue version einfügen, so unwahrscheinlich es auch ist.
irgendwelche ideen wie man das sicher synchronisieren kann?
versuch mich grad an einem wiki und stehe vor folgendem problem: wenn ein benutzer eine seite ändern will und ein zweiter benutzer die selbe seite parallel dazu bereits editiert, dann soll der benutzer welcher später auf "speichern" drückt eine fehlermeldung zurückbekommen.
folgendes szenario:
benutzer 1: seite editieren
benutzer 2: seite editieren
benutzer 2: seite speichern
benutzer 1: seite speichern
sollte bei benutzer 1 also in einer fehlermeldung resultieren, dass die daten während des editiervorgangs editiert wurden, er die änderungen kopieren und mit der neuen version vergleichen soll.
man könnte nun anhand der versionsnummer des dokumentes oder anhand des änderungsdatums überprüfen, ob zwischen dem aufruf des quelltextes und dem speichern eine neue version eingefügt wurde.
hierzu sind jedoch zumindest 2 sql-queries nötig: eines zum abfragen der version/speicherzeit und eines zum einfügen der überarbeiteten version. zwischen dieses statements *könnte* ein benutzer jedoch eine neue version einfügen, so unwahrscheinlich es auch ist.
irgendwelche ideen wie man das sicher synchronisieren kann?
Kommentar