サーバーサイドスクリプトの注意点
2016年11月30日 10:00 AM
トラブル
先日お客様より、「ローカルでは問題なく実行できたスクリプトを、サーバーサイドスクリプトとして実行したところ、なぜか成功しなかった。」
とお問合せを頂きました。
Admin Consoleのログを確認したところ、正常に終了しているという結果が表示されていました。
お客様の問題はすぐ解決できたのですが、
サーバーサイドスクリプトを設定する際は、注意して頂きたいポイントがいくつかありますので、代表的な3つをご紹介したいと思います。
1.互換性のないステップが使われている
基本ですが、サーバーに互換性のないスクリプトステップが使われている場合、正常に動作しません。
スクリプトワークスペースの「互換性」より、サーバーに互換性があるかどうかを確認できますので、サーバーサイドスクリプトに設定する前には、ぜひ一度再確認をして頂きたいと思います。
互換性を設定すると、互換性のないステップの表示が灰色になります。
カスタムダイアログを表示のスクリプトステップは、サーバー実行の互換性がないスクリプトステップです。
その為、サーバーサイドスクリプト内にカスタムダイアログを表示ステップがあると、意図しない結果になってしまう可能性があります。
OnFirstWindowOpenやOnWindowOpenのスクリプトに使われていることで、エラーとなってしまうケースも多いので、要注意です。
2.レコードのインポート/エクスポート
サーバーサイドでインポート/エクスポートを行う場合、通常の FileMaker クライアントでインポート/エクスポートを実行した場合とは動作に違いがあります。
例えば、
・ホストされている別のファイルからのインポート/エクスポートがサポートされていない
・インポート/エクスポートのできる場所(パス)に制限がある
(サーバーサイドスクリプトでは、FileMaker Server の「Data」フォルダ内にある「Documents」フォルダまたは「テンポラリフォルダ」(の配下のパス)に対してのみ、ファイルの読み書きが可能)
などの注意点があげられます。
詳しくは、ナレッジベースをご確認頂ければと思いますが、
意図した動きにならなかった場合は、こちらもご確認を頂きたいポイントとなります。
■FileMakerナレッジベース
◇サーバーサイドスクリプトを使ってデータをインポート/エクスポートする設定方法
http://filemaker-jp.custhelp.com/app/answers/detail/a_id/10175/
◇FileMaker Server でのインポートとエクスポート
http://filemaker-jp.custhelp.com/app/answers/detail/a_id/8892
3.アカウントとパスワード
サーバーサイドスケジュールを設定する際、アカウントとパスワードを入力します。
このとき、ファイルに登録されていないアカウントとパスワードを設定すると、エラーが返されます。
ですが、サーバーサイドスクリプトを登録した後に、FileMakerファイル上のアカウント設定を変更する際には、エラーは表示されません。
メニューバーの【ファイル】→【管理】→【セキュリティ】でパスワードの変更ができますが、
例えば、サーバースケジュールに設定されていても、問題なくOKを押すことができてしまいます。
OKを押しても、サーバーサイドスクリプトに設定されているアカウント名とパスワードは更新されませんので、スケジュールが実行できなくなります。
アカウントの変更をユーザーに許している場合や、管理者権限のパスワードを定期的に変更している場合などは、サーバーサイドスクリプト上のアカウント名とパスワードも併せて変更して頂くよう、注意してください。