この章では、Oracle Help for Javaのユーザー・インタフェース・コンポーネントについて説明します。このコンポーネントには、ナビゲータ・ウィンドウ、トピック・ウィンドウ、索引タブ、検索タブ、お気に入りタブなどがあります。
この章には、次のセクションがあります。
Oracle Help for Java (OHJ)のユーザー・インタフェースは、「ヘルプ・ナビゲータ」ウィンドウとヘルプ・トピック・ウィンドウの2つの主要部分で構成されます。「ヘルプ・ナビゲータ」ウィンドウには、トピックを検索するためのコントロールが用意され、ヘルプ・トピック・ウィンドウにはHTMLコンテンツが表示されます。
ユーザーは、図2-1に示すようにウィンドウのドッキングを解除してペインを別個のウィンドウとして表示したり、図2-2に示すようにウィンドウをドッキングして1つのウィンドウ内に表示したりできます。
OHJのヘルプ・トピック・ウィンドウ(ドッキングされている場合はトピック・ペイン)は、HTMLコンテンツを表示します。図2-3に、様々なタイプのHTMLコンテンツが表示されたトピック・ウィンドウを示します。
OHJDKに含まれるデフォルトのHTML表示コンポーネントは、ICEsoft Technologies社製のICEbrowserを特別に実装したものです。ブラウザとそのサポート対象テクノロジの詳細は、http://www.icesoft.com
を参照してください。このコンポーネントは、OHJを使用するヘルプ・システムの一環で使用される場合は無償で使用および再配布が可能です。このHTML表示コンポーネントでは、次の内容をサポートします。
HTML 4.0
Cascading Style Sheets (CSS) 1およびほとんどのCSS 2。CSS 3はサポートされません。
Javaアプレット
Java Media Framework 2.0がサポートするマルチメディア。
JavaScript
スクリーン・リーダー・ソフトウェアのサポート
単一トピックおよび複数トピックの印刷
GIFアニメーション
HTMLを使用したポップアップのサポート
関連リンク。単一の索引語またはフレーズを複数のトピックと関連付けることができます。ユーザーがこのようなリンクのいずれかを選択すると、そのリンクに関連付けられているトピックの一覧が表示され、ユーザーはそのリストからトピックを選択できます。
作成者定義のウィンドウ・タイプ。作成者は背景、テキスト、リンクなどの色、ウィンドウのサイズと位置、ウィンドウのタイトル、ツールバー・ボタンを指定できます。
トピックIDリンク。ハイパーリンク・ターゲットは、URLではなくIDで指定されます。
目次の項目との同期
デフォルトのHTML表示の使用は必須ではありません。別のHTML表示コンポーネントに置き換えることが可能です。また、アプリケーションとヘルプ・システムをWebブラウザのアプレットとして実行する場合は、トピック・ウィンドウとしてブラウザのウィンドウを使用できます。このように、実装されたOHJの表示機能は、作成者が選択してシステムに埋め込むHTML表示に依存します。
ナビゲータ・ウィンドウは、ヘルプ・システムのトピックを移動および検索するためのタブで構成されるコントロールです。デフォルトでは、ナビゲータ・ウィンドウには、「目次」、「索引」および「検索」のタブがあります。作成者は、ヘルプ・システムにパラメータを設定することで、ナビゲータ・ウィンドウの複数の特徴を簡単に制御できます。たとえば、タブのラベルの変更やアイコンの追加が可能です。また、複数の目次(製品ヘルプの目次やチュートリアルの目次など)を表示することもできます。より複雑なシステムの場合、Javaプログラマはカスタム・タブを作成でき、作成者はそれらをナビゲータ・ウィンドウに追加できます。
この節の内容は以下のとおりです。
「目次」タブには、トピックが階層ツリー形式で表示されます。ツリーのコンテンツと構造は、作成者が指定します。ツリーの定義には、複数のファイル形式がサポートされています。
ユーザーが目次のトピック・タイトルをダブルクリックすると、そのトピックがトピック・ウィンドウに表示されます。また、ツールバーのボタンを選択するか、右クリックすると表示されるポップアップ・メニューでコマンドを選択することにより、ユーザーはトピックを新しい別のトピック・ウィンドウに表示できます。
目次ビューには次の機能があります。
目次で選択される(ハイライトされた)項目は、トピック・ウィンドウに表示されたトピックに自動的に同期されます。たとえば、トピックでハイパーリンクをクリックして新しいトピックにジャンプすると、目次での選択項目が前のトピックから新しいトピックに変わります。
階層レベルの数に制限はありません。
ナビゲータ・ウィンドウの項目リストは印刷できます。
「索引」タブには、トピックの関連キーワードのアルファベット順リストが表示されます。キーワードはヘルプの作成者が定義し、目次と同様、リストの指定に複数のファイル形式がサポートされています。
図2-5の数字のコールアウトは、次のユーザー・インタフェース・コンポーネントを示します。
テキスト入力フィールド: ユーザーは単語または句をこのフィールドに入力します。
キーワード・リスト: ユーザーが入力すると、リスト内のキーワードのうち、入力された文字列に一致する最初のキーワードが選択されます。入力する文字が多いほど、より正確な選択が行われます。リストからキーワードを選択することもできます。
トピック・リスト: このリストには、キーワード・リストで選択されたキーワードに関連付けられているすべてのトピックのタイトルが表示されます。表示されたタイトルのいずれかをユーザーがダブルクリックすると、そのトピックがトピック・ウィンドウに表示されます。トピックを選択して「開く」をクリックしても表示されます。
索引には次のような便利な機能が用意されています。
1つのキーワードを複数のトピックに関連付けたり、複数のキーワードを1つのトピックに関連付けできます。
索引の階層は2レベルまでサポートされます。
ヘルプセットをマージすると、統合された1つの索引が作成され、索引全体がアルファベット順にソートされます。つまり、エントリは単に結合されるのではなく、マージされ、再ソートされます。
作成に使用された言語以外の言語に変換された索引は、適切なアルファベット順にソートされます。
まったく同じエントリは縮小され、1つのみが表示されます。
「検索」タブには、ユーザーがテキストを入力して「検索」を選択できるテキスト・フィールドが表示されます。コンテンツに該当の語やフレーズが含まれるトピックのタイトルは、タブの下部にある結果リストに表示されます。ユーザーがタイトルをダブルクリックすると、そのトピックがトピック・ウィンドウに表示されます。
図2-6の数字のコールアウトは、次のユーザー・インタフェース・コンポーネントを示します。
検索テキスト: ユーザーは単語(複数可)をこのフィールドに入力します。完全一致する句を検索する場合は、検索対象の句を二重引用符で囲みます。
大/小文字の区別: このチェック・ボックスを選択すると、ユーザーが入力した語と大/小文字が一致する語を検索できます。
検索: 入力したすべての語を含むか、いずれかの語を含むか、ブール式(AND、OR)を使用した検索を行うかを指定するためのオプション・ボタンが用意されています。
トピック・リスト: 検索条件に一致する各トピックの「ランク」、「トピック・タイトル」および「ソース」を表示する検索結果領域です。「ランク」列には、検索条件にどの程度よく一致したかに基づくトピックのランキングが示されます。すべての列をアルファベットの昇順または降順にソートできます。デフォルトでは、すべてのトピックが「ランク」でソートされます。ユーザーが特定の結果を選択すると、関連付けられているトピックがトピック・ペインに表示されます。
ユーザーは検索時に次のオプションを設定できます。
検索キーワードの大文字と小文字の区別を有効または無効にします。
検索語をすべて含むトピックまたは1つでも含んでいるトピックを表示します。
ブール式(AND、OR)に基づいて検索します。
「検索」タブには次のような便利な機能が用意されています。
結果は、検索条件にどの程度よく一致したかに基づいてランク付けされます。
前に入力した検索条件は保存され、ドロップダウン・リストに表示されます。
結果には、トピックのタイトルとそのソースが表示されます。
ユーザーは、ランク、トピック・タイトルまたはトピック・ソースで結果をソートできます。
検索データベースは、ヘルプ・システムのオーサリング時に生成されます。OHJDKおよびOHJをサポートするその他のオーサリング・ツールには、このデータベースを生成するテキスト検索インデクサと呼ばれるユーティリティが付属しています。検索データベースは、Oracle定義のファイル形式を使用します。検索をクライアントに実装すると、この検索データベースが常に使用されます。独自の検索をサーバーに実装することもできます。たとえば、トピックをOracleデータベースに格納した場合、検索の実行にデータベースのテキスト処理機能を使用できます。
テキスト検索インデクサの詳細は、第11章「テキスト検索インデクサの使用方法」を参照してください。
注意: OHJの使用にOracleデータベースは必須ではありません。 |
ユーザーは「お気に入り」ナビゲータを使用すると、Webブラウザのお気に入り機能のように、ヘルプセットのトピックをお気に入りとしてマークできます。
ユーザーはヘルプセットのお気に入りのトピックを指定して管理できます。
お気に入りのトピックの追加と削除
フォルダやサブフォルダの作成
現在のトピック名のデフォルト・トピック・タイトル名からの変更
ユーザーは「お気に入り」ナビゲータ機能にヘルプ・トピック・ウィンドウの「ツール」メニューからアクセスできます。この場合、お気に入りの追加ダイアログ・ボックスが表示されます。また、「お気に入り」ナビゲータでお気に入りを右クリックしてもアクセスできます。
注意: 「目次」、「検索」または「索引」とは異なり、「お気に入り」ナビゲータを表示するにはメソッドenableFavoritesNavigator() URLを呼び出し、URLにお気に入り情報を格納するファイルfavorites.xml を指定します。詳細は、第13.4項「「お気に入り」タブまたはカスタム・タブの追加」を参照してください。 |
OHJ APIには数多くの機能が用意されていますが、その1つとして、デフォルトのOHJユーザー・インタフェースをカスタマイズできます。たとえば、ナビゲータとも呼ばれるカスタム・タブをJavaでプログラムし、それをナビゲータ・ウィンドウに追加できます。図2-8に、カスタム・タブ「Product Education」を示します。
ヘルプ・トピックとそれに関連付けられている制御ファイルのコレクションをヘルプセットと呼びます。ヘルプセットは実行時にマージできます。つまり、複数の作成者が、作成の完了後にシームレスにマージされる複数のヘルプセットを作成できます。同様に、システム全体を変更せずに、新しいコンポーネントをユーザーのヘルプ・システムに追加できます。
ヘルプセットのマージをサポートする機能は次のとおりです。
「目次」ナビゲータは、マージされたすべてのヘルプセットのコンテンツを含む1つのツリーにヘルプセットをマージします。現時点のOracle Help for JavaおよびOracle Help for the Webでは、「目次」ナビゲータは、ラベルが同じでターゲットが競合しないツリー・ノードをすべてマージします。
索引には、すべてのヘルプセットの索引エントリが、適切にソートされて表示されます。
テキスト検索では、マージされたすべてのヘルプセットが検索対象になります。
作成者は、選択したヘルプセットをツールバーのドロップダウン・リストに表示することを選択できます。これにより、複雑なヘルプ・システムのユーザー表示が簡素化されます。
この実装を使用すると、「目次」タブと「索引」タブには、リストで選択されているヘルプセットの項目のみ表示されます。「検索」でのテキスト検索では、選択したヘルプセットの項目のみ検索されます。
作成者が関連リンクを指定した場合、リンクに関連付けられたトピックのリストには、マージされたヘルプセットの項目が含まれます。
Oracle Help for JavaおよびOracle Help for the Webは、どちらも複数のヘルプセットのTOCファイルをマージして1つのツリーを作成する処理をサポートします。複数のテーブルをマージしてできるTOCは、すべてのツリーを重ね合せた結果に相当します。複数のTOCに同じノード(テキストとターゲット・トピックIDが同じノード)が含まれている場合、そのようなノードは組み合され、元のノードの子をすべて持つ1つのノードになります。
次に示すtoc1.xml
およびtoc2.xml
を使用する2つのヘルプセットがある場合のシナリオについて考えてみます。
toc1.xml
<?xml version='1.0'?> <toc version="1.0"> <tocitem text="1" target="1_topic" /> <tocitem text="2" target="2_topic" > <tocitem text="2.1" target="2.1_topic" /> <tocitem text="2.2" target="2.2_topic" /> </tocitem> <tocitem text="3" target="3_topic" /> </toc>
toc2.xml
<?xml version='1.0'?> <toc version="1.0"> <tocitem text="2" target="2_topic" > <tocitem text="2.2" target="2.2_topic"> <tocitem text="2.2.1" target="2.2.1_topic" /> <tocitem text="2.2.2" target="2.2.2_topic" /> </tocitem> </tocitem> </toc>
図2-10に、toc1.xml
とtoc2.xml
をマージした結果のTOCを示します。どちらにおいても、text=2
である<tocitem>
項目のターゲットが2_topic
であるため、2
のノードは1つしかありません。text=2.2
であるノードについても同様です。
この例では、ヘルプセットの「目次」ナビゲータを定義する<view>
要素にタイトルがないと想定しています。「目次」ナビゲータの<view>
に<title>
が含まれている場合、toc.xml
ファイルで定義されたすべての<tocitem>
項目の親ノードとしてそのタイトルが使用されます。詳細は、第5章「メタデータ・ファイル」を参照してください。
このマニュアルの他では触れられていないOracle Help for Java (OHJ)機能には次のようなものがあります。
OHJのアクセシビリティ機能は次のとおりです。
デフォルトHTML表示コンポーネント(ICEbrowser)も含め、すべてのユーザー・インタフェース機能にキーボードでアクセスできます。このアクセシビリティ機能をサポートするため、OHJに付属のICEbrowserにはOracleによる変更が加えられています。
OHJおよびICEbrowserの最新バージョンは、Freedom Scientific社のJAWS for Windows Screen Readerを使用して動作確認されています。このソフトウェアの詳細は、http://www.freedomscientific.com
を参照してください。
OHJの国際化機能は次のとおりです。
ユーザー・インタフェースのすべてのテキスト文字列はリソース・ファイルに格納されており、翻訳が容易になっています。
ロケールおよびエンコーディングはプログラムで設定できます。
デフォルトのHTML表示コンポーネント(ICEbrowser)は、空白区切りでない言語の折返しをサポートしています。
ヘルプ作成者は、(デフォルトのICEbrowser HTML表示コンポーネントを使用する場合に)HTMLファイルのcharset
をIANAキャラクタ・セット・エンコーディング名を使用して設定できます。
OHJユーザー・インタフェースは、Oracleによっていくつかの言語に翻訳されています。
OHJ Helpシステムの実装には、Java Foundation Class (JFC)のSwingコンポーネントが使用されています。
OHJのアーキテクチャは、オープンでプラガブルです。つまり、検索機能やHTML表示コンポーネントなどのデフォルト・コンポーネントを独自のコンポーネントに置き換えることができます。また、ナビゲータ・タブやHTML表示などのコンポーネントをアプリケーションのユーザー・インタフェースに埋め込み、完全に統合されたヘルプを構成できます。
OHJアプリケーションのクラス・ファイル、制御ファイルおよび目次ファイルはすべてカプセル化して、JAR (Java Archive)ファイルに圧縮できます。ヘルプ・システムを実行する場合、これらのファイルをJARから取り出す必要はありません。