ウィキ スタイルの Web サイトで、書き込みと書き込みの競合を防止または軽減しながら、サイトを高速に実行し、サイトの使いやすさを維持するにはどうすればよいですか?
私が予見する問題はこれです:
- ユーザー A がファイルの編集を開始する
- ユーザー B がファイルの編集を開始する
- ユーザー A がファイルの編集を終了する
- ユーザー B がファイルの編集を終了し、誤ってユーザー A の編集内容をすべて上書きしてしまう
ここに私が思いついたいくつかのアプローチがあります:
- ある種のチェックアウト/チェックイン/ロック システムを用意します (ただし、人々がファイルを「長時間」チェックアウトしたままにしないようにする方法はわかりません。許可されていないことでユーザーがイライラすることは望ましくありません編集します)
- ユーザーが変更をコミットしたときに行われた他の変更を表示し、何らかのマージを許可する何らかの差分システムを用意します (ただし、これを作成するのが難しく、サイトを使用するのが「難しすぎる」のではないかと心配しています)。
- ユーザーが変更を行っている間に同時編集を通知する (ある種の AJAX?)
これに行く他の方法はありますか?これをうまく実装しているサイトの例はありますか?