概要
パブリッシュ時にコピーするデータが数GBから数十GBになると、データをコピーするだけで膨大な時間がかかため、処理時間が常に問題になってきました。
shadowPublisher を用いてテンポラリ領域へのパブリッシュをバックグラウンドでおこなうことでユーザーからはパブリッシュ時間を意識する必要がなくなるので、ユーザーのストレス軽減に大幅な効果が見込めます。
shadowPublisher は以下の処理をおこないます
- パブリッシュしなければいけないファイルを、プロジェクトのテンポラリ領域にコピーする
- 既に同じ内容のファイル(hash値で判断)が仮パブリッシュ済であれば何もしない
- ただし、データベースには登録されているもののファイルが存在しない場合はエントリを削除してファイルをコピーする
- 元のパスやハッシュ値といったキャッシュデータをデータベースに登録する
publisher はパブリッシュ時にデータベースを参照し、既に仮パブリッシュ済のデータがあればそのデータを使用します。
ユーザーストーリー
- ユーザーはアプリケーションの Shadow Publish メニューを選ぶ
- shadowPublisher が動作し、素材のリストアップから shadowPublish まで全て自動でおこなう
- 処理する素材のリストアップは shadowPublisher.xml の shadowPublishEngine で指定されているプラグインを使用しておこなわれる(ユーザには一切の確認を取らない)
- アプリケーションとは別プロセスで shadowPublisher が起動し、処理がおこなわれる
この際、キャッシュ先の確認等はおこなわず、全て自動で実行されます。