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

その他

メタデータテーブル

WordPressを触っている人はカスタムフィールド知ってますよね。カスタムフィールド、つまりメタ情報です。メインのpostsフィールド外の、すべてのメタデータをカスタムフィールドが担当します。カスタムフィールドのデータはpostmetaという独立したテーブルがまかなっています。メインのpostsとIDでリレーションされいます。

メタデータを扱う時にお手本となる形ですね。

メインテーブルであるMediaDBの中にメタデータのフィールドを無節操に追加するのはカッコ悪い例です。メタデータテーブルを別途作ってメインと正しくリレーションし、メタデータをそっちで請け負いましょう。

mediametaテーブルとのリレーション

mediametaと名付けたテーブルをIDで繋げます。ID。やっとIDを使う時が来ましたね。完全ユニークシリアルキラーじゃなかったシリアルナンバーのIDです。

リレーションではmediametaの書き込みオンです。

mediametaリレーション設定

MediaDBレイアウト上にmediametaのフィールドを置き、入力することで自動でIDがつけられます。

MediaDBにデータが作られた時に自動でmediametaにもレコードが追加されるのが理想です。完璧には無理でしょうけど、メディア挿入、フォルダインポート、そういった作業のスクリプトの中で、忘れないようにmediametaにもデータを記入し、新規でIDが作られるように工夫しています。

現時点では「読み込みセッション」というフィールドがあって、これはフォルダインポートした際の日付が記録されます。

MD5

GetContainerAttribute ( オブジェクト ; “MD5” ) で取得できるMD5ハッシュは同じ入力値から必ず同じ値が得られます。少しでも異なると全く違う値になります。つまり例えば画像なら、同じ画像は何があろうと同じ値、ちょっとでも変更されたら別の値になります。「同じかどうか」を測ることができますから、重複チェックに使います。

重複チェックのやり方はいろいろありますが、シンプルなのはセルフリレーション方式です。

まずIDという完璧ユニークな値があることが前提ですが、その上でMD5フィールドでセルフリレーションを組みます。

計算式フィールド「重複チェック」を作って、計算式をこうします。

If ( ID = Self_MD5check::ID ; "OK"; "重複Media" )

重複があればこの計算では「重複Media」となります。重複データの一つめには「OK」が入ります。

もうひとつ。

ImportテーブルではMD5とファイルパスを照合してリレーションを作っています。別の場所に同じ画像があってもいいですが、場所もMD5もどっちも等しいということは完全にダブりなので、インポート時に除外する筆頭となります。

 

設定のスライド

メインのレイアウトに、設定などの画面を作っています。スライドを使った小技です。→ FileMaker スライドコントロールの小ネタ

ユーティリティでは「参照を格納に、格納を参照に」のスクリプトがしゃれていますよね。どうすかこれ。

これを実現させるためには、挿入時に「インポート元パス」を必ずセットすることが重要です。普通、格納で読み込むとインポート元パスは記録されません。それを無理やり記録させる強引なスクリプトもあります。

 このボタンに仕込んでいます。触って確認してください💦

除外する拡張子

除外する拡張子のリストを作っておける仕組みも追加しています。フォルダインポートのスクリプトの中で使います。

リストのループを回しているときに、除外拡張子のループも回して除外しています。

実装はちょっと自信なくて、リストのループでレコードを作成中にループを重ねるか、一旦無視してレコードが出来上がった後に検索して除外するか、どっちが速いか試しています。

 

ということで、他にもいろいろありますがキリがないのでこのへんで。

Ver.3 は変更が多すぎて、また、やってることの意味が深すぎて、またあるいは、大変すぎて、ファイルの完成度もあまり高くないし、記事もこのようにめちゃ長いものになりました。

この記事書くのにも相当時間かかってしまいました。まとめるのが苦手でついだらだら書いてしまうんですよ。上手くまとめようとアウトラインやマインド何とかを使ってみましたが余計にしっちゃかめっちゃかになって、ほんと論理展開がこれほど向いていないとは我ながら呆れますが。

 

 

作って育てる実作編、Ver.3 ファイルはこちらからダウンロードできます。お試しあれ。次回はもっと育つよ。

 

FileMaker Pro

Download FM_MediaDB_Ver3_5.zip

節々に試作の残骸や失敗部分があるかもしれません。気づいたことがあったら教えてください。