2009-09-12

Windowsでファイルにタグをつけて検索したい3

Windowsでファイルにタグをつけて検索したい2 の続き

さて、ファイルにタグ付けして柔軟な管理を行いたいわけですが、一番良さそうな tag2find がどのような動作をするのか以下の4点を調べてみました
人からの依頼で調べたので出来るだけ専門用語を使わないで書くよう努力したつもり…です…
  1. タグはどこに保存されるか?
  2. 複数ユーザで使用する場合、他の人が付けたタグはどのような扱いになるか?
  3. ファイルの移動やコピーを行うとどうなるか?
  4. 別のPCに移行する場合、どのような手順が必要か?
さて、今は非常に忙しいのでいきなり結論を書いてしまいます
  1. タグは独自データベースファイルの追加情報(以降、サブストリームとします)に保存されます。
    • データベースは全ユーザ共通の設定を保存する場所に作成されます。
    • データベースはインストール直後に起動するウィザード内で場所の指定が可能ですが後で変更する設定画面はなさそうです。
    • サブストリームには付けたタグ名そのものが保存されます。
    • サブストリームはユーザー別に保存されるわけではないのでやはり全ユーザ共通です。
    • サブストリームはツールなどをインストールしないと見る事が出来ない…と思います。
  2. タグは全ユーザ共有となります。
    • タグを付けた瞬間、つけたタグ名、タグを付けたファイルのフルパスが全ユーザ共有の知識となります
    • 他のユーザにアクセス権のないファイルにタグを付けた場合も同じです。ファイル自体は開けませんが、ファイル名やフォルダ名が知られてしまいます。
    • データベースにはOS起動と同時にバックグラウンドで動作するプログラム(以降、サービスとします)がアクセスするためか、データベースをローカルユーザの位置に作成しても動作は同じです。
    • ファイル自身のサブストリームにタグを付ける仕様なのでタグは公開情報という指針と思われます
  3. ファイルのコピーや移動はPC内であればちゃんと追跡してくれるのでタグが失われる事はありません。
  4. ファイルをコピーして取り込みの操作をするだけです。
    • 新しいPCにファイルをコピーしてタグ付けのそうさから Check Database for Files を行うとサブストリームからタグを読んでデータベースに登録してくれます。
    • XPではサブストリームが失われるコピーをしようとすると警告が表示されましたので初心者にも安心?
    • インポートとエクスポートはあるのですが、ファイルを完全に同じ配置にしてからインポートしなさいと言う事なので移行には向かない気がします。
と言う事で tag2find は「タグは全ユーザの共有財産」という認識で使うには都合が良さそうです。
人にファイルを渡す時にサブストリームを削除すべきという課題が残りますが、それはまたの機会に…

以降、調べた過程をメモります。
脈絡無くだらだらと書き殴ってます。

インストール直後にデータベースの場所を聞かれます。All Usersの下なのが意外だった。
タグは全ユーザ共有とわかって納得。場所を変えても同じ事なのでこのままでよいでしょう。

一応複数ユーザ用意しました。まずはAdministratorで操作しました。

ファイルを作って…

タグを付けてみた。操作方法は公式のチュートリアルを参照
日本語のタグを付けても大丈夫っぽい

タグを付けたファイルを別ドライブにコピーしてみた

同一ドライブ内でもコピーしてみた

ちゃんと追跡登録されています。

別ドライブのファイルだけ選んで…

タグを消してみました

当然ですがちゃんとタグが消えています

タグを付けたファイルはここから検索できます。今までに使用したタグの一覧も出てきて便利

タグ情報はファイルにも付いているがファイルサイズは変わらないので見た目でタグが付いているかはわからない

今度は一般ユーザに切り替えて使ってみます

意外な事に管理者が付けたタグが全て丸見えです

それどころかアクセス権のないファイルであってもどのファイルにタグを付けたか丸見えです。

アクセス権はないので当然開けませんが…

試しにファイルにタグを付けてみます

当然ですがアクセス権が無いとタグ付けは出来ません

読み取り専用だったアクセス権を

変更できるようにして

再度タグ付け!もちろんちゃんとタグ付け出来ます。

付けたタグは全ユーザ共通のサブストリームに平文で保存されています。

サブストリームが失われる操作を仕様とするとXPが警告を出してくれました。これで初心者も安心?

XPからVistaの共有フォルダにコピーしてみましたが警告は出ませんでした

ネットワーク上のファイルにはタグ付け出来ませんが

サブストリームはちゃんと残ってます

別PCにtag2findをインストールしてみます。下のチェックボックスにチェックを入れるとアクセス権のないファイルにもタグ付け出来そうです。

インストール後に起動するウィザードで…

別のPCでタグ付けしたファイルを

スキャンしたら

タグを付けてくれるんじゃないかと期待して based on file metadata にチェックを入れてみましたがタグは登録されませんでした

サブストリームにはちゃんとタグが残ってるのに…

色々試しているうちにサブストリームのタグを取り込む方法がわかりました。
まず、他のPCからコピーしたフォルダを右クリックして Edit tags... を選択し、

全選択して右クリックから Check Database for Files を選択すると

サブストリームからタグが登録されます

インポート/エクスポートはファイルを完全に同じ位置に置いて行うように書いてあるのでデータベース破損に備えたバックアップとしてはいいが別PCへの移行には向かないっぽい

以上ですが…いかがでしょう?これでいい?

0 件のコメント: