Report

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

第41回 新時代のレイアウト構築
・開催日時:2008/11/16 18:00-19:30
・開催場所:Apple Store Ginza 3F シアタールーム
概要:
Apple Store Ginzaでの定例イベント「FileMaker Fun Night!」。第41回目となる今回のメインのテーマは、「新時代のレイアウト構築」です。 FileMakerにおけるレイアウトの構築ワザは、あらゆるテクニックが集約されている場面であるといっても過言ではありません。「手軽に作れる」ことで定評のあるFileMakerですが、その豊富なレイアウト要素をいかに使いこなしていくかが、効率アップにダイレクトに繋がります。レイアウトについて真正面から取り組んでみます。
レポート:
iPodやその物マネが世に溢れるようになって久しい。振り返ればその先駆けとなった製品として、ワシの青春の頃デビューした「ウォークマン」があった。その第一世代は、今では売れない編集者も使わないような無骨なデザインだった(iPodと並べてみると一興かも)。当時はオーディオブームをバブルが加速するという時代背景だったので、何十万もする戦艦のようなアンプとか電車の車輪を外してきたかのようなレコードプレーヤーが秋葉原の店頭を飾っていた(今はフィギュアやアニメ系商品が置かれているあたりもだ)。Apple Storeのある銀座や有楽町あたりにも老舗オーディオ専門店がちらほらあったと記憶している。あの時代、まだMacintoshといえば舶来の超高級アンプであって決して使いやすいパソコンは意味していなかった。パソコンと言えばPCxx01とかMSXといったヲタク色の濃いあたりならかろうじて出現していた。640kくらい、メディアは密度2Dのヘナヘナ5インチFDとかだったな。
秋の夜長、久々にウチの現役戦車アンプとか軍艦CDプレーヤなどをメンテしながら、MP3をオーディオと信じる今時の若者は不幸だ...としみじみ想うのであった。う〜ん三丁目の夕日、Always 懐かしの昭和メモリアルである。


第41回 FileMaker Fun Night!「新時代のレイアウト構築」
お題は...
しっかり覚えるFileMaker 〜失敗は成功のマザー:設計編〜
【特集:新時代のレイアウト構築】
恒例Tips対決!
FMスーパーテクニック 〜ID(シリアルキー)について考える〜



●しっかり覚えるFileMaker 〜失敗は成功のマザー:設計編〜
 (竹内さん)

さて、今回は設計編ということで、おもにテーブル/フィールド定義だ。
ここで問題になってくるのは「どのような構造にすれば良いかわからない」ことや、明らかに失敗したという自覚症状があるのに「取るべき対策を見いだせない」といったことだろうか。
ここでは、結果を導きやすくするために極端な失敗例を挙げてみる。
これらは、おかしな構造の典型。

症例1:1ファイル、1テーブル、リレーションなし、スクリプトなし、1000を超えるフィールド数。
症例2:1レコード上に、顧客別の「顧客名」と「金額」フィールドがある。
症例3:1レコード上に、複数の設問と、それに対応する回答欄のあるアンケート。

後で集計ができなかったり、構成の変更が困難になるパターンだ。
こういう失敗は「タテのものをヨコにする失敗」と表現されていた。

ここで師匠は言う。「Excelシートを思い浮かべて作ると失敗する。」
Excelはいくら関数やマクロが充実しようとも表計算ツールであって、FileMakerはDBであるから別のモノだ。
しかもFileMakerは今どき「RDB」と呼んで過言でない内容である。←ココ、強い調子で述べる。
「DBは表計算と違ってX、Y以外にZ軸を持つ、3次元的なものだ」と言う。

さて、タテのものをヨコにする失敗とは具体的に何かというと、「本来はデータである情報を属性にしてしまう」ことだという。
すなわち、別レコードの同じフィールドとして累積していくべき値を同じレコードの別フィールドに抱えてしまう、そういう不具合なのだ。
症例2、3あたり、思い当たるヒトも多いのでは?
こういう問題を正しく直していく行為を「正規化」と呼ぶ。

ここでデモ

FunNight!のアンケート結果を整理するためのDBをご開帳。おぉっ、こーなってんのか。
とにかく、考えうる最も細かいレベルまで情報を分解した結果が1レコードになっている。
んーと、設問マスタ/設問/解答用紙、てな感じでこれでもかと分解。
具体的な説明が幾つかあったが、要は「どの括りを1レコードとするか」コレが問題なのだ。
後からどうにでもできるようにするためには、このデモのように「それ以上分解できない」ところまでレコード(テーブル)を細分化する必要がある。
がしかし、作る手間とかテーブル多数になることの管理の煩雑化とか諸々の事情もあるので、妥協を迫られる場面もあるだろうね。

師いわく「FileMakerであれば、やる気があれば問題は解決できる」。であるからして、目標はあくまで「完全分解」にセットして事前に十分検討、そのうえで現実味との兼ね合いを探っていけば、何とかなりそうな気がしてくるのだった。


