人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Wikiでは、同時に2人の人が内容を書き換えようとした場合、どのように処理するようになっているのでしょうか?
1人が書き換えている間、ロックをするのでしょうか?ロックしないのであれば、片方が編集を開始した後の別の人が編集をして、その別の人が先に編集を終了した場合のリビジョンの管理は、どのようになっているのでしょうか?

●質問者: tatsu7
●カテゴリ:コンピュータ インターネット
✍キーワード:Wiki ビジョン ロック 管理 編集
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● b-wind
●22ポイント

同時に2人の人が内容を書き換えようとした場合、どのように処理するようになっているのでしょうか?

システムに寄るが編集前のページのバージョンを記録するような仕組みにしておいて、

更新前に現在のバージョンが編集前のバージョンと一致しているかどうかを確認してから

更新処理を行うものが多いようだ。


ロックを取得するものもあるかもしれないが、Web システムという都合上ロック解除をどうするか

(編集中にページを閉じられたら?等)の問題があるので採用例は少ないように思う。


ごく簡単な実装としては「完全に同時に更新」と言う状況はほぼあり得ないので、後出しの方で

上書きしてしまうものもありだが。

◎質問者からの返答

ありがとうございます。そうすると、

(1)Aさんが編集を開始後、(2)Bさんが編集を開始、(3)Bさんが編集を終了、(4)Aさんが編集を終了

となった場合、最終版はAさんの編集結果で、Bさんの編集結果も一応リビジョンとしては残っているという形になるのでしょうか?

(1)Aさんが編集を開始後、(2)Bさんが編集を開始、(3)Aさんが編集を終了、(4)Bさんが編集を終了

となった場合は、Bさんの編集結果が最後で、Aさんのリビジョンは残るが、それは、Aさんが編集開始する時点からの編集としてリビジョンが記録されるという事でよろしいでしょうか?


2 ● 猫並
●36ポイント ベストアンサー

Wikiはもともと簡単なツールとして作られているので、

厳密なリビジョン管理機能などないものが多いと思います。

そこで質問の件ですが、

(1)Aさんが編集を開始後、

(2)Bさんが編集を開始、

(3)Aさんが編集を終了、

(4)Bさんが編集を終了

したさいには、Bさんの編集終了時に、Aさんの編集した結果が、先行する更新としてBさんのブラウザに表示されます。

Bさんはこれを無視して書き込むなり、Aさんの編集内容を踏まえて統合したものを書き込むなり、選択できるようになっています。

編集履歴をとっているWikiの場合、リビジョンというか、Aさんの編集結果は編集結果として履歴に残りますが、枝分かれするようなことはないです。最終的にはBさんの編集結果が、最新の内容になり、そのひとつ前の状態として、Aさんの編集結果があるような形になります。

◎質問者からの返答

ありがとうございました。パーフェクトな回答です。


3 ● Marine-Blue
●9ポイント

編集開始時刻を記録することで編集競合を警告する、というものがあります。

保存時に編集開始時刻と最初更新時刻を比較し、後者が前者より新しければ警告を出す…というものです。

ただし、競合を無視した編集強行を行ってしまえば当然、警告の効果はない…。

◎質問者からの返答

ありがとうございます


4 ● practicalscheme
●23ポイント

wikiソフトウェアによりますが、私の作ったものは編集箇所が(行単位で)近接していなければ自動的にマージするようにしています。原理はpatchコマンドやリビジョン管理ソフトのマージ機能と同じです。

編集箇所が重なっている場合は、後からsubmitした方に衝突が発生した旨と衝突箇所を表示して再編集してもらいます。

◎質問者からの返答

なるほど、そのような機能をつける方法もあるのですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