FileMaker スクリプトおよび FileMaker Data API
FileMaker スクリプトは、繰り返し実行する操作や面倒な操作を自動化するために定義する 1 つまたは複数の命令 (スクリプトステップ) です。FileMaker Data API とともに FileMaker スクリプトを使用すると、Web サービスでより多くのタスクや一連のタスクを実行できるようになります。「FileMaker スクリプトの実行」を参照してください。
FileMaker Data API がサポートするスクリプトステップを表示するには、FileMaker Pro スクリプトワークスペースで互換性ボタンをクリックして [FileMaker Data API] を選択します。グレー表示されていないスクリプトステップが FileMaker Data API でサポートされています。一部のスクリプトステップでは FileMaker Data API で異なる動作、またはサポートされない場合があります。FileMaker Pro ヘルプの「スクリプトの作成と編集」を参照してください。
FileMaker Data API により実行されるスクリプトは、ファイルが同じホストで共有されている場合以外は他の FileMaker ファイルのスクリプトを実行できません。他の FileMaker ファイルでは fmrest 拡張アクセス権が有効になっている必要があります。
FileMaker Pro では、スクリプトとユーザの操作 (ユーザによるフィールドのクリックなど) の両方でスクリプトトリガをアクティブにすることができます。ただし、FileMaker Data API ソリューションでは、スクリプトトリガをアクティブにすることができるのはスクリプトのみです。スクリプトトリガの詳細については、FileMaker Pro ヘルプの「スクリプトトリガの設定」を参照してください。
メモ
-
スクリプトが返す可能性のあるデータ量やレコード数を考慮して、スクリプトを適切に定義してください。FileMaker Pro では、スクリプトがテーブルまたは現在の対象レコードのすべてのレコードを返す場合があります。しかし、スクリプトがテーブルのすべてのレコードを返すと、Web サービスでこれらのレコードが処理されるためにメモリが不足する場合があります。
-
FileMaker Data API ソリューションでは、OnFirstWindowOpen スクリプトトリガはアクティブになりません。スクリプトが最後の仮想ウインドウを閉じたときにのみ、OnLastWindowClose スクリプトトリガがアクティブになります。スクリプト API エンドポイントを使用またはリクエストのボディに
script.prerequest
、script.presort
引数、およびscript
引数を含めることでスクリプトを手動で実行することができます。 -
アカウントとアクセス権を使用して、Web サービスが実行可能なスクリプトのセットを制限します。Web 互換のスクリプトステップのみがスクリプトに含まれることを確認し、Web サービスから使用する必要があるスクリプトのみを利用できるようにします。
-
アクセス権によって制御されたステップの組み合わせを実行するスクリプトの影響を考慮します。たとえば、レコードを削除するステップがスクリプトに含まれていて、レコードの削除を許可するアカウントでログインしていない Web サービスの場合、このスクリプトではレコードを削除するスクリプトステップは実行されません。ただし、スクリプトは引き続き実行される場合があり、予期しない結果になる可能性があります。
-
FileMaker Pro で、スクリプトワークスペースを使用して完全アクセス権をスクリプトに付与し、個人ユーザにアクセスを付与していないタスクの実行を許可します。たとえば、アカウントとアクセス権を使用してユーザがレコードを削除できないようにしつつ、スクリプト内に定義された条件下で特定のレコードを削除するスクリプトの実行を許可することができます。
-
FileMaker Data API エンドポイントではデータ変更が即座に確定するようになっていますが、スクリプトではレコードが未確定のままになる場合があります。たとえば、1 つのセッションでレコードを編集して確定はしないスクリプトを実行することができますが、次のセッションで同じレコードを編集しようとするとエラーになります。または単一のセッションの中であれば、1 つのスクリプトでレコードを編集して新規ウインドウを作成してから 2 番目のスクリプトを呼び出して同じレコードの編集をすることができます。必ずスクリプトの結果を検証してスクリプトエラーがないかどうかチェックしてください。
-
データをサーバーに保存するまではデータの変更ができないため、データを変更するスクリプトには [レコード/検索条件確定] スクリプトステップを含める必要があります。これには、[切り取り]、[コピー]、[貼り付け] などのスクリプトステップが含まれます。単一ステップの処理の多くは、[レコード/検索条件確定] ステップを含むスクリプトに変換する必要があります。Web サービスから実行されるスクリプトを設計する際は、スクリプトの最後に [レコード/検索条件確定] ステップを含めて、すべての変更が保存されるようにします。
-
Web ユーザが実行する可能性のある各スクリプトを開いて、FileMaker Data API ソリューションとしてデータベースを共有するときにスクリプトが適切に実行されることを確認します。上記で説明するように、FileMaker Data API でサポートされているスクリプトステップのみがスクリプトで使用されていることを確認します。