ページの編集がコンフリクトした場合

現在のFSWikiではページの保存時に楽観的排他制御を行っており、自分より先に別のユーザがページを更新していた場合はエラーにするようにしています。
ただ、エラーメッセージを表示するだけなので、差分がわからないうえ、エラーになった場合は再度編集画面に遷移してから再編集を行う必要があり、コンフリクトが多発するような場合には不便です。
というわけで、もし編集がコンフリクトした場合の処理を以下のように変更してみました。

  • 自分が保存しようとしたページ内容とページの最新の内容の差分を表示する
  • テキストエリアにページの最新の内容の差分を表示して編集可能にする

これでコンフリクトが発生した場合、その場で差分を確認しながら再編集したうえでページを保存できるようになります。