●【特集:新時代のレイアウト構築】(Shinさん)

データベースでありながら卓越した「UI」(ユーザインタフェース)をデフォルトで備えるFileMakerなので、昔からこの辺は「幾らでも凝れる」ポイント。
色違いの線をずらっと並べてグラデーションなんて、作った人も多いはず。最近ではレイアウト要素も拡張著しく、効果的なUIを比較的簡単に構築できるようになってきた。さて、新時代のレイアウトとはなんなんだ。

レイアウトの役割とは、
・データの表示
 (フォーム/リスト/表/ポータル)

・機能提供
 (入力値の自動化/値一覧/タブコントロール/書式:日付、数値、時刻、グラフィック、文字/ドロップダウンカレンダー/ポップアップヘルプ/入力可否/webビューア/ボタン設定)

 これらの機能をうまく使うことで、テーブル内から常時計算や集計などの要素を排除できる可能性がある。
 なぜなら、計算や集計はデータではなく処理であって、テーブルには含めずにレイアウト上で完結できるならば、それが理想である。

・プレゼンテーション(見栄え)
 (デザイン:色、フォント/動的表現:条件付書式/タブコントロール/各種書式)

さて、ここで制作効率の観点からデモである。
制作効率を上げることとの関連性を見てもらおうということらしい。

・論文管理ソリューション
 ・投稿からweb表示までを行う
 ・ポータル使用
 ・カスタム関数を使用

新規作成をテーブルのインポートから実演し始めた。テーブルをインポートする理由は、レイアウトやスクリプト、リレーションを無視してボンと置くことが可能だからだ。作業はデフォルトのテーブルを削除してから行う。そして、データ構造をじっくりと考えながら行う。たとえばデータ分離にするかどうか、とか。

インポートしたら、デフォルトのレイアウトも削除してから、その後の作業を開始する。
まあ、手際のいいこと。
新規を作る機会が多い、しかも期限を切られて切羽詰まって作業することも多いとなると、ヒトはこういう風に進化するのか。
人間って凄いと思った一瞬でありました。
更に作業効率を上げていくためには、サードパーティのツールも積極的に利用したい。

・Scriptology Theme Library:レイアウトデザインセット。コピペするだけでできた気分。
・Clip Manager:webビューアにセットされた計算式ごとコピペ。他にはカスタム関数をコピペ。
・Gradient Maker:背景やタイトルバー用に簡単グラデーション作成。

凄いね、はかどりそう。
これが「新時代のレイアウト構築」って意味なんですね。レポート書きながら、ようやく知るワシ。
これらのツール、コピー先でのフィールド再割当て作業はやはり必要とのことだが、数が多ければ何時間というレベルで工数が浮くだろうから業務ユーザにはお勧めだね。


●恒例 Tips対決!

・今泉さん
 フィールド定義のダイアログでフィールドリストをソートするとき、複数を選んでおいてコマンド+上矢印キーを押せば、選択フィールドを移動できる。

・竹内さん
 現レイアウトのTOは、データビューアの「監視」タブを選び、「+」ボタンをクリックするとダイアログ上で確認できる。

・Shinさん
 ゆるい「値一覧」と、フィールド参照の値一覧をセットした2つの同一フィールドを重ねて配置し、モードによる入力可否をうまく組み合わせて各々に設定すれば、入力時は自由入力可能な値一覧で、検索時はフィールド参照の堅い値一覧という使い分けができる。


●FMスーパーテクニック 〜ID(シリアルキー)について考える〜 (今泉さん)

FunNight!で繰返し言われている「リレーションキーにはシリアル値を使え」だが、なぜ「社名」といったデータの実体を使っちゃイカンのか、そのへんのテーマであります。実はこのシリアルキー、プロにおいては基本でも、アマチュアにはあまり浸透してないのではないかと勝手に想像してます。シリアルの自動生成関連の問題など、避けて通りたい(面倒くさそうな)要素が幾つかあるせいかもしれない。みゆき師匠、プロの「基本」としてシリアルキーにつき説明であります。

多くの場合、リレーションはシリアル値を使って結ばれる。
なぜシリアルなのか→業務上のルール変更に影響されないから。

例えば
・業績良好につき顧客数が伸び、顧客コードの桁数が増える
・複数顧客のデータをまとめる

これらの例は顧客コードでリレーションしてたら確かに面倒な場面だ。
一方、ユーザとしては大口顧客のコードならば丸暗記してたりするので「顧客コードで入力できませんか?」とくる訳だが、師は「そういう要件はルックアップでかわせ」という。なるほど、顧客コードをきっかけとして結果的にシリアルによるリレーションを確立させてしまえばユーザは文句無しというわけだ。

ここで注意。
Get(レコードID)は、後からメンテできなくなるのでリレーション関係には使わない、ということ。
確かに、インポートすると同じレコードIDにはならないので、改造は運用中の神ファイルを運用停止して、そのまま開いて加工する、という恐ろしいスケジョールを強いられることになりそう。ではレコードIDを入力値の自動化で書き込んでしまう仕様はどうか...インポート問題は回避できるものの、後日の新規レコード作成によって時間の問題でリレーションキーが重複するのではなかろうか。ああ恐ろしい。

ここで、先の「顧客コードで入力できませんか?」に対応するルックアップのデモだ。
顧客キーマスターなるテーブルを作っておき、顧客コードとシリアルキーのセットを納めておく。
入力テーブルは、要求された顧客コードの引き当たるレコードのシリアルキーを顧客キーマスターからゲットし、自身の現レコードにセットすることで、本来目的である顧客テーブル(顧客キーマスタテーブルではなく)との間のリレーションを確立する、というシナリオである。

シブイぜ、と思ったそのとき、またしても時間切れであった。
うむ。


●番外編

今回、荻窪の巨匠ことエミックの松尾社長から著書「FileMaker Serverカスタムwebテクニック」(BNN刊)の改訂版を供出頂き、その1冊を巡ってコイントス勝負が繰り広げられた。ver.9に完全対応、さしずめ「もしかしてXSLTをお忘れでは?」といった感じの頼もしい攻略本と言えよう。
臆面も無くワシも起立し勝負を挑んだが、案の定、直後に座るはめになった。残念。

そういえば、次回のお題は「索引」らしいゾ。
「索引が生成できないので、この値一覧は動作しません」としょっちゅう言われるとか、一見動きそうで実は動かない計算式に振り回されがちだとか、ワシ同様、索引に恨みを持つ者は少なくないだろう。次回こそ敵を知る千載一遇の機会なり。
12月20日(土)18:00〜 Apple Storeにて松、いや待つ。


Reported by 金丸康明



アンケートのご協力、どうもありがとうこざいました!
ご意見、ご要望やご感想はこらちからお寄せください。 >> ご意見箱


Special Links:
Scriptology Theme Library(ISO Productions)
Clip Manager(myFMbutler)
Scriptology Gradient Maker(ISO Productions)
FAMLog(松尾篤さんのサイト)
FileMaker Server カスタムWebテクニック改訂版(BNN新社)

Special Thanks to:
 FileMakerまんが:たまみそさん(今回のまんがはこちら
 書籍ご提供:松尾篤さん
 会場ヘルプ:新妻利恵さん(有限会社アールビィ
 イベントレポート:金丸康明さん
会場の様子:>> Topへ















たまみそ姫、ついにちよみそ姫と共演

来場のみなさんのご感想:>> Topへ
男性Webビューアについてもっと詳細に知りたい
男性シリアルキーのお話もう少し聞きたかったです。
男性今日もいいネタありがとう!
レイアウトの構築について、知らないこともあり役に立ちました
男性非常に参考になりました。ありがとうございました。
女性シリアルキーのリレーションについて、もう一度ゆっくりご説明をうかがいたいです。今日はこれを聞きにきたのに、時間が短くて残念です。
男性竹内氏の「失敗は〜〜」とても参考になりました。使用年数が長いだけでほぼ初心者なので....(フィールドがやたら多い設計ばかりです)
男性大変参考になりました
男性FileMakerに興味を持ち、30日評価版を使用中です。Accessを今まで使用し、FileMakerの良いところを見つけてゆきたいと思っています。楽しかったです!また来ます
女性実際に使っているシステムで説明して下さったので、とてもイメージしやすく理解しやすかったです。
Shinさん、ClipManager使ってみせて下さったのもうれしかったです。グラデーションの紹介して下さったツール、便利ですね。ポチとしたくなりました!
今日のTipsはみゆさんのが気になりました!Windowsでもできるみたいだし、やってみよーっと。。。
女性前回の特別プログラムはなにがなんだかわからんけどスゴイ!って感じでしたが、今日は実践的な内容でとても参考になりました。また勉強しに来ます!おつかれ様でした。
男性今泉さんのTips便利そうです。
男性今回のセミナーは特に私にとっては有用でした。一人で開発している身としては基本的なことに困ることが多く、本を読んでもなかなかマスターできません。実例をあげて説明していただけて参考になります。
男性Tips対決は今泉さん!!
高度な事でして何様についていけませんでした。いつもスタッフの方々感じ良くして頂きありがとうございます。
女性竹内さんの失敗事例...アンケートの答別にフィールド作っちゃいました〜!迷ったのですが「とりあえず出来ればいいから〜」と言われ、素直に作ったんですが、ダメダメでした。集計しにくい〜!Excelに入れてとかいろいろ加工しました。Tipsは今泉さんに1票。Shinさんのレイアウトの話も参考になりました〜。

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