本文へジャンプ

ソフトウェア > Lotus > Lotus Developer Domain > 

Iris Today Archives

ドミノでエクストラネットを作成する パート1


Lotus Software
by Andrew Pollack
レベル:上級者
対象:Domino Designer R4.6
原文の掲載:2000年12月1日

Iris Today Archivesの原文(US)

インデックス
ビジネス・パートナーが対象者です
情報の差異
秘密性
エクストラネットでの「成功」とは?
全てはツールキットの構築にあるのです
コンテンツ作成ツールキット
コンテンツ・フレームワーク
ビューを使い、誰が何を、どのように見えるようにするか決める
マルチ言語サポート
アクセス・フレームワーク
インデックス・ページ
さて次は?

ワーク・グループで、構造的・非構造的なデータを、安全で組織的な方法で共有するアプリケーションにはある名前が与えられています。これは「グループウェア」と呼ばれ、ロータス ノーツがこれらを先導する製品です。グループウェアはすばらしく、この言葉の同意語とも言えるのがロータス ノーツです。しかし World Wide Web に人気があり、ロータス ノーツのアプローチは人によっては独占的と考えられています。多くのノーツを扱っていない方々は、同じタスクを、ブラウザーと HTML サーバーを使って成し遂げようとすることを選んでいます。彼らはこの結果を、それが完全に新しい分野であるかのように「イントラネット」と呼びました。グループウェアのアイディアが、標準ベースのソフトウェアに適用され、組織のビジネス・パートナー、供給者、そして売り手が利用可能になったとき、それは「エクストラネット」と呼ばれます。「エクストラネット」は本質的に、読者以外は「イントラネット」と同じです。

ロータス ノーツ/ドミノは、これらのグループ共有アプリケーションのプラットフォームとして、長い歴史を持っています。この記事は、ロータス ノーツ/ドミノに初めからあった能力、ユーザーにタイムリーで安全な情報を供給するエクストラネットを作成する能力に「てこ入れ」する方法をお見せします。

この記事はあなたが、HTML の知識を持ったロータス ドミノの開発者であることを想定しています。ここで説明される基本的な設計コンセプトは、JavaScript、ダイナミック HTML、Java、そしてより高度なロータス スクリプトを加えることによって、その能力を大いに拡張することができますが、ワールド・クラスのエクストラネットを構築するために、これらのものをロータス ドミノは一切必要としません。これら全ての設計はロータス ドミノ R4.6x 以降で動きますが、ドミノ R5.0.x は、設計、スケール、そして冗長性で、考慮されるべき多数の機能拡張を提供します。

ビジネス・パートナーが対象者です
出来のいいエクストラネットを構築するためには、それは一般の Web サイトとどう異なるかを理解することが重要となります。この違いの核心は、その対象者にあります。エクストラネットでの対象となるユーザーは、企業と共にすでにビジネスを行っている人です。彼らはビジネスをより簡単に、有利に、またより満たされたものにする方法を探しています。同時に、エクストラネットを構築している企業や部門は、ビジネス・パートナーや供給者などのユーザーと共に働くより良い方法を探しているのです。
 
上に戻る
 
情報の差異
一般の Web サイトとエクストラネットとのもっとも重要な違いの1つは、ユーザーが探す情報です。Web サイトでは、ユーザーは商品の購入や投資の判断材料となるような情報を探しています。エクストラネット・ユーザーは、すでに投資や企業から商品を購入しており、この関係や商品を最も効率よく利用する情報を探しているのです。このような意味では、サポート Web サイトは「エクストラネット」のカテゴリーに分類されるのです。要するに、エクストラネット・ユーザーは「中身」を探しているのです。リセーラーに仕えるエクストラネットは、価格表、商品の技術的な詳細、インセンティブ・プログラムのマーケティング、そしてインタラクティブな設定ツールなどの情報を扱います。

情報の最も重要な面は、その適時性です。9月のプライス・リストは、10月1日には役に立ちませんし、いかなるビジネスも10月の価格表が掲載されるまで行うことができません。この理由から、コンテンツを作成する能力は最も必要不可欠とされます。情報は Web サイトを通して、コンテンツ所有者からユーザーへと流動します。この流動を妨げるようないかなるプロセスは、エクストラネットの成功を妨げるものです。ロータス ドミノ Web サーバーによって瞬時に表示されるコンテンツを作成するために、ロータス ノーツ・クライアント固有の能力に「てこ入れ」をすることは、新しい情報の生成の遅れを取り除くことになるのです。
 
上に戻る
 
秘密性
エクストラネットのユーザーは、一般の Web サイト・ユーザーの一歩先を行く関係に入りました。エクストラネットは、付加的な情報への「特別な」アクセス・レベルを意味します。この理由より、エクストラネットには認証とアクセス制御が含まれます。エクストラネット・ユーザーは、そのユーザーと仲間の目に入るべき情報へのアクセスを得ます。これを実行するためには、エクストラネット Web サーバーはユーザーの認証を行わなければなりません。認証はアクセス制御ではありません。システムへアクセスするユーザーの身元を、確実に特定するための行動にすぎません。ロータス ドミノは、中央管理された LDAP (Lightweight Directory Access Protocol) の使用を含む、いくつかの認証方法をサポートしています。

とはいえ認証は、プロセスの一部でしかありません。何人かのユーザーは他のユーザーより常に「より対等」であり、ユーザーに許可されていないコンテンツにアクセスできないようなメカニズムが必要なのです。アクセス制御はロータス ドミノにとって新しいことではありません。ユーザーを基にページのグループを制限する能力を多くのサーバーは持っていますが、そのほとんどは、ユーザーがアクセスできないリンクを一切表示しないようにするような能力を、簡単にはサポートしていません。ロータス ドミノ・サーバーは、ユーザーがリクエストした時にページを個別に生成するのです。結果的に、ユーザーが利用できないリンクは表示させないようなページ設計を利用することができるのです。この記事で後述する「フレームワークにアクセスする」のセクションでは、このような簡単なツールを作成する方法をお伝えします。
 
上に戻る
 
エクストラネットでの「成功」とは?
いかなるサイトも、利用されなければ「成功した」とはみなされません。ページのアクセス数やユーザーがサイトで費やす時間、サイトからユーザーが得ることのできる情報量などを測定するにしても、いくつかの「定数」はあります。

はじめに、成功するエクストラネットは常に新鮮味を保たなければなりません。コンテンツが頻繁に変更されないと、対象ユーザーはサイトをチェックしなくなります。コンテンツの新鮮味を保つ最適な方法は、そのサイトの存在意義となる商品やサービスの成功に欠かせないコンテンツを、担当者が直接追加する能力を与えることです。例えば、商品マネジャーに新しい機能や賞が発表されたとき、サイトを直接更新させてみましょう。

しかしながら、新鮮なコンテンツの供給は、リーズナブルなコストで行えるのであれば、良いことです。サイトのメンテナンスに多くの資金を必要とし、商品やサービスの値段に悪影響を与えてしまうようなデザインのサイトを作っていては、全く意味がありません。コストの削減とは、運営とメンテナンスを可能な限りオートメーション化するということなのです。

したがって、エクストラネットを成功させるためには、認証されたユーザーに新鮮なコンテンツを供給する安全な場を提供し、これを広範なオートメーションを使ってロー・コストで行わなければなりません。下のセクションでは、このようなシステムの構築する1つの方法を説明します。
 
上に戻る
 
全てはツールキットの構築にあるのです
1つ前のセクションでは、コンテンツ所有者へ権限を与えること、そして運営・メンテナンス費をオートメーションを通じて削減する必要性について言及しました。これらは2つの個別な目標でありますが、共通の筋道を持っています。その筋道とは「ツール」です。ツールは、構築するのが難しいかもしれないが、しかしその存在によって他の多くのタスクをより簡潔に、そして費用をより安くするものです。エクストラネットを、各部分を1つ1つ構築することはとても時間のかかることであり、そのメンテナンスはほとんど不可能と言えるでしょう。次のセクションはコンテンツ作成ツールキットについて説明します。この記事のパート2では、システム管理ツールキットについて説明します。正しく使用されることによって、あなたのエクストラネットはスケーラブルで管理しやすいものになるでしょう。
 
上に戻る
 
コンテンツ作成ツールキット
情報を提供する側であるコンテンツ所有者は、しばしば Web サイト・デザイナーではありません。したがって Web 開発スキルを持つ人たちは、コンテンツ所有者からのインプットなしには、サイトに何を載せればよいのか、わかりません。こうなると、伝統的な HTML ベースの Web ページは、交渉と開発の複雑なプロセスが必要になり、コンテンツ所有者と Web ページ・デザイナーの双方を巻き込むことになります。

この例となるのが、結婚式の招待状です。結婚式の招待状は、かなり簡単なものです。いくつかの一般的なルールに沿って、コンテンツは数行でまとめられます。これを作成するためには、結婚式の招待状の専門家である印刷業者に依頼します。しかし印刷業者は、あなたの招待状がどのようなデザインにならなければならないのか、理解していません。多くの場合、ユーザーの頭にあるデザインのイメージと調和させるために、何度か打ち合わせをする必要があります。

結婚式の招待状の作成に、このようないくつものステップを必要とするのであれば、Web サイト・ページのセットの作成がどれくらい複雑なものになるか想像してください。そして今度は、あなたは問題を理解していても、印刷業者 (また私たちのケースでは Web サイト・デザイナー) が、コンテンツ所有者と同じ言語を話せない場合を想像してください。クリエイティブ・ツールキットは、直接コンテンツ所有者が仕えるように設計されており、「印刷業者」を介さないわけです。コンテンツ所有者に制作力を与えることによって、あなたのサイトは常に新鮮な状態に保たれ、より成功性の高いものにことでしょう。
 
上に戻る
 
コンテンツ・フレームワーク
Web ページは2つの部分から成ります。コンテンツ、そして「封筒」です。この封筒は綿密に作成されたバナー、サイド・バーであり、エクストラネット上のユーザーが動き回るために使用するグローバル・ナビゲーション・ツールです。一般的にこの封筒は、同じコンテンツ・エリアの全ての Web ページに渡って同じになります。しかしこれが、ユーザーがサイトに訪れた理由ではありません。封筒の役割はコンテンツの見栄えをすばらしくすることです。簡単なテキストが、すばらしい封筒に囲まれていれば、これだけで魅力的な Web ページになります。

コンテンツ・フレームワークは、封筒の制作力を有利に使うべきなのです。優秀な Web ページのソース・コードを観察すると、ページの設定を含むヘッダー、バナーがあります。そして封筒の他の部分であるコンテンツ・エリアでは、通常1つの大きな表セルとして設定されており、そして次にコンテンツ・エリア表を閉じて、終わりのコンテンツのようなもの、たとえば「ページの終わりナビゲーション・バー」などのフッターがあるのです。コンテンツ・フレームワークの役目を果たすノーツ・データベースを作成する秘訣は、これらの部分を分割することです。これをするための1つのテクニックは、ヘッダーとフッターをサブフォームに入れ、Web に表示されるときにフォームに入れることです。これにより、コンテンツ所有者はコンテンツ・エリアだけのことを考えればいいのです。

ロータス ノーツ・クライアントは、コンテンツ作成ツールの中でも最も強力なツールの内の1つです。電子メールのためにノーツを使っているコンテンツ所有者は、リッチ・テキストの使い方をすでに知っています。表の使い方を教える数分の説明があれば、ユーザーはかなり複雑な Web ページを作成できるようになります。その後フレームワークがヘッダーとフッターのサブフォームを入れるため、ページの見栄えの良さは保証されるわけです。

簡単なコンテンツ・データベースを作成する
このセクションで私たちが作成する簡単なコンテンツ・データベースは、拡張することにより、広範囲に渡る労力なしにエクストラネットへ公開するニーズの大部分に答えてくれます。あなたのプロジェクトの基盤として使用できるデータベースを作成するために、次の例に従ってください。

初めに、それぞれのサブフォームに、下のサンプル・ヘッダーとフッターを挿入します。ここでは HEADERSUB と FOOTERSUB と呼ぶことにしましょう。

HEADERSUB
<!-- Header Start -->
<HTML>
<HEAD><TITLE>Sample HTML Envelope</TITLE></HEAD>
<table width="480" cellspacing="0" cellpadding=" 0" border="0">
<tr><td><H1><center>MyCompany.Com</center>< /H1><HR>
<!-- CONTENT_START -->

FOOTERSUB
<!-- Footer Start -->
<hr></table>
<table width="480" cellpadding="0" cellspacing=" 0" border="0">
<tr><td align="center">
<A HREF="http://localhost">Products</A> |
<A HREF="http://localhost">Service &amp; Support</A> |
<A HREF="http://localhost">Contact Us</A>
</td></tr></table></BODY></HTML>

これを実行するためには、ドミノ・デザイナーの [サブフォームを作成] メニューを使用します。HEADERSUB HTML に入力もしくはペーストし、次に全ての HTML を選択し HTML という名前のスタイルを適用します。FOOTERSUB も同じようにしてください。

HTML という名前のスタイルをまだ作成していないときは、次にあるように、[文字プロパティー] ボックスを使って作成できます。ボックスをチェックすれば、データベース内の全ての文書がこのスタイルを利用できるようにしたほうがいいでしょう。これによりコンテンツ編集者がこれらの機能を有効に利用できるようになるのです。

Create Paragraph Style

HTML スタイルを作成するとき、文字にどんなプロパティーを割り当てても関係ありません。多くの開発者達は、このスタイルに割り当てられる文字の色を変えて、ページ内ですぐに見つけられるようにしています。HTML のスタイル・セットで、ドミノ サーバーが文字を表示したとき、その文字に帰するタグは作成せず、修正なしにあなたが入力した文字を直接そのまま通します。これはパススルー HTML を作成するときに効果的です。

これらを終わらせたら、WebDisplay という名前のフォームを作成してください。WebDisplay フォームは3つのアイテムのみ必要とします。HEADERSUB、本文フィールド、そしてFOOTERSUBです。
  1. [作成] - [サブフォームを挿入] を選び、HEADERSUB サブフォームを挿入します。
  2. 次に BODY という名前のリッチ・テキスト・フィールドを作成してください。
  3. このフォームに FOOTERSUB サブフォームを挿入します。
  4. フォームを保存し、終了してください。コンテンツを表示させるにはこれだけでいいのです。

    WebDisplay form

パブリッシング・フォームを作成する
WebDisplay フォームを完成させたら、次に必要なのは、発行者たちがコンテンツそのものを作成できるように、パブリッシング・フォームが必要になります。新しいフォームを作成し、Body という名前のリッチ・テキスト・フィールドといっしょに必要な内容を入れてください。下にある私たちの例では、簡単な URL とコンテンツ発行者のための説明文が入った、省略されたセクションです。

Publishing form

簡単な URL を自動的に作成させるためには、下のコードが文書の名前を取り、ユーザーのために URL に変えます。これでは文書の名前である "Title"というフィールド名を想定し、View は、"Title" フィールドで順番にリストされている文書を含む、コンテンツ・データベース内のビューの名前です。

このコードを、"Title" フィールドの直接下の計算結果フィールドに入れます。

>@Implode(@Explode(("/"+@Implode(@Explode(@Text(@Subset(@DbName;-1))
;"\\");"/")+ "/HTML/" +Title);" ");" ;+")

このコードはデータベースの名前と、文書がその名前によってインデックス化されるデータベース内のビューの名前と、そして文書の名前を1つのストリングに結合させます。そして +(プラス) と \(バックスラッシュ) の記号を /(スラッシュ) に置き換えます。結果的に、文書の URL をユーザーが作成した通りに見えるようになります。これによりコンテンツ所有者は、彼らのニーズに見合うまで、作業し続けることができるのです。

説明文が入る省略されたセクションには、例として下のような種類の説明文があります。

取扱説明書
下記の空欄にコンテンツを入力してください。この文書には標準の Web テンプレートが自動的に適用されるので、これを含める必要はありません。ノーツ・エディターで対応するどのフォーマットを使用することができます。このセクションには画像、表、フォント、そして添付ファイルを埋め込むことができます。

ホット・リンク:ホット・リンクを作りたい場合は、リンクとなるテキストや画像のセクションをハイライトし、上のメニューから [作成] - [ホットスポット] - [リンク] の順に選びます。リンク先の URL を入力するよう指示されます。それぞれの文書の URL は、その文書の一番上にリファレンス用に表示されます。

HTML コード:直接 HTML コードを入力することも可能です。このためには、コードを角括弧で囲む必要があります。ロータス ノーツは角括弧と < の記号のコンビネーション(例えば、HTML コードの始まりを示す [<)を探します。例えばテキスト中に、他の URL にある画像を使用したい場合、[<IMG SRC="/imagestore.nsf/html/all/$file/filename.gif">] と入力すればよいわけです。

HTML コードを文書に埋め込むもう1つのオプションが、段落スタイル・オプションです。テキストの段落を選択し、そのスタイルを *HTML にします。こうすることにより、ノーツはその段落全体を HTML コードとして扱い、ブラウザーに直接送ります。スタイル・オプションはテキストを右クリックしてアクセスすることができる、[文字のプロパティー] ボックスで見つけることができます。ノーツの左下にスタイル・オプションへのショートカットが置かれています。

ファイルを添付する:ファイルはあなたが作成している文書に直接埋め込むことができます。
 
上に戻る
 
ビューを使い、誰が何を、どのように見えるようにするか決める
デザインをコンテンツ発行者にとってユーザー・フレンドリーなものにすることが非常に重要なことです。ビューで式を使うことによってこれは達成することができます。発行者がコンテンツに、ノーツを使って直接作業した場合、ブラウザーがアクセスできないビューを使います。これらのビューではフォーム式はパブリッシング・フォームだけを使用するデザインを示しています。ブラウザーからアクセスされるビューでは、WebDisplay フォームを使用するフォーム・デザインを使用すればよいのです。

これを行うためには、全ての文書を表示するビューを作成します。このビューは HTML と呼ばなければなりません。なぜなら上の URL 式でそのように指定されているためです。1つめの列は、ソートはしても分類してはいけません。列の式には、コンテンツ・フォームで使用した URL 式の一部分を使用してください。

@Implode(@Explode((Title);" ");"+")

HTML view

他の方法としては、doctitle と呼ばれるコンテンツ・フォームに、この式を隠れたフィールドで使用することです。そして docTitle フィールドを列の式に参照するのです。このテクニックは結果的に、多数の文書があるような状態で、より良いパフォーマンスにつながります。それはビューのインデックスが更新されたとき、ビュー内の各文書の式が再計算されることがないからです。また、@ReplaceSubString 関数も同じ効果を発しますが、それほど速くはないでしょう。

最後に、このビューを通して参照された文書を公開するとき、フォーム式を WebDisplay に設定してあるかどうか確かめてください。これを行うためには、下の画像のように、R4.6 デザイナーでは[ビューのプロパティー] ボックスを、R5.x デザイナーではオブジェクト・ウィンドウを見てください。

Form formula

一度ビューを保存したら、パブリッシング・フォームに表示されている URL にアクセスし、作成した文書を見ることができます。WebDisplay フォームを適用したときに、私たちのサンプルは下の画像のようになります。(ヘッダーとフッターもあります)

Content in a browser
 
上に戻る
 
マルチ言語サポート
多くの企業では、地域的なマーケティング部門が、その地域のユーザーをターゲットとしたコンテンツを作成しなければなりません。この地域の母国語が英語でない地域を想定しましょう。英語で作成されたコンテンツは多くの潜在的なユーザーを見逃してしまい、マルチリンガル・ユーザーへ宛てた社会的なメッセージを送り逃してしまいます。日本にいるコンテンツ所有者はここで説明されたフレームワークを使うことによって、たとえ日本語を話せる Web サイト・デザイナーがいなくても、日本語でコンテンツを作成することができるのです。これは大きな時間とコストの削減につながるでしょう。他にソフトウェアは一切必要としません。あなたのコンテンツ所有者が日本語バージョンのノーツ・クライアントを使用しているのであれば、パブリッシング・フォームを使うだけで、母国語で編集し、保存することができるのです。

あるケースでは、あなたのサイトのデザイン・インターフェースや、アプリケーションのコード化された面をカスタマイズしたいでしょう。この場合、Domino Global Workbench がこれらのデザイン変更を容易にするために必要な自動化を提供します。
 
上に戻る
 
アクセス・フレームワーク
パブリッシング・フォームに、コンテンツ発行者がドミノ・ディレクトリーからグループを選べるようにする、簡単なボタンを追加することで、これらのグループに所属していないユーザーからのアクセスを防止する、読者名フィールドの使用が容易になります。デザインでのこの簡単なステップは、コンテンツ発行者に、誰がコンテンツを見ることができるか、コントロールする能力を与えるものです。

これを実行するためには2つのフィールドを作成します。選択肢にアドレス・ダイアログを使うダイアログ・リスト・フィールド、そして隠れた、計算結果読者フィールドです。フォーム・デザインに管理者(Admin)ロールを含めるほうが良いかも知れません。それはコンテンツ発行者自身がアクセスを許可されていない文書を作成できないようにするためです。データベース ACL (Access Control List) とフォーム・プロパティーに管理者ロールを追加してください。詳細は、R5 デザイナー・ヘルプ に読者フィールドに関する説明文があります。

Dialog list field
 
上に戻る
 
インデックス・ページ
コンテンツ・ページだけで Web サイトは成り立ちません。また、ほとんどのエクストラネットは、初めの「エントリー」、もしくは「インデックス」ページを使用します。インデックス・ページは通常、ユーザーの画面をフルに生かすため、よりいきなスタイルで慎重に作成してあります。これらは多くの場合、複雑なポップアップ・ウィンドウやスクリーン機能を有効利用するために、Web サイト・デザイナーによって管理されています。

しかし、コンテンツ所有者はこのページにリンクを追加したり、ページからリンクを取り除いたりできるようにならなければなりません。これを実行可能にするためには、3つの要素を含んだ簡単なフォームを作成するだけです。
  • ページにリンクとして表示されるテキストを入力する "Title" フィールド。
  • "Title" フィールドのリンク先になっている文書の URL を含む URL フィールド。前のセクションで説明したとおり、この URL はコンテンツ所有者がアクセスできます。
  • ターゲット文書からリンク文書へ読者名をコピーするセキュリティーフィールドは、リンク先になっている対象の文書と同じアクセス権をリンク文書に与えます。これは、最も簡単にコンテンツ編集者が文書にアクセスできるユーザーを再選択できるようにする、フォーム上のボタンになります。より高度な導入方法は、LotusScript や @DbLookup を使用し、オリジナルの文書からこれらの名前を調べてくることもできます。
これが終わったら、1番目の列が、文書上の情報からHTML リンクを作成する式の、ビューを作成してください。次に一例を紹介します。

"<A HREF=\"" + URL + "\">" + TITLE + " </A><BR>"

ページが開かれ、ユーザーに表示されているページのリンクを入力するようになったとき、インデックス・ページの計算結果(computed-for-display)フィールドにこのビューを参照させましょう。これはロータス ドミノに内蔵されたセキュリティーを最大限に有効利用するものです。なぜかと言うと、ユーザーだけにアクセス権があるリンクを、フィールドが返してくるからなのです。結果として、ユーザーがアクセス権のない文書は、ユーザーには絶対に見えないようになります。

これは計算結果式の一例です。

LinkList := @Trim(@DbLookup("":"NoCache";"";" ;lookupview";
"linkcategory1";2));
@If(@IsError(LinkList); "" ; linklist);

これをフォームに埋め込み、インデックス・ページとして表示させることができます。これはその一例です。

Lookup field
 
上に戻る
 
さて次は?
この記事ではコンテンツ発行者に、彼ら自身の Web ページを管理する能力を与えることで、彼らを満足させる方法をお見せしました。この記事のシリーズの次回は、ユーザー管理プロセス全体を完全に自動化し、システム内にユーザーを入れることから、ユーザーにパスワードを与えて正しいグループに所属しているようにすることまで、メンテナンス・コストの削減する詳しい方法をお送りまします。



著者について
アンドリュー・ポーラックはロータス ノーツとドミノの生産ラインで、リリース2の時から働いています。1999 年1月、彼がデザインし、作成したエクストラネット Web サイトで、ロータスの Beacon 賞の "Best Web Solution" 部門の ファイナリストになりました。このサイトはまだ使われており、複数の言語で何千人ものユーザーをサポートしています。アンドリューの企業である Northem Collaborative Technologies は、エンタープライズ・インテグレーションと、完全に統合されたエクストラネットを専門に扱っています。アンドリューとは http://www.thenorth.com、もしくは彼の電子メール、andrewp@thenorth.com でコンタクトを取ることができます。

 
上に戻る