Report

イベントのレポートです。 >> 写真へ >> アンケートの声へ

第22回 Eventドリブンの考察
・開催日時:2007/04/7 18:00-19:30
・開催場所:Apple Store Ginza 3F シアタールーム
概要:
2月のFIleMaker Fun Night!で、一部途中までしかご紹介できなかった内容を更に深く掘り下げてご紹介いたします。また、FileMaker Server3部作シリーズの最終編「FileMaker Serverコマンドラインによる運用と外部認証の実演」など、盛りだくさんの内容を予定しています。
レポート:
つい過日行われた「FileMaker Day」の記憶も生々しいうちに、またFun Night!が巡ってきた。
大丈夫なのか、彼らはネタのなる木でも持ってるのか。
それよりなにより、こんなペースで開催してお客さんは来てくれるのか?
そんなことをぼんやり考えながら渋谷から銀座線に揺られるうち気を失い、はっと気づいたら......まだ新橋だった。ラッキー。

Apple Store 3Fのシアターに入ってみれば、お客さん結構入ってます。「FileMaker Day」でお見かけした方々も多数。皆さんの前向きな姿勢に感心してるうち、Fun Night!始まったようです。
今回のお題は以下の通り。

[しっかり覚えるFileMaker]〜FileMaker常套ワザ紹介〜
【特集:Eventドリブンの考察】(その2)
恒例Tips対決!
[FMスーパーテクニック]〜知られざるFMSの奥義(その3)〜


[しっかり覚えるFileMaker]〜FileMaker常套ワザ紹介〜 <茂田さん>
・入力された電話番号から括弧やハイフンを除去し、数字だけを残したい。
→「入力値の自動化」を利用するのがベストでしょう。
Filter関数」で数字のみ残してしまうというワザがあります。ユーザは単に入力するのみで、03-(1234)-5678 なんて入力されても、後に残るのは「0312345678」というシンプルさ。その後の機械処理を考慮すれば、入力段階でゴミになる要素を除去しておくことは非常に重要です。こんなに簡単に処理できるなら、使わない手はありませんね。
Evaluate関数」を使えば、他のフィールド値を参照したり、他のフィールドの書き換えをきっかけにすることもできます。
注意点は「既存値が存在する場合は置き換えない」チェックを外すことです。チェックが付いていると動きません。

・重複値の先頭だけを抽出したい
→自己リレーションで解決すべし。
全てのレコードにユニークなIDを振ります。次に重複値を含むフィールドの値どうしを自己リレーションで結び、自分のIDとリレーション先のIDが一致したときフラグが立つような計算フィールドを作成すれば、重複値の先頭を抽出できます。
この計算結果として画像を参照すれば、ソートしたときに区切り罫線を自動発生させることもできますね。

・漢字の「ふりがな」について
ふりがなは、親フィールドの確定タイミングで生成されます。よって「計算結果を挿入」スクリプトステップを使えば再生成できます。でも使用頻度が高いと思われる「フィールド設定」スクリプトステップではふりがなは再生成されないのでご注意を。

・ダブルクリックを検出
ボタンの動作に「タイムスタンプ」のセットを割り当てておき、前回のクリックから1秒以上経過していればシングル、そうでなければダブルとして、以後の処理を分岐することができる。

・日付の範囲をキーとしたポータルフィルタ
ポータルに表示されるレコードを、期初・期末・期間の要素でフィルタするには、複合リレーションを使う。

・リレーションの裏ワザ
OR条件のリレーションは、キーフィールドに改行区切りで複数の値を入力することでも実現できる。
(ただし、その値のタイプはテキストに限定される。)

など。


【特集:Eventドリブンの考察】(その2) <Shinさん>
第20回(2/10)時間切れにて中途半端になってしまったテーマのリベンジです。

イベントって何ですか→OS管理下にてマウスやキーボードの操作をもとにソフトへ伝達される情報
ではドリブンとは何でしょう→ユーザ起源のさまざまなアクションの発生タイミング
ってことは、わざわざボタンをクリックしてスクリプトを起動するのではなく、特定の値が入力されたり...といったことをきっかけとして処理が起動することをイベントドリブンと呼んでいるんですね。(第20回のレポートより)
....詳しいおさらいはこちらで

で、具体的にどんな機能が求められているかの例として、
・レコード未確定の段階で、フィールドの入力値を検査し、異常値の場合にアラートを出す。
・現在の選択レコード(リスト表示における選択行など)を背景の色替えなどで明示的に示す。

こんなのできると便利ですね。選択レコードの表示なんて、使いはじめの頃にあれこれ試してみた事ありますが、結局ネイティブでは無理ってことを知るのに随分時間を費やしたもんです。

こういったネイティブではできないものを実現するのが「プラグイン」。
プラグインはFileMakerアプリケーションフォルダの「Extensions」フォルダに入れて使うもので、アプリケーションの再起動で読み込まれて有効になります。機能のON/OFF切替は、環境設定にあるプラグインタブで行います。

たとえば「EventScript」は、レコード確定前のフィールド値の変化をきっかけとしてスクリプトを起動できます。計算が評価されるタイミング(たとえばIf関数でフラグが出たり消えたりするタイミング)でスクリプトを駆動する事もできるので、常に状態を監視し、自発的にアクションを開始できることになります。う〜ん、ウチにあるFileMakerよりかなり使えるっぽいです。

しかし便利な反面、FileMakerが関知しない処理を行うため下手をすると...
・クラッシュ、フリーズ
・意図しないレコード更新、削除
・ファイル破損

設計には細心の注意が必要になります。まずはFileMaker自体の機能を邪魔しないよう、FileMakerの立場や気持ちになって考えてみることが重要とのこと。リスクを承知のうえでうまく利用したいものですね。そのためには、ちょっと試してみるレベルであっても、事前にDBのバックアップを必ず確保しましょう。


恒例Tips対決!

・v8.5から、計算結果のグローバル格納が可能になった(ワザ?)
 (以前はいったんグローバル格納すると値が更新されなかった)<竹内さん>
・レコードを計算結果(テキスト)のグローバル格納の繰り返しに展開する <茂田さん>
・どのフィールドにもカーソルが入っていないときにコピーすると、ブラウズモードでは選択レコードのすべての値がクリップボードに入り、プレビューモードではプレビューのイメージがクリップボードに入る。 <Shinさん>
−−おお、ここでオーディエンスから飛び入りが。−−
・値一覧のカスタム値のうちの1行にハイフンを入れておくと、使用時に区切り線として現れる。<来場者:荻野さん>


[FMスーパーテクニック]〜知られざるFMSの奥義(その3)〜 <竹内さん>
今回、FMS3部作の3、つまりいよいよ奥義の中の奥義。外部認証、コマンドインタフェースほかの話題となりました。
しかし、FileMakerでコマンドインタフェースを使う事になろうとは、10年前には想像できなかった...

・認証を外部に委託する。
認証系の作り込みを他の誰かに委託する訳ではありません。ネットワーク内の各所で使われる認証情報をまとめて認証サーバ(ディレクトリサーバ)で管理し、アカウント変更の際は1カ所メンテすれば済むようにする、という話です。いまどきメールサーバが社内にあるかどうかはともかく、データサーバ、イントラweb、FMSと、ほかに考えつくだけでも幾つか出てきます。これらのアカウントを一元管理できれば便利そうでしょ。

アカウントの管理には2通りあって、一方は普通の方法、要するにFileMaker内にアカウント情報を貯めておいて管理します。他方はディレクトリサービスを利用する方法です。ディレクトリサービスを利用するとき、ネットワーク上の各サーバは必要に応じてディレクトリサーバに「こんなヒトいましたっけ」と照会します。結果OKなら、所定の権限(グループアカウントのレベル)でアクセス許可というわけです。こういう方式ですから、問合せ先となるディレクトリサーバだけにアカウント情報が保持されていればよいことになりますね。
FMSでこれを利用するには、FMS Admin上でちょっと設定するだけ。もちろんディレクトリサーバが既に稼働していることが前提ですが、場合によってはアカウント情報は他の管理者がメンテしてくれることもあるでしょう。メリット大なり。
注意点としては、権限がグループレベルでの適用になるので、設定変更の際はグループへの割付けを忘れないようにすること。また、ディレクトリサーバ上で同じアカウントが複数のグループに所属している場合、FileMaker的にはアカウントが重複する形になること。その場合は、アカウント定義画面で最も上位に配置されたグループ(およびその権限)でのログインになる。とのことです。
※Adminの画面に出てくる「LDAP」 (Lightweight Directory Access Protocol)とは、ディレクトリサーバにアクセスするためのプロトコル。

・コマンドラインインタフェース(CLI)
いつものMacはグラフィカルユーザインタフェース(GUI)。対するCLIはコマンド文字列でシステムを制御する方式です。DOSと共に去ったかと言えばそうでもなく、いまだにサーバ周辺では主流です。
MacOSXでは「ターミナル」上で使用します。

CLIのメリット
・画面を使わないので帯域を殆ど使わない。つまり細い線の先からでもストレスなく指示命令できる。
・FMS Adminがインストールされていないマシンからでも操作でき、ログの参照やファイル操作まで含めてすべてを完結できる。
・ポートはTCP22番(SSH)だけ空ければOK。
・シェルスクリプトによる自動操作が可能。

では、実際にターミナルでやってみると...
・メインは「fmsadmin」コマンドのみで、他はみなオプション。
・fmsadminと入力すると、説明が表示される。
・更に、fmsadmin helpと入力すれば詳しいヘルプが出る。

ここで自動化の例として、バックアップを実行させるシェルスクリプトの一例が紹介されました。
これって立派にサーバ管理ですよ。FileMakerを使い込んで行くと、そのうちサーバ管理領域までスキルが行き着いてしまう。しかも途中に(要求されるスキルや知識的に)大きな段差がない...というのもFileMakerの凄いところですね。改めて感心。


★難問・奇問続出、Neralendar4月分のFileMaker Quiz after FP7 について

問題:フィールドAの値が1のときに0、0のときに1を返す計算式として正しいものを全て選択せよ。
 a. If ( A = 1 ; 0 ; 1 )
 b. Case ( A = 1 ; 0 ; 1 )
 c. Abs ( A - 1 )
 d. Choose (A ; 1 ; 0 )
 e. A = 0

正解:「すべて正しい」
a から e にかけて、使われないであろう度合いが強くなっていくのがミソでしょうか。
会場では、a から順に「これ正しいと思うヒト手を挙げて」とやって行きましたが、d あたりで段々脱落者が増え始め、e ではほぼ決定的になりました。
(実は、会場のスクリーンに表示された式「d」は 1と0が逆転していたため、手を挙げなくても脱落とは呼べないことが発覚→竹内さん思わず苦笑いのひとコマも。)

しかし、どうやっても2時間になってしまうのは内容が濃すぎるせい?
...大丈夫なのか、彼らはネタのなる木でも持ってるのか。→どうやらそうらしい。

Reported by 金丸康明



アンケートのご協力、どうもありがとうこざいました!また、今回も北海道の美瑛で同時中継されました。北の皆さんからも熱い声をいただきました。ありがとうございます。
レポートのみをご覧頂いていらっしゃる方々からも、ご意見、ご要望やご感想をこらちからいただければ嬉しいです。 >> ご意見箱

Special Links:
・「FileMaker常套ワザ紹介」およびTipsのサンプルファイルのダウンロードはこちら(by 茂田)
・EventドリブンなPlug-inたち
  EventScript 1.1(シェアウェア)
  ZipScript 2.0(フリー)
   デモでお見せしたzipscriptを使ったサンプルファイル:「Ray CologonのActivieHighlight
  TroyActivator(有料)
  MMScript 1.0(有料)
・IT戦隊ネラレンジャーのカレンダー「ネラレンダー」ご存知ない方はこちら

Special Thanks to:
 FileMakerまんが:たまみそさん(今回のまんがはこちら
 イベントレポート:金丸康明さん
 会場ヘルプ:新妻利恵さん
会場の様子:>> Topへ


まずは茂田さんの「常套ワザ」







メインの、イベントドリブンです

今日のTシャツはInspectorだし







Tips対決!

会場からの挑戦者は荻野さん


サーバシリーズいよいよ第3弾最終回!







最近、たまみそ先生の路線が…(w

来場のみなさんのご感想:>> Topへ
男性と〜〜〜〜っても楽しく勉強になりました!今日はFM Server 8が届いたところなので、どんどんさわってみます。
女性CLI とても参考になりました。これまで回線の細さに文句言いながらサーバメンテナンスしてましたが、技術を磨けばなんとかなる方法があるんですね。帰って勉強します。
男性シェルスクリプトでスケジュールバックアップと圧縮を併せて行うという手法はぜひ試してみたいです。
女性FMSについては、もっと知りたいです。ちとペースが早かったので、またやって欲しいです。
今日のTipsはShintanさんのに一票!
プレビューでコピー、やったことなかった。。。便利そう。使ってみます。
男性イベント・ドリブン考察、非常に参考になりました!
男性今日は少々高めのレベルでしたが、すんごく面白かったです。それにしてもOS Xのターミナルのフォントは美しいですね。
男性・外部認証を今後利用していきたい。
・FileMaker Web PublishingはCommand Lineで操作できるのでしょうか?
男性FMSアカウント管理の具体的な内容が見れて良かった。FMS運用をさらに詳しく聞いてみたい。
男性しげたさんのコーナーは大変良かった。尚更、もう少し進行をゆっくりして欲しい。
男性今回もとても良かったです。
イベントドリブン = プラグイン使いたくなりました。現在行の表示は苦労して近いものをやってましたが、こんな楽にできるのはgoodです。
サーバの話、もっともっと聞きたいです。ありがとう!
男性プレビューのコピーで、クリップボードにイメージが取り込まれることが役立ちます。
男性初めて参加しました。FM使ったことないですがなんとなく...。
皆様説明がわかりやすい(声が良いです)
(マイクの音がまわりこんでるのが残念...。)
とても楽しかったです。
男性茂田さんの自動化の詳細を復習できるファイルが欲しいです。
話が濃いので頭がいっぱいです。
Quizの解説楽しかったです。
女性毎回レポートだけをインターネットからダウンロードしていましたが、やっぱりもっと早くから来れば良かったと痛感しました。来月からは子連れでも何としてでもきます!!よろしくお願いします。
男性今日もご協力いただきましてありがとうございました。美瑛での中継規模としては最大だったかもしれません。FM-Hもレポートアップしました。こちらで楽しんでいる様子が少しでも伝われば嬉しいです。
男性イベントドリブンとTIPSを組み合わせてリスト表示で選択している行を強調させるとき、FM8.5で計算フィールドがグローバルにできるのでヘッダ上にグローバル計算でレコード番号(ID)を計算させ、リスト表示のレコードのレコード番号と同一のリスト表示させている行の最下層に置いたオブジェクトフィールドがif文で表示・非表示でプラグインなしでも選択したレコードがオブジェクトフィールドが表示になることで強調させることができるのでしょうか?
男性遅れて参加しました。イベントドリブンとはなんぞやというレベルでしたので、いまいちの見込みできないとこでしたが、[継続は力なり]を実践していきたいです。
男性イベントドリブンはさっそく試してみたいですね。なんとなくわかったつもりになってますけど... ホントは?

Copyright © 2004-2010sevensdoor.com. All rights reserved.