コラボレーション・エンジニアの考える日々

企業での情報共有とコミュニケーションについて、ITを中心に企業コラボレーションを考えていくブログです。

データとプレゼンテーションの分離

今日、私の上司にアンケート集計の為のメールを作ってくれと頼まれたので、メールDB中に新規にフォームを作成して、"フォームを文書に格納"にチェックをつけました。後で集計のためにと思い、Formフィールドを追加してデフォルト値を設定したのですが、これがまずくて、送信先でアンケート記入結果が保存された後、再度開こうとすると、フォームが見つかりませんという意味合いのエラーになってしまいます。


文書にフォームが埋め込まれているのだから問題ないだろうと思っていましたが、だめでした。よく考えたら、文書データはFormフィールドによってフォームというプレゼンテーションが与えられますが、そこにDBに存在しないフォーム名が入っていては、前述のエラーが出るのは当然です。フォーム埋め込みの文書は、Formフィールドをもってはいけなかったのです。


こんな昔から言い古されていたであろう事が体で分かっていなかったのは、日ごろ、あまりプログラミングをしないせいでしょうかねぇ。やっぱりSEにとってプログラミングは基礎ですね。


それにしても改めて、Notes/Dominoの先進性に驚かされます。今でこそ、XML、JSP、CSSなどがあって、データとプレゼンテーションの分離が当たり前になっていますが、Notes/Dominoはもう80年代でそれを実装してしまっているのですから。これはバージョン互換性の問題にも適用できます。クライアント間でメールのバージョンが違っていても、文書データだけ送受信してプレゼンテーションやロジックはそれぞれのバージョンのものを使うという構造が、互換性を高めていると考えられます(一部、やっぱり動きがおかしくなることはありますけどね)。


以上、やっぱりアーキテクチャーシンキングが大事だなと思った出来事でした。