商用フリーのWindowsとMacで使えるプラグイン
Windowsなら今まで自作プラグインを作成していたのですが、今回Macユーザーから依頼があり探すことに。
ある程度の機能があって、両OSで使えるプラグインとして「BaseElementsPlugin」を見つけました。
ライセンス情報を見ると、オープンソースで配布されていて商用も可能。
ソースの改変もできるようです。
BaseElementsPluginのGitHubプロジェクトはこちら
プラグインをインストールする処理を作成
ZIPファイルをダウンロードしてインストールする方法もありますが、今回はダウンロードページに記載されているURLを利用してインストールする処理を作成します。
BaseElementsPluginプラグインのダウンロードページはこちら
URLは、ダウンロードページ内中央あたりに記載があります。
Mac: https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmplugin.gz Win64: https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmx64.gz Linux: https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmx.gz
OSを判別する
Get (システムプラットフォーム)を使うことで、WindowsかMac、Linuxの判別が行えます。
Linuxを考慮しないでWindowsとMacのみ動作すると考えた場合は、以下のような条件となります。
If[ Get (システムプラットフォーム) = -2]
# Windows OS
Else
# Mac OS
End If
オブジェクトフィールドにプラグインを挿入する
データベースにフィールドを作成して、タイプをオブジェクトに設定し、データの格納をグローバル格納とします。
追加したフィールド「Plugin」に、インストールするプラグインを挿入するスクリプトを追記します。
If[ Get (システムプラットフォーム) = -2]
# Windows OS
URL から挿入 [選択;ダイアログあり:オフ ターゲット:Plugin::Plugin; "https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmx64.gz"]
Else
# Mac OS
URL から挿入 [選択;ダイアログあり:オフ ターゲット:Plugin::Plugin; "https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmplugin.gz"]
End If
オブジェクトフィールドに挿入したプラグインをインストールする
プラグインをダウンロードし挿入したフィールドを指定して、プラグインのインストールを行います。
If[ Get (システムプラットフォーム) = -2]
# Windows OS
URL から挿入 [選択;ダイアログあり:オフ ターゲット:Plugin::Plugin; "https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmx64.gz"]
Else
# Mac OS
URL から挿入 [選択;ダイアログあり:オフ ターゲット:Plugin::Plugin; "https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmplugin.gz"]
End If
プラグインファイルのインストール[Plugin::Plugin]
すでにプラグインがインストールされている場合の処理を追加
誤って何度もインストールすると無駄ですので、インストールされているか確認する条件を追加します。
またダウンロードしたプラグインがオブジェクトフィールドに挿入されたままでは、ファイル容量が大きくなってしまいます。
ついでに、プラグインがすでにインストール済の場合は、対象フィールドをクリアする処理も追加します。
If[ Position (Get(インストールされた FM プラグイン); "BaseElements"; 1;1)>0]
フィールド設定[Plugin::Plugin; ""]
現在のスクリプト終了[テキスト結果:]
End If
If[ Get (システムプラットフォーム) = -2]
# Windows OS
URL から挿入 [選択;ダイアログあり:オフ ターゲット:Plugin::Plugin; "https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmx64.gz"]
Else
# Mac OS
URL から挿入 [選択;ダイアログあり:オフ ターゲット:Plugin::Plugin; "https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmplugin.gz"]
End If
プラグインファイルのインストール[Plugin::Plugin]
まとめ
プラグインを利用することでFTPサーバーへファイルアップロードなど、ファイルメーカーだけでは出来ない処理も実装することができます。
今回のファイルメーカープラグインのインストールサンプルは、下のリンクからダウンロードできます。
[wpdm_package id=’1116′]