概要
スキャナライブラリでのスキャン結果からドキュメントデータを作成し, 独自ファイルシステム/バージョン管理システムで保存/管理します
詳細
画像
Tag
は作成されたタグの定義を指しますDocument
はスキャンされたドキュメントを指しますFolder
は各ディレクトリを指し, 親子関係を管理しますToxi
エンティティはそれぞれを主キーを用いて関連付けます
VCS
特徴であるVCSのバージョン遡行処理の概要です
- リビジョンの取得 リビジョンとは、変更が行われた際の特定の状態を指します。例えば、ある時点でドキュメントに加えた変更が保存された状態のことです。
- リビジョンIDが指定されると、そのリビジョンより前のすべてのリビジョンを取得します。
- これらのリビジョンは、日時順に並び替えられます。
- ログの取得 ログとは、各リビジョンにおいて何が変更されたかを記録したものです。どのファイルが追加されたか、更新されたか、削除されたかなどが記載されています。
- 指定されたリビジョンのログIDを取得し、そのログIDに関連するログをデータベースから取得します。
- 取得したログは、変更が行われた日時順に並べられます。
- ファイルリストの生成 各ログから、どのファイルがどの位置に挿入、更新、または削除されたかを追跡し、特定のリビジョンでのファイルの状態を再現します。
- ログに記録されたアクション(挿入、更新、削除)を基に、ファイルのリストを生成します。
- 例えば、あるリビジョンで追加されたファイルがその後のリビジョンで削除されている場合、そのファイルは最終的なリストから削除されます。
これによって生成されたファイルリストを用いてファイルシステムからファイル実態を取得することで、ほぼ最低限の容量(=実ファイル+SQLiteのデータ)で画像のバージョン管理を実現しています