はじめに

FileMaker Pro 13は、iOSの機能をよりダイレクトに利用できるようになりました。iPad/iPhoneを普通に操作する感覚で、カメラやビデオカメラまたはマイクからデータを取り込み、自動的にデータベースで管理する仕組みが、簡単に作成できます。

そこで第3回はFileMaker Goから、iOSの機能を使ったオブジェクトデータの取得と設定方法について紹介しましょう。

FileMaker Goのオブジェクトフィールド

FileMaker Go 13では、ミュージックライブラリ、フォトライブラリ、カメラ、ビデオカメラ、マイク、バーコード(新機能)、署名のいずれかを直接指定して、データをオブジェクトフィールドに取り込むことができるようになりました。また、そのオブジェクトフィールドのデータに付属する情報(メタデータといいます)を取り出す関数も用意されました。まずは、そのデータの取り込み方とメタデータを取得する方法について説明します。

データの取り込み

フォトライブラリとカメラ、バーコード、署名からの取り込み用レイアウト(図01、図02)と、ミュージックライブラリとビデオカメラ、マイクからの取り込み用レイアウト(図03、図04)を用意しました。取り込みには[デバイスからの挿入]スクリプトステップを使用。各レイアウトに配置したボタンでは、このスクリプトステップで目的のデータを指定します。

図01:イメージレイアウトはフォトライブラリ、カメラ、バーコード、署名からの取り込み用

図02:インスペクタの[次の用途に最適化]では[イメージ]を選択し、「素材」フィールドを静的コンテンツに最適化します

図03:インタラクティブコンテンツレイアウトは、ミュージックライブラリ、ビデオカメラ、マイクからの取り込み用

図04:インスペクタの[次の用途に最適化]では[インタラクティブコンテンツ]を選択し、「素材」フィールドをインタラクティブコンテンツに最適化します

イメージレイアウトのボタンの設定について説明しましょう(ただし、各ボタンの[ボタン設定]ダイアログで[デバイスから挿入]スクリプトステップを選択する操作は共通なので省略します)。このスクリプトステップのオプション指定について紹介します。

◆フォトライブラリ

「フォトライブラリ」ボタンでは、[次から挿入]オプションから[フォトライブラリ]を指定します(図05)。次に表示される[ターゲットフィールドの指定]で「素材」フィールドを選択し、取り込んだデータの保存場所に設定(図06)。保存場所はほかのボタンも同じフィールドを指定します。iPadで処理を実行すると、「素材」フィールドの横にフォトライブラリが表示されます(図07)。

図05:[ボタン設定]ダイアログ。[次から挿入]オプションから[フォトライブラリ]を指定します

図06:[フィールド指定]ダイアログで「素材」フィールドを選択します

図07:iPadでは「素材」フィールドの横にフォトライブラリが表示されます

◆カメラ

「カメラ」ボタンでは、[次から挿入]オプションから[カメラ]を指定します(図08)。次に表示される[カメラオプション]ダイアログでは、使用するカメラをフロント/バックから選び、解像度を最大/大/中/小から選択(図09)。iPadで処理を実行すると、直接カメラが起動します(図10)。

図08:[ボタン設定]ダイアログ。[次から挿入]オプションから[カメラ]を指定します

図09:[カメラオプション]ダイアログ。カメラを[バック]に、解像度を[中]に設定します

図10:iPadでカメラが起動。左上に解像度[中]と表示されています

◆バーコード

「バーコード」ボタンでは、[次から挿入]オプションから[バーコード]を指定します(図11)。次に表示される[バーコードオプション]ダイアログでは、利用するバーコードタイプを選択(図12)。[次からスキャン]では使用するカメラと解像度を指定します。図の例ではQRコードのみを選択していますが、複数のタイプを利用する場合には複数指定することも可能です。また、保存したバーコードのイメージをスキャンする場合は、[次からスキャン]でそのフィールドを指定。処理を実行すると、直接カメラが起動します(図13)。

図11:[ボタン設定]ダイアログ。[次から挿入]オプションから[バーコード]を指定します

図12:[バーコードオプション]ダイアログ。「バーコードタイプ」から[QRコード]を選び、カメラは[バック]、解像度は[最大]を選択します

図13:iPadでカメラが起動し、中央上部に解像度[最大]と表示されます。カメラにQRコードが写ると瞬時に読み取られ、自動的にFileMaker Goに戻ります

◆署名

「署名」ボタンでは、[次から挿入]オプションから[署名]を指定します(図14)。処理を実行すると、署名の画面が表示されます(図15)。

図14:[ボタン設定]ダイアログ。[次から挿入]オプションから[署名]を指定します

図15:iPadで署名専用の画面が表示されます

次にインタラクティブコンテンツレイアウトのボタン設定について説明します。

◆ミュージックライブラリ

「ミュージックライブラリ」ボタンでは、[次から挿入]オプションから[ミュージックライブラリ]を指定します(図16)。[ターゲットフィールドの指定]では「素材」フィールドを選択し、取り込んだデータの保存場所に設定(図17)。保存場所は、ほかのボタンも同じフィールドを指定します。処理を実行すると、「素材」フィールドの横にミュージックライブラリが表示されます(図18)。

図16:[ボタン設定]ダイアログ。[次から挿入]オプションから[ミュージックライブラリ]を指定します

図17:[フィールド指定]ダイアログ。「素材」フィールドを選択します

図18:iPadでは、「素材」フィールドの横にミュージックライブラリが表示されます

◆ビデオカメラ

「ビデオカメラ」ボタンでは、[次から挿入]オプションから[ビデオカメラ]を指定します(図19)。次に表示される[ビデオカメラオプション]ダイアログでは、使用するカメラと解像度、撮影時間を指定(図20、図21)。図の例では「秒数」フィールドの値を最大時間に指定しています。この処理を実行すると、直接ビデオカメラが起動されます(図22)。なお、自動的に録画を開始したい場合は、[ビデオカメラオプション]ダイアログの[すぐに開始]を選択してください。

図19:[ボタン設定]ダイアログ。[次から挿入]オプションから[ビデオカメラ]を指定します

図20:[ビデオカメラオプション]ダイアログ。カメラを[バック]に、解像度を[中]に設定します。[すぐに開始]を選択すると、iPadでビデオカメラの起動と同時に録画が開始されます

図21:[計算式の指定]ダイアログ。最大時間を「秒数」フィールドで指定します

図22:iPadでビデオカメラを起動。下には「最大録音時間 00:05」と表示されています。赤いボタンをタップし、5秒経過すると自動的に録画を停止します

◆マイク

「マイク」ボタンでは、[次から挿入]オプションから[マイク]を指定します(図23)。次に表示される[マイクオプション]ダイアログでは、録音時間を指定します(図24、図25)。図の例では「秒数」フィールドの値を最大時間に指定しています。この処理を実行すると、マイクが起動されます(図26)。なお、自動的に録音を開始したい場合は、[マイクオプション]ダイアログの[すぐに開始]を選択してください。

図23:[ボタン設定]ダイアログ。[次から挿入]オプションから[マイク]を指定します

図24:[マイクオプション]ダイアログ。[最大時間]を選択します。[すぐに開始]を選択すると、iPadでマイクの起動と同時に録音が開始されます

図25:[計算式の指定]ダイアログ。最大時間を「秒数」フィールドで指定します

図26:iPadでマイクを起動。下には「最大録音時間 00:05」と表示されています。「開始」をタップし、5秒経過すると自動的に録音を停止します

メタデータの取得

オブジェクトフィールドに保存されているメタデータを取り出すには、GetContainerAttribute関数を使います。関数では「ソースフィールド」にオブジェクトフィールドを、「属性名」に目的の情報を指定。すると結果に「属性名」に該当する値が返されます。

計算式:GetContainerAttribute ( ソースフィールド ; 属性名 )

情報は一般/イメージ/写真/オーディオ/バーコード/署名/グループの7種類に分類され、それぞれに属性があります。GetContainerAttribute関数ではその属性の名称を指定します。

例えば、「一般」の分類には、filename/MD5/storageType/fileSize/internalSize/externalSize/externalFilesという属性があり、この中の「filename」を指定した場合、ファイル名が取得可能です(図27)。また「一般」の分類の情報をまとめて取得する場合は、「グループ」の分類から「general」という属性を指定します(図28)。

図27:GetContainerAttribute ( サンプル1::素材 ; "filename" ) の結果が、「メタデータ」の欄に表示されています

図28:GetContainerAttribute ( サンプル1::素材 ; "general" ) で「一般」の各属性の結果が、「メタデータ」の欄に表示されています。MD5の値でデータの重複チェックが可能です

図の例では、「グループ」の分類から「all」という属性を指定し(図29、図30)、複数グループの情報を一括で取得しています(図31、図32、図33、図34、図35、図36、図37)。

図29:イメージレイアウトの「▼メタデータ取得」で実行するスクリプトステップ

図30:インタラクティブコンテンツレイアウトの「▼メタデータ取得」で実行するスクリプトステップ

図31:フォトライブラリから選択した社員のメタデータには、General、Image、Photoの情報が返されました

図32:カメラで撮影した写真のメタデータには、フォトライブラリと同様に、General、Image、Photoの情報が返されました

図33:バーコードで取得したメタデータには、General、Barcodeの情報が返されました。バーコードの内容も含まれています

図34:署名のメタデータには、General、Signatureの情報が返されました

図35:ミュージックライブラリから選択した曲のメタデータには、General、Audioの情報が返されました。「素材」フィールドに取り込んだ曲の再生も可能です

図36:ビデオカメラで録画したデータのメタデータには、Generalの情報が返されました。「素材」フィールドに取り込んだ録画データの再生も可能です

図37:マイクで録音したデータのメタデータには、General、Audioの情報が返されました。「素材」フィールドに取り込んだ録音データの再生も可能です

管理方法

商品の写真や説明書のPDF化、また、動画による操作説明など、オブジェクトフィールドには、業務内容によりさまざまな利用方法があります。具体的にデータを扱う前に、その保存方法やセキュリティについて考えなければなりません。例えば、登録できるデータサイズを制限すれば(図38)、データベースを一定期間、安定運用するための、ストレージのサイズを計算することができます。表示や印刷で一定のクオリティが必要になるケースでは、データサイズをむやみに小さくするということではなく、妥当なサイズを決定して、そのサイズを基準に計算しましょう。またオブジェクトフィールドには、データを外部に保存できる[セキュア格納]と[オープン格納]もあります(図39)。なお[セキュア格納]では、データはAES-256で暗号化され、そのデータはFileMaker Proでの読み取りが可能です。暗号化は、データの活用方法をよく検討したうえで設定しましょう。

図38:フィールド定義のオプションで[最大キロバイト数]を指定。この例では、素材フィールドで登録できるデータサイズが、最大「100」KBまでに制限されます

図39:フィールド定義のオプションで[オブジェクトデータを外部に保存]を選択。そして[セキュア格納]または[オープン格納]のいずれかを選びます。保存先の基本ディレクトリについては、ファイルメニューの[オブジェクト管理]でオブジェクトフィールドごとの保存場所が指定可能です

今回で連載は最後になります。これまでご紹介したFileMaker Pro 13の新機能はお試しいただけたでしょうか? レイアウト作成をサポートする機能には、テーマだけでなく便利な機能がたくさんあります。また、デザイン機能や今回ご紹介したオブジェクトフィールドについても、ほかの機能と併用することで、さらにいろいろな使い方が可能です。

ぜひFileMaker Proでデータベースを作りながら、その使い方を体感してみてください。そして、自分でFileMaker Proの機能を発見していただくと、さらに作るのが面白くなるはずです。ということで、また機会がありましたら、面白い機能の使い方をご紹介したいと思います。

「FileMaker選手権2014」開催
マイナビニュースでは、ファイルメーカー社のデータベースソフト「FileMaker Pro」で作成したテンプレートから、優れた作品を決めるコンテスト「FileMaker選手権2014」を開催中です(エントリー期間は2014年11月3日まで)。

応募作品の中から金、銀、銅賞の受賞者には、MacBook Proなど豪華賞品が授与されます。さらに、審査員による「審査員特別賞」や読者投票による「読者投票賞」、学生向けの「学生賞」なども用意。今までFileMakerを触ったことのない人も、現在バリバリ使っている人も、誰でも応募可能です。また、投稿していただいた作品は、誰でもダウンロードすることができます。

皆様のご応募ご参加をお待ちしております。