FileMakerメディア管理 実作編 Ver.3 日付の情報

FileMakerでメディア管理のデータベースを実際に作って育てる実作編 Ver.3 、日付を取得して利用します。関連して、インポート方法も一新、パスに関する練り直し、テーブルからフィールドまで、ちゃぶ台返しの大改造。

実作編バージョン3について

FileMakerで写真や動画のメディア管理データベースを作る話。実際にファイルを作って育てる実作編やってます。基本だけのシンプルデータベースからちょっとずつ育てていって今回はVer.3、日付ゲットを組み込みます。

・・・日付をゲットするだけの筈でした。しかしただでは済まなかった。テーブルからフィールドからスクリプトまで、ちゃぶ台返しの大改造となりました。何が起きたのか。

ファイルはこちらです。試して覗いて作り変え、何でも好きにやってください。


Download FM_MediaDB_Ver3_5.zip

実作ファイルも少々込み入ってきて、今や完全にMac専用です。他プラットフォームの方は参考程度に、また、パスやファイル属性の取得を置き換えられる方は改造してください。※ 早速細かい修正を入れたバージョンに差し替えました。

このバージョンで行ったこと

Ver.3 では日付をゲットすることだけを当初目論んでいました。日付はメディア管理の根幹でもあり、ありとあらゆる部分に影響します。

日付をゲットするにはFileMakerを越えたツールの連携が必要です。そのためのテーブルや仕組みを作りました。

日付を得たので、すべてのデータ作成時にファイル名くらいの重要度で日付を記入します。メディアの登録、フォルダからの一括登録、更新、追加、すべてのスクリプトを作り直しました。

パスに関連するフィールドがいくつもありますが、これまで誤解していたことの是正も含め「何が根幹か」という部分がひっくり返りました。それで、主なフィールドの存在意義を変更しました。さらに、フィールドを生成する全ての計算式を作り直しました。

Ver.2で追加インポートを行うために「作業用テーブル」を作ってキラリとひかる小技を実装しました。このテーブルを洗い直した結果、インポートテーブルとして発展しました。

その他、ユーティリティや小技、次回以降の準備のためのテーブルなど、細やかに変更点が多いV3です。

※ V3.5にて、インポートについての変更が起こりました。この記事内でも追記しています。→ Importテーブル

日付をゲットするということ

LEVEL 4

FileMakerでメディア管理 – メタデータの取得 で、レベルに応じたメタデータの取得について書きました。そろそろメタデータを扱おうかなと考えていたからです。

FileMakerでメディア管理 – メタデータの取得

しかしメタデータ全般を一気に扱う前に、個別に取り上げたい項目がありました。日付情報です。

日付はファイル管理の要であるし更新や追加する際にも必須、特別扱いすべき情報です。しかしこれが厄介の始まりでございました。

ファイル日付の取得は、簡単そうで侮れません。
FileMakerでメディア管理 – メタデータの取得 のレベルでいうと、LEVEL 4以上の難易度になります。即ち、FileMakerの機能だけでは取得できず、コマンドラインツールを併用します。

メタデータでなくファイル属性

FileMakerに用意された機能では日付が得られない

えっ。FileMakerでは登録したファイルの日付をゲットできないの?できません。

メタデータに日付情報があれば取得できることがありますが、メタデータが仕込まれていないファイルでは不可能です。

ファイルの日付情報は、メタデータというよりファイル属性なわけです。メタデータを取得する技術ではどうにもなりません。日付は必須項目ですので「Exifにあれば取得、なければ空欄」というわけにはいきません。

変更日は比較的容易く取得できますが、作成日を取得する手段が用意されていなくてハードル高いです。そんなわけでせっかくメタデータ取得のレベルを想定したのに、順番をすっ飛ばしていきなり LEVEL 4 となりました。

ファイル属性から作成日・変更日を取得する

ファイル属性情報を得る方法は、AppleScriptやターミナルコマンドを使います。FileMakerの機能で出来ない以上、イヤだといってもそうするしかありません。

AppleScriptにもターミナルコマンドにもファイル作成日や変更日を取得できるコードはいくつもありますが、こちらには条件がありますので何を使うかを吟味します。

条件

・ファイル作成日と変更日を取得できること
・出力フォーマットを好きにカスタムできること
・Digitalbooの素人部長が簡単に扱えること

実作ファイルV3では、100万回の試行錯誤の末に決断を下し、レコード・ファイル単体で日付を取得するのはAppleScript、フォルダ単位ではシェルスクリプトの find と stat を組み合わせることにしました。

ここで日付ゲットについての詳細記事が登場します。

FMでメディア管理 実作編 Ver.3 日付の情報

次のページ: 日付ゲットのコード