• Showing Page History #26731

Yuki/改版履歴管理機能

Yukiのアイテム作成時に、アイテム情報として作成日時、及び作成者情報を記録する。
これら記録された情報を参照することにより、誰が、いつ、どんな修正をしたか一発で分かる。

またこれらの情報を記録しておくことにより、xx年xx月xx日の時点ではどんな状態だったかも、
(その日付以降のアイテムを削除したデータを作る事により)見ることが出来るし、
その時点でのソースにロールバックする事も簡単になる。よもやバージョン管理システム等と言った「古臭い」システムは不要になるわけである。

なおこれだけだと、削除したアイテムや既存アイテムを修正した場合にそれらの情報が管理されなくなってしまうので、以下のようにする。

アイテム削除時:

  • 削除したアイテムを Deleted Pool に移動する。
  • と言うか削除処理自体が、完全にアイテムを削除するわけではなく、既存のリンク関連から外し、Deleted Pool に移動したとするフラグを立てる作業になる。

アイテム修正時:

  • 既存のアイテムコピーし、Unlinked Pool に移動する。
  • その後既存のアイテムに修正を行う。これにより前のアイテムの状態が保たれる。
  • まぁ、無駄なアイテム情報一式をコピーするので、アイテムのサイズによっては超無駄が発生するかも知れないが、とりあえず昨今のストレージサイズやネットワーク速度を考えればたいした問題ではない!!ハズ・・・。
  • もしどうしても・・・と言うのであれば、修正した部分のみの、その修正前の情報が入っているアイテムを生成し、Unlinked Pool にコピーする。処理が複雑になるので余りしたくは無いが・・・。

チェックポイント

単にこれらだけだと、データが破損した場合に、全く持って過去の状態を把握できなくなる可能性がある。
なので、チェックポイントを設け、定期的にまるまるの情報を保存しておいた方がいいかも知れない。