ラベル zippScript の投稿を表示しています。 すべての投稿を表示
ラベル zippScript の投稿を表示しています。 すべての投稿を表示

2007-11-03

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

 前回(3)を書いてから半年以上経ってしまった…

 この記事はzippScriptを使用した会計のサブシステムをお客さんに納品したのをきっかけに書き始めたんですが、その後 FileMaker 9 の RC が出たりして SQL Server やら MySQL をいじってるうちに書くのがめんどくさくなっちゃって… と言い訳タラタラ。

 プラグインは実はあんまり使いたくはないんですが、このお客さんの要望もあり、どうしてもイベントによるスクリプト起動のプラグインが必要ということになり、予算をかけず、安定稼働して、FMアップグレード時にも迅速に互換情報やらアップグレードを提供してくれそうなって基準で(1)で挙げたような製品をチェックしました。

 最終的には、無料で、互換情報を比較的提供してくれそうなzippScriptを選択しました。 複数クライアントで10時間連続起動しても落ちずに安定して動作する、みたいなテストもやってるわけですが、やはりテスト環境と実運用環境(最大50クライアントが利用)では違うわけで、一抹の不安が… 

 つい先日、お客さんの担当者(経理)から「不気味なくらい順調に動いている云々」のメールを頂いて、一安心。開発元は FM9 の互換情報もいち早く出してるし、このプラグイン選択はまぁ正解だったのかなと思っています。 

2007-02-22

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

プラグインの問題点

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


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

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


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

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

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

2007-02-19

イベントによるスクリプト起動プラグイン って・・・(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 外部関数の使用方法と、プラグインの問題点を挙げたいと思います。

(土屋)