こんにちは、ひろかずです
Boxの特定フォルダ配下に置かれたファイルにメタデータを付与したいんだけど、フォルダレベルでのメタデータカスケード機能ってどうなん?って声が聞こえてきたので一筆書きます
tl;dr的な何か
- メタデータは、フォルダにカスケード機能を有効にして付与すると、その配下のフォルダとファイル全てに、同じメタデータが付与される
- メタデータが付与されたフォルダやファイルを「移動」した時、メタデータは保持される
- メタデータが付与されたフォルダやファイルを「コピー」した時、メタデータは保持されない
参考ドキュメント
ざっくり構成
前提条件
- Boxのテナントに対する管理者権限を有していること
そもそもメタデータって何?
- オブジェクト(フォルダやファイル)に付与する構造データです
- KeyとValueで構成されます
Boxにおけるメタデータってどんなん?
- Boxの場合、メタデータテンプレートとして、KeyとValueの構造を定義します
- Valueは、文字列(String)やプルダウンリスト(択一)、リスト(複数選択)で設定できます
- イメージはこんな感じ
- メタデータテンプレートをフォルダやファイルに付与します
- 基本的に、各フォルダやファイルにメタデータテンプレートとメタデータ(値)を設定して回る作業になります
- Boxの世界の話なので、ファイルをローカルにダウンロードしたり、他のSaaSに移動すると、メタデータは消えてしまいます
メタデータのカスケード機能って?
- フォルダに設定したメタデータテンプレートとメタデータ(値)が、配下のフォルダやファイルに伝搬する機能です
- 本機能でメタデータを付与する際に、同じメタデータテンプレートでメタデータ(値)が異なる競合状態の挙動を選択することができます
- メタデータを上書きしない(スキップ)
- メタデータを上書きする
メタデータはどんな感じで活用できるの?
- 検索窓でメタデータテンプレートと値を指定して、該当するファイルやフォルダを検索できます
- ファイルアクセスの統計分析の材料としても使えそう
検証パターン
- メタデータが、配下の複数階層にわたってフォルダとファイルに付与されるか
- メタデータを設定しているファイルが、同じメタデータテンプレートで値が異なるメタデータを付与するフォルダへコピー・移動した時にどのような挙動をするか
- メタデータを設定しているファイルが、メタデータテンプレートを付与していないフォルダへコピー・移動した時にどのような挙動をするか
事前準備
- メタデータテンプレートを作成
- 手順は、[メタデータテンプレートのカスタマイズ] を参照
- 今回は、hirokazu-box-metadataというテンプレート名にしました
- Keyは、「情報管理区分」とし、値はプルダウンリスト形式でA,B,Cを選択できるように設定します
- [フォルダレベルのメタデータカスケード機能の有効化] を設定
- フォルダレベルのメタデータカスケード機能を使えるユーザー範囲を定義
- こんな感じです
1. メタデータが、配下の複数階層にわたってフォルダとファイルに付与されるか
- 2つのフォルダに対して、同じメタデータテンプレートでそれぞれ違う値を設定
- こんな感じで設定
- 今回はテンプレートとその値が競合した場合、既存の値を保持する設定とします
- もう一つのフォルダは、値だけ変えて設定
- 同じく、今回はテンプレートとその値が競合した場合、既存の値を保持する設定とします
- メタデータテンプレートを設定したフォルダ配下にフォルダとファイルをコピー・移動
- ファイルにメタデータが付与されていることを確認
2. メタデータを設定しているファイルが、同じメタデータテンプレートで値が異なるメタデータを付与するフォルダへコピー・移動した時にどのような挙動をするか
- オペレーションを画面ショットで表現すると冗長なので、模式図で解説します
- メタデータの値が情報管理区分:Bであるフォルダを、フォルダレベルのメタデータカスケード機能の有効化したフォルダ(情報管理区分:A)にコピーと移動します
- フォルダを「コピー」した場合は、コピー先のメタデータ(情報管理区分:A)が適用されました
- フォルダを「移動」した場合は、元々設定しているメタデータ(情報管理区分:B)が維持されました
- 事前準備で、テンプレートとその値が競合した場合、既存の値を保持する設定としていますが、コピーの場合は保持されませんでした
3. メタデータを設定しているファイルが、メタデータテンプレートを付与していないフォルダへコピー・移動した時にどのような挙動をするか
- メタデータの値が情報管理区分:Aであるファイルを、メタデータを設定していないフォルダへコピーと移動します
- ファイルを「コピー」した場合は、メタデータは設定されません
- ファイルを「移動」した場合は、元々設定しているメタデータ(情報管理区分:A)が維持されました
- メタデータを設定していないフォルダへ「コピー」した場合は、コピー元のメタデータを保持してくれませんでした
- カスケード機能とは関係なく、コピーしたファイルは、コピー元ファイルとは全く別物として扱われるようです
おわりに
- フォルダレベルのメタデータカスケード機能は機能します
- フォルダやファイルを「移動」した場合は、メタデータを維持することができます
- コピーしたフォルダやファイルは、元々のオブジェクトとは異なる、全く新しいオブジェクトとして扱われるようです
- そのため、コピー元のメタデータを引き継がない挙動となります
- この挙動は、コピーと移動で内部APIの発行の仕方が異なることに起因しますが、詳細は割愛します
- フォルダやファイルがコピーされた際に、メタデータが保持されなくても問題がないユースケースであれば、利用を検討しても良いのではないでしょうか
今日はここまでです
お疲れさまでした