2007-02-22

イベントによるスクリプト起動プラグイン って…(3)

プラグインの問題点

 一見便利なプラグインですが、サードパーティーが、ある意味無理矢理機能を拡張しているため、ユーザが意図する通りに動かない、動作が不安定ということはある程度覚悟しておく必要があります。


 小生が開発した環境では、フィールド定義の「入力値の自動化」の計算式で、以下のような現象が発生しました。
  1. ヘッダレコード(「レイアウト設定」で「レコードを表示:」で指定するテーブルのレコード)が未確定の場合、ポータル行のフィールド入力時にスクリプトが起動するように設定がなされていても、スクリプトは起動されない
  2. スクリプト起動を設定したフィールド入力中にレコードが切り替わると、不適切なレコードに対してスクリプトが実行されてしまう
  3. スクリプト起動を設定したフィールド入力中に他のボタンを実行すると、スクリプトが実行されない、または不適切なタイミングで実行される

 また、アクセス権設定の計算式により、カーソルがフィールドに入ったときにスクリプトを実行するように設定しましたが、ヘッダレコードで2つめ以降にカーソルが入ったレコードでは、スクリプトが実行されませんでした。


 上記は小生の環境で発生したもので、必ずしも他の環境で発生するとは限りませんが、いずれにしてもスクリプト起動プラグインを使用する場合は十分なテストを実行し、問題を発見して、回避策を自分で施さなければなりません。 

 また、FileMaker Pro のアップグレード時にプラグインは遅延無くアップグレードされるのか、プラグインを連続運用しても安定して動作するのか、運用開始後プラグインに問題があると判明した場合の回避策などを、重要なアプリケーションでは考えておく必要があると思います。

 今後、時間があれば土屋企画で施した対策を書いてみます。
 
 

2007-02-19

FileMaker プラグインを FileMaker Server から自動的にダウンロードさせる方法

FileMaker プラグインは、ファイルメーカー Pro 6 までは各クライアントコンピュータに手作業でインストールする必要がありましたが、FileMaker 7/FileMaker Server 7 からは、サーバにアクセスした時点でクライアント側のプラグインの有無をチェックし、必要に応じて自動的にクライアントにダウンロードして有効化できるようになりました。

つまり、このスクリプト自動ダウンロード機能を利用すれば、クライアント台数の多い企業ならプラグインのインストール作業が大幅に軽減されるだけでなく、インストール漏れが発生するというトラブルも発生しにくくなります。

今回は Windows 環境で FilMaker Server からプラグインをクライアントコンピュータに自動インストールする方法について説明します。

* プラグインの自動ダウンロードの詳細は、FileMaker 社の FileMaker Server 8 プラグインの更新ガイド (PDF) を参照してください。


◇ 準備するもの
1. AutoUpdate プラグイン
これは FileMaker Pro 7 以降をインストールしたときに標準でインストールされているプラグインです。このプラグインを使って FileMaker Server にアクセスし、バージョンチェックとダウンロードを行います。
あえてここでは何もする必要はありませんが、AutoUpdate プラグインのインストール状態は以下の画面からチェックできます。



2.FileMaker Server 7 または 8
インストールして、起動しておいてください。
3. お好みの FileMaker プラグイン
今回の例では無料プラグインの zippScript を例に挙げます。以下のリンクよりスクリプトを入手してください。
http://homepage.mac.com/jkornhaus/filemaker/Downloads.html


◇操作方法

1. zippScript をサーバ環境に配置します。下図のようにディレクトリを作成してくだい。
* スクリプト名を記述したディレクトリと、それに対応するバージョン名を入れたディレクトリをそれぞれ用意します。


2. FileMaker Pro 7~8.5 を開き、新規ファイルを作成して、プラグインダウンロード用のスクリプトを作ります。

(スクリプトファイルは準備中です。暫くお待ちください。)

3. ファイルオープン時に 2. のスクリプトが実行されるように設定しておけば、必要に応じて FileMaker Server からローカルコンピュータにプラグインがダウンロードされ、有効化されます。

イベントによるスクリプト起動プラグイン って・・・(2)

スクリプト起動プラグインを使ってみる

前回書いたようにスクリプトの起動は計算式で指定します。ここでは、フィールドオプションの「自動入力」の計算式を使用し、数値フィールド[価格]にユーザが入力した値が10000以上であれば警告メッセージを表示するスクリプトを起動するようにします。

「入力値の自動化」タブで計算式を書く
注:
  • 上式に[価格]があることに注意。
  • “OK”クリック後、「フィールドに既存の値が存在する場合は置き換えない」をチェック。

入力値の警告し、キャンセルならば値をクリアするスクリプト

 後はレイアウトにフィールドを配置し、[価格]フィールドに10000以上の値を入れると警告スクリプトによりメッセージが表示されます。


 ばら色に見えるプラグインですが、いくつかの問題があります。次回はその問題について書きます。

2007-02-15

イベントによるスクリプト起動プラグイン って・・・(1)

スクリプト起動のタイミングをイベント対応にしたい

FileMaker Pro(以下、FM)のスクリプトを起動するには、ボタンをクリックするか、またはスクリプトメニューから目的のスクリプトを起動するしかありません。
 VBやJavaScriptのように、フィールド値の変更等なんらかのイベントが発生したときにスクリプト(ルーチン)を起動できると便利なのですが、FileMaker にはその機能がありません。これを実現させるのが、サードパーティ製のプラグインと呼ばれるプログラムです。

スクリプト起動プラグインのインストール

スクリプト起動プラグインはさまざまなものがありますが、ここでは「zippScript」という製品の使用方法をご紹介します。

 まず使用するプラグインをダウンロードします。必要に応じて解凍し、zippScript.fmx という名称のファイルを FileMaker Pro\Extensions\ に入れ、FileMaker Pro を起動します。

 これでプラグインのインストールは完了です。 

スクリプト起動プラグイン製品
製品名 価格
zippScript freeware
DoScript freeware
Events 4.0 US$129
ScriptFire US$59
Activator US$89
EventScript freeware


◇イベントによりスクリプトを起動させる

では、スクリプトはどのようにすると起動できるのかというと、計算式でプラグインが提供する外部関数を実行して起動します。 スクリプトを起動する計算式は、フィールド定義の入力値の自動化/制限、計算フィールド、アクセス権設定、ポップアップヘルプの設定で指定可能です。 これにより、以下のイベント発生時にスクリプトが起動できることになります。

  1. カーソルがフィールドに入った

  2. レコードを表示/作成/削除した

  3. フィールド値が変更された

  4. 未保存の計算フィールドが表示された

  5. 特定のオブジェクトをマウスオーバーした
zippScript には、zippScript Example.fp7 というファイルが付属していて、これを分析するとイベントに基づくスクリプトの起動方法(スクリプト起動用外部関数の記述方法)が詳しくわかります。

次回

次回は zipScript 外部関数の使用方法と、プラグインの問題点を挙げたいと思います。

(土屋)