ソリューションにメールの通知を追加するにはどうしますか?
通知は、カレンダーのPro版に組み込まれています。FileMaker Serverを使っていれば、簡単にできます。X時間以内に約束があるというメールのリソースのサンプルのスクリプトを用意しています。このスクリプトがFileMaker ServerでX分おきに実行されるようにスケジュールを組んで、予定を忘れないようにすることができます。ここに書かれている内容を読んでからスクリプトの一式を複製し、必要な通知を追加するためのモデルとして使用してください。
まず、「Email Notifications」というスクリプトのフォルダを見つけます。「Configure Mail Server Settings」スクリプトを編集して、使用するメールサーバをソリューションに設定します。正しく設定できたと思ったら、「Test Server Configuration」スクリプトを実行してチェックします。入力ミスか何かがあるというエラーが表示されるかもしれません。設定を修正して、テストメッセージが通るようにします。この設定が必要なのは1回だけです。メールの通知にはすべて同じ設定が使用されます。
次に、サンプルの通知のスクリプトをチェックします。変更するのは2か所だけです。
- 「Notification 1 - Find Events」スクリプトの編集ウインドウを開き、メールで知らせたいレコードを検索するスクリプトを作ります。この例の1では、今後X時間以内の予定で、まだ通知が送信されていないイベントをすべて検索するスクリプトになっています。このスクリプトを自分で実行して、該当するレコードが見つかるかどうかを確認できます。スプリプトパラメータを送って、検索したいソースの番号を宣言することを忘れないでください。
- 「Send one notification -- message content is edited here --」を編集ウインドウで開くと、変数がいくつかあることがわかります。変数を編集して、通知を受ける人やどんなメッセージが送られるかを指定します。
これで完了です。意図した通りの計算式ができたら、FileMaker Serverでスケジュールを作成して一定の間隔で通知が実行されるようにできます。サーバには「メインの」スクリプトを実行させます。この例では「Email Notification 1 - Upcoming Events」です。
FileMaker Serverでスケジュールを作成するには、どうしますか?
とても簡単ですが、このドキュメントの範疇を越えています。「FileMaker Server 12 入門ガイド」にステップ・バイ・ステップの手順が書かれています(54ページを見るか、「スクリプト」で検索してください)。
http://supportwww.fmgatewayfilemaker.com/jp/SeedCodeCalendarPro12-EmailNotifications.html/support/product/documentation_archive.html
サーバを使っていなくても通知を実行することができますか?
できますが、サーバを導入しましょう、あなたのデータには、サーバを導入する価値があります。
サーバを使わずに実行するには、「ロボット」マシンを常に使用します。「ロボット」マシンとは、X分おきにスクリプトを実行するプラグインが動作しているFileMakerクライアントのことです。これを導入することを考えるなら……本気でサーバの導入を考えましょう。
FileMakerクライアントで通知を実行したいなら -- たとえば、イベントが編集されたらすぐに通知したいなら -- それは可能ですが、ユーザにはイベントがメールで送信されるまでに少し間があると感じられるでしょう。
次のように実装します。
上述と同じ構成のスクリプトを使います。したがって、上述の「Configure...」スクリプトを使ってSMTP接続の設定とテストをします。
上述の2.で解説した「Send one notification -- message content is edited here --」スクリプトも使用します。このスクリプトで適切な受信者、件名、本文などの値が使うように編集します。
2つのスクリプトが準備できたら、通知を送信するときに「Send one notification -- message content is edited here --」スクリプトをコールします。幸い、イベントが変更されたかどうかを確認することはすでにできるようになっているので、これを通知の送信と結びつけます。
「Close Window & Refresh Calendar」スクリプトを見つけます(これは、イベント詳細のミニウインドウの一番下にある「閉じる&カレンダー再表示」ボタンをクリックしたときに実行されるスクリプトです)。このスクリプトを編集ウインドウで開き、「Query our modification tracker」のコメントを見つけます。スクリプトステップの間の次の空白に、IfとEnd Ifのステップのペアを追加します。If( ) の計算式はこのようになります。
Code Block $sc_UnModified ≠ 1
If文の後に、「Send one notification -- message content is edited here --」スクリプトをコールします。これで完了です。
- 警告。 ユーザはイベント詳細のミニウインドウ以外でもイベントを編集できます。スクリプトを実行せずにウインドウを閉じることもできます。このため、サーバでスクリプトを実行するよりも、信頼性が低くなります。サーバでは、編集されたかどうかに関わらず、一致するイベントが検索されます。
もっと活用する
さらに通知を設定したり、ソリューションで処理を自動化したりする必要がある場合は、弊社にご連絡ください。ご相談を承り、見積をいたします。