# ヘルプ・システムの概要

この章では、ヘルプ・システムの概要を述べ、ユーザ・インタフェースを簡単に説明します。ここでは、ヘルプ情報の構成を示し、ヘルプ・モジュールの作成および処理の方法を解説し、アプリケーション・ヘルプの設計およぴ作成における設計者と開発者の役割を説明します。

HRDC.Intro.mkr.3
HRDC.Intro.mkr.4
HRDC.Intro.mkr.5
HRDC.Intro.mkr.7
HRDC.Intro.mkr.14
HRDC.Intro.mkr.18
HRDC.Intro.mkr.27

## ヘルプ・システムの概要

ヘルプ・システムは、アプリケーション・ソフトウェアのオンライン・ヘルプを開発するための一連のツールを提供します。これにより設計者は、グラフィックとテキストの書式化、ハイパーリンク、およびアプリケーションとの通信を含むヘルプ・システムを作成することができます。

また、オンライン・ヘルプをアプリケーションに統合するためのプログラマのツールキットも提供します。ヘルプ・システムのアプリケーション・プログラム・インタフェースは、２つの特別なヘルプ・ダイアログ、およびオンライン・ヘルプ・モジュールの表示、ナビゲート、検索、および印刷に使用するサポート・ルーチンを提供します。

### 開発者のツールキット

ヘルプ・システム開発者のツールキットには、オンライン・ヘルプの記述、処理、および表示を行うためのツールと、アプリケーション・プログラム用のライブラリが含まれています。

#### 設計者用ツールキット

- DocBook マークアップ言語 オンライン・ヘルプの構成と内容をマークするためにテキストファイルで使用するタグのセット

- DocBook ソフトウェア 作成したDocBookファイルを変換して、実行時のヘルプ・ファイルに書き込むためのソフトウェア・ツールのセット

- ヘルプ表示アプリケーション オンライン・ヘルプを表示して、ユーザと同じようにそれを読んだり対話したりできるようにするビューア・プログラム

オンライン・ヘルプの作成および処理の詳細については、HRDC.OrgH.mkr.1を参照してください。

##### アプリケーション開発者用ツール

- DtHelp プログラミング・ライブラリ ヘルプ・ウィンドウをユーザのアプリケーションへ統合するためのアプリケーション・プログラム・インタフェース (API)

- プログラム例 ヘルプ・システムを Motif アプリケーションへ統合する方法を示す単純な例 (HRDC.Intro.mkr.28を参照してください)

アプリケーションのプログラミング・ライブラリについては、第8章から第12章で説明します。

## オンライン・ヘルプの概要

コンピュータのハードウェアおよびソフトウェアの機能をすべて覚えることは不可能です。多くのコンピュータ・ユーザは、何度かヘルプを必要とすることがあるはずです。

オンライン・ヘルプは印刷されたマニュアルと異なり、その場ですぐ参照できる点で優れています。もっとも重要なのは、ユーザの現在のコンテキストの情報に適応できるようにするという点です。コンテキスト依存ヘルプは、ユーザが行っている作業に対応するヘルプを提供します。 オンライン・ヘルプを開発するときは、ユーザがその場の状況に応じてあらゆるヘルプを必要とすることに注意してください。 ユーザの疑問を予測することによって、論理的かつ直観的に応答するアプリケーション・ヘルプを設計することができます。

## ヘルプ・インフォメーション・モデル

オンライン・ヘルプには次の２つの形式があります。

- アプリケーション・ヘルプ Motifアプリケーションに統合されたヘルプの一部として機能します。

- スタンドアロン・ヘルプ あらゆるアプリケーション・ソフトウェアに依存せずに、タスク、リファレンス、チュートリアル情報にオンラインでアクセスできるようにします。

アプリケーションのオンライン・ヘルプを開発する場合、情報をアプリケーションでのみアクセスできるように構成できます。あるいはスタンドアロン・ヘルプのように、アプリケーションの外からでも情報をブラウズできるように設定できます。

### アプリケーションの一部

ヘルプ機能により、アプリケーションとそのオンライン・ヘルプを高度に統合できます。ユーザの見地からみれば、ヘルプはアプリケーションの一部ということになります。これによって、ユーザとユーザが参照するヘルプとの間にあるアプリケーションの「距離」が縮まります。

アプリケーションの近くにあるということは、オンライン・ヘルプが使いやすく、要求に迅速に対応できるということです。

### ヘルプの種類

オンライン・ヘルプは、次の３種類に分類されます。

- 自動ヘルプ ヘルプが必要なとき、および表示する内容をアプリケーションが決定します。システム起動ヘルプとも呼ばれます。

- 半自動ヘルプ ヘルプが必要かどうかはユーザが判断しますが、表示する内容はシステムが決定します。このヘルプはユーザの操作または[F1]キーを押すなどのヘルプ要求によって起動されます。どの情報を表示するかはユーザの現在のコンテキストによって決められるため、こうしたシステムの応答はコンテキスト・ヘルプと呼ばれます。

- 自動ヘルプ ヘルプ・メニューなどからユーザが特定の情報を要求します。

### ユーザがヘルプを獲得する方法

ユーザはいくつかの方法でヘルプを要求できます。多くのアプリケーションが、ヘルプ・メニュー、ヘルプ・キー、およびダイアログ・ボックスのヘルプ・ボタンを提供しています。

#### ヘルプ・キー

多くのアプリケーションでユーザがまず使用するのは、ヘルプ・キーを押す方法です。最近では、多くのワークステーションおよびパーソナル・コンピュータにおいて、[F1]ファンクション・キーが事実上の標準ヘルプ・キーとなっています。

『CDE/Motif スタイル・ガイドおよび認証チェックリスト』では、ヘルプ・キーとして[F1]キーを使用することと、Motif アプリケーションでのヘルプ・キーの使用を容易にするような内部処理を提供する Motif プログラマ・ツールキットを使用することを推奨しています。

一部のコンピュータは、キーボード上にヘルプ・キーを備えています。

#### ヘルプ・メニュー

ヘルプ・メニューはヘルプ情報にアクセスするための一般的な方法です。Motif アプリケーションは、ヘルプ・メニューを提供しており、メニュー・バーの右端に表示されます。CDE/Motif スタイル・ガイドおよび認証チェックリストでは、ヘルプ・メニューに含めるコマンドについて推奨しています。

##### アプリケーションのヘルプ・メニュー

#### ヘルプ・ボタン

ほとんどのダイアログ・ボックスに、ダイアログでヘルプを表示するためのヘルプ・ボタンがあります。CDE/Motif スタイル・ガイドおよび認証チェックリストでは、ダイアログ・ボックスでヘルプ・ボタンを選択することは、そのダイアログ・ボックスを使用中にヘルプ・キーを押すのと同じであると述べています。ただし、複雑なダイアログ、すなわちダイアログ・ボックス内で個々のコントロールがヘルプを持つような場合は例外です。

## ヘルプ・ユーザ・インタフェース

この節では、ヘルプ・システムが提供するグラフィカル・インタフェースの概要を説明します。ヘルプの機能の詳細については、共通デスクトップ環境 ユーザーズ・ガイドを参照してください。対応するオンライン・ヘルプを表示するには、デスクトップのフロントパネルのヘルプ・ビューア (hrdc.crhv.mkr.12を参照してください) を開きます。それから、[デスクトップの紹介]および[ヘルプの使い方]を選択します。

アプリケーションの使用中、ヘルプ・キーを押すかアプリケーションのヘルプ・メニューを選択することにより、ユーザはヘルプを要求できます。また、ヘルプ・システムを統合したアプリケーションをインストールできるので、デスクトップのヘルプ・ビューアからそれぞれのヘルプ・モジュールにアクセスできます。これにより、複数のアプリケーションが提供するヘルプ情報をブラウズする場合でも、各アプリケーションを実行せずに行うことができます。

### ヘルプ・ウィンドウ

ユーザが要求すると、ヘルプ・システムはヘルプ・ウィンドウを表示します。ヘルプ・ウィンドウには、一般ヘルプと簡易ヘルプの２種類があります。一般ヘルプ・ウィンドウは、メニュー・バー、トピック・ツリー、およびトピック表示領域から構成されます。トピック・ツリーはユーザが選択できるヘルプ・トピックの一覧です。ウィンドウの下部（トピック表示領域）には選択されたトピックが表示されます。

簡易ヘルプ・ウィンドウは無駄を省いたヘルプ・ウィンドウです。トピック表示領域とひとつ以上のダイアログ・ボタンしか表示されません。このウィンドウは、定義などの短い組み込み情報の表示によく利用されます。

#### 一般ヘルプ・ウィンドウと簡易ヘルプ・ウィンドウ

### ハイパーリンク

ヘルプ・トピックには、関連するヘルプ情報へ「ジャンプ」するハイパーリンクがしばしば含まれています。テキストとグラフィックの両方をハイパーリンクとして使用できます。 HRDC.Intro.mkr.8は、ハイパーリンクの識別に使用されるスタイルのフォーマットを示しています。

実線の下線または破線の下線は、ハイパーリンクである語または句を示します。実線の下線、つまり標準ハイパーリンクがもっとも一般的です。ハイパーリンクを選択すると、関連するトピックが表示されます。ハイパーリンク・トピックを現在のヘルプ・ウィンドウと新規ウィンドウのどちらに表示するかは、設計者が指定します。破線の下線は定義リンクを示します。これを選択すると、関連するトピックが簡易ヘルプ・ウィンドウに表示されます。グレーの隅の開いている枠（破線または実線の枠）は、グラフィック・ハイパーリンクを示します。

#### グラフィック・ハイパーリンクとテキスト・ハイパーリンクの形式

### ヘルプ・ナビゲーション

HRDC.Intro.mkr.9のトピック・ツリー
は、現在のヘルプ・ボリュームのトピックのリストです。リスト最上部にある最初のトピックは、ホーム・トピックで、ヘルプ・ボリュームの先頭です。矢印（→）は現在のトピックを指し、ヘルプ・ボリュームにおけるユーザの位置を示します。

#### 一般ヘルプ・ダイアログ・ボックスのトピック・ツリー

ヘルプ・トピックを表示するには、トピック・ツリーのタイトルか、トピック表示位置のハイパーリンクを選択します。表示をスクロールして任意のトピックを選択することにより、トピックの概要をブラウズできます。ナビゲーション・コマンドにより、前のトピックまたはヘルプ・ボリュームの先頭に戻ることができます。

#### ヘルプ・ナビゲーション・ボタン

一般ヘルプ・ダイアログには、[前のトピックへ]、[ヒストリ]、[索引]の３つのダイアログ・ボタンがあります。これらの機能は、メニュー項目の選択にも使用できます。

- [前のトピックへ] 前のトピックに戻ります。先に参照したトピックに戻るには、希望のトピックが表示されるまで[前のトピック]ボタンを繰り返し押します。

- [ヒストリ] [ヒストリ]ダイアログ・ボックスを表示します。これはヘルプ・ボリュームとすでに参照したトピックをリストします。リストにある任意のトピックに戻るには、そのタイトルを選択します。

- [索引] [索引検索]ダイアログ・ボックスを表示します。これは設計者が索引エントリとしてマークした語句をすべてリストします。索引エントリを選択し、表示されたトピックのいずれかを選択すると、一般ヘルプ・ダイアログにそのトピックが表示されます。 HRDC.Intro.mkr.10

デスクトップのフロントパネルからヘルプ・ビューアを使用する場合、一般ヘルプ・ダイアログに[トップレベル]という追加ダイアログ・ボタンがあります。別のヘルプ・ボリュームを参照した後、このボタンを選択してデスクトップ・ブラウザ・ヘルプ・ボリュームのトップレベルに戻ることができます。

### ヘルプ・メニュー

一般ヘルプ・ダイアログのメニュー・バーには、[ファイル]、[編集]、[検索]、[ナビゲート]、[ヘルプ]の5つのメニューが表示されます。[検索]メニューと[ナビゲート]メニューには、前記した[索引]ボタンとナビゲーション・ボタンで使用するコマンドがあります。また、[ナビゲート]メニューには、ヘルプ・ボリュームの先頭に戻るための[ホーム・トピック]コマンドがあります。その他のメニューは次の機能を提供します。

- [ファイル]メニュー ヘルプ・ウィンドウの複製、ヘルプ・トピックまたは現在のヘルプ・ボリュームの印刷、ヘルプ・ウィンドウのクローズ

- [編集]メニュー ヘルプ・ウィンドウから他のアプリケーションへのテキストのコピー

- [ヘルプ]メニュー ヘルプ・ダイアログの機能とその使い方に関するヘルプ情報の提供

### ヘルプ索引

ヘルプ・ボリュームには、ユーザがサブジェクトのヘルプ・トピックを検索できるように、重要な語句の索引が入っています。ユーザは現在のボリューム、選択したボリューム、またはシステムで使用できるすべてのヘルプ・ボリュームの索引をブラウズまたは検索できます。*（アスタリスク）および ?（疑問符）などの正規表現もトピックの検索に使用できます。対応するヘルプ・トピックを表示するには、索引エントリを選択します。

#### [索引検索]ダイアログ・ボックス

[ヘルプ索引]は一度に表示するには多すぎるる場合があるので、表示されていない索引エントリがまだあったり、全部が表示されている場合もあります。+（プラス）または -（マイナス）の符号は表示されていない索引エントリがまだあるのかないのかを示します。マイナス符号はエントリのすべてが表示されていることを示し、プラス符号はまだ表示されていないエントリがあり、索引エントリを表示できることを示します。

図HRDC.Intro.mkr.12において、-36の符号は、36個の索引エントリが表示されていることを意味しています。+3の符号は、表示されていないエントリがまだあることを示します。表示されていないエントリを選択するとリストが展開され、+ 符号が - 符号に変わります。この図の最後の索引エントリは、このようにして表示されたエントリです。

#### 索引エントリ符号

### ヘルプからの印刷

#### [印刷]ダイアログ・ボックス

## ヘルプ・トピックの構成

設計者は、ヘルプ情報を論理フレームワークで構成します。例外はありますが、トピックの概略または階層を示す形式がほとんどです。 HRDC.Intro.mkr.15に示すトピックの階層は、メイン・レベル、３つのセクション、およびそれに従属するトピックから構成されています。 [ヘルプ]は、階層から成る情報に最適化されていますが、必要に応じて任意の構成にすることができます。

### トピックの階層

### ヘルプ・トピック

ヘルプ・トピックは固有のIDで識別される情報の単位です。ヘルプ・システムが提供する一連のタグは、ヘルプ・トピックをマークし、構造的なフレームワークを作成するために使用されます。ヘルプ・ビューアは、ヘルプ・システムの一部で、ヘルプ・トピックに直接アクセスし、それを表示することができます。

###
ヘルプ・ボリューム

ヘルプ・ボリュームは、アプリケーションまたは特定のサブジェクトを記述するトピックの集まりです。アプリケーションのヘルプを開発する場合、一般にはアプリケーションごとにひとつのヘルプ・ボリュームがあります。ただし、複雑なアプリケーション、または関連するアプリケーションの集まりについては、複数のヘルプ・ボリュームを使用することもあります。

###
ヘルプ・ファミリ

ソフトウェアは、プロダクト・ファミリとして認識される一連の関連アプリケーションとして使用できます。たとえば、オフィスで使用されるアプリケーションには、ワードプロセッサ、スプレッドシート、描画プログラムなどがあります。各アプリケーションには独自のヘルプ・ボリュームがあるので、関連するヘルプ・ボリュームをヘルプ・ファミリとしてグループ化するようになっています。ヘルプ・ファミリには、単一のヘルプ・ボリュームまたは複数のボリュームが入っています。

ヘルプ・ボリュームをヘルプ・ファミリにまとめるかどうかは任意です。フロントパネルのヘルプ・ビューアなどのヘルプ・ブラウザでヘルプをブラウズできるようにする場合にのみ必要です。

ヘルプ・ファミリ・ファイルとその使い方については、HRDC.CrHV.mkr.11を参照してください。

### ヘルプ索引ボリューム

デスクトップは、システムにインストールされたヘルプを表示する検索ボリュームと呼ばれる特別なヘルプ・ボリュームを提供します。フロントパネルのヘルプ・ビューアをクリックすると、 HRDC.Intro.mkr.17の HRDC.Intro.mkr.17に示す検索ボリュームが表示されます。

これは、ヘルプ・ファミリ（下線の付いた名前）とヘルプ・ファミリのメンバである任意のボリュームを表示します。

#### 索引ヘルプ・ボリューム

索引ボリュームにより、アプリケーションを使用せずにアプリケーション固有のヘルプにアクセスできます。また、スタンドアロン・ヘルプを書く場合は、ヘルプを使用するための唯一の手段がこの索引ボリュームを使用する方法です。ヘルプ・ボリュームがひとつしかない場合は、ヘルプ・ビューアでブラウズできるヘルプ・ファミリに属していなければなりません。

HRDC.CrHV.mkr.8では、ファミリ・ファイルの作成方法と、索引ボリュームからヘルプ・ボリュームにアクセスできるようにするためにユーザが行うべき作業について説明しています。

## 設計者が行う作業

オンライン・ヘルプの記述は紙のマニュアルの記述とは異なるため、対象ユーザ、情報へのアクセス方法、アプリケーションと情報との合致という点に留意することが重要です。

### オンライン・ヘルプの目的

良質のオンライン・ヘルプの設計には、次の２つの重要な目的があります。

- ユーザができるだけ早く、かつ正常に作業に戻ることができるようにすること。

- ユーザがいずれヘルプなしでも作業できるように教育すること。

これらに目標を置けば、最適なヘルプは何か、必要な情報は何かを判断するのに役立ちます。

### 対象となるユーザ

何を書く場合でも、対象となるユーザとそのユーザが必要としている情報を理解することが大切です。特に、オンライン・ヘルプでは、ユーザが行おうとしている作業と、起こりうる問題について認識しておくことが重要です。

### ヘルプへのアクセス方法

ユーザを正しく認識するのと同時に、ユーザがどのようにヘルプにアクセスするのかを理解することが重要です。

#### アプリケーションのヘルプ

アプリケーションのヘルプを記述する場合は、ブラウズできるトピックと、コンテキスト・ヘルプとしてアプリケーションから使用できるトピックをそれぞれ決めることが必要です。トピックをナビゲートできる場合は、トピック・ツリーまたはハイパーリンクを使用してトピックをブラウズできます。排他的なコンテキスト・ヘルプに指定されているトピックは、アプリケーションの特定のコンテキストからしかトピックを表示できないため、ブラウズできません。

アプリケーションのヘルプ・ボリュームを登録するかどうかも決める必要があります。登録されたヘルプ・ボリュームは、他のアプリケーション（ヘルプ・ビューアなど）によっても表示でき、より広範囲な情報へのアクセスが可能になります。ヘルプ・ボリュームにあるトピックへの別のヘルプ・ボリュームからのハイパーリンクが含まれている場合は、そのヘルプ・ボリュームを登録してください。

アプリケーションのインストールと登録の詳細については、HRDC.Inst.mkr.9を参照してください。

#### スタンドアロン・ヘルプ・ボリューム

スタンドアロン・ヘルプ・ボリューム（アプリケーションに対応付けられていないヘルプ・ボリューム）を記述する場合は、別の方法で行うことができます。

まず記述したすべてのトピックをユーザが使用できるようパスを設定しなければなりません。つまり、すべてのトピックが、少くともひとつのハイパーリンクによってブラウズできなければなりません。また、ヘルプに対応付けられているアプリケーションがないため、ヘルプ・ボリュームの表示は、（[ヘルプ・ビューア]のような）ヘルプ・ビューアに依存しなければなりません。

### ヘルプの表示方法の評価

アプリケーションは種類が異なるヘルプを取り入れることができます。この場合、アプリケーションに最適なヘルプの種類がどれかを判断することが重要になります。たとえば、同じヘルプ情報でもさまざまな方法で表示されることがあります。その選択には、主要な機能、チュートリアル、例、作業指示、ショートカット、トラブルシューティング、リファレンス情報、用語集、ハード・コピーの参照、またはその他のオンライン・マニュアルがあります。ヘルプ・ボリュームは、異なる表示を組み合わせることもあります。

### アプリケーション・プログラマとの協力

アプリケーションのヘルプを記述する場合は、アプリケーション・プログラマと密に連絡をとるべきです。ヘルプ・システムをどの程度アプリケーションに統合するかは設計仕様によります。

アプリケーションとそのヘルプの結び付きが弱い場合には、アプリケーションが直接表示できるトピックはほんの一握りです。しかし、簡単に実装できます。

対照的に、アプリケーションのあらゆる状況に対応する特定のヘルプを提供できるアプリケーションもあります。これには多くの作業を必要としますが、それさえできればユーザにとっては非常に便利です。

ヘルプの結合レベルを決定するのは、設計者とそのプロジェクト・チームです。

## 設計者のワークフロー

ヘルプの設計が終わったなら、ヘルプ・ボリュームを作成するためのヘルプ・トピックを作成し、処理します。必要な作業は、次のとおりです。

- ヘルプ・トピックの記述

- 実行時のヘルプ・ファイルの作成

- ヘルプ・ボリュームの表示

### DocBook によるヘルプ・トピックの記述

オンライン・ヘルプは通常のテキスト・ファイルで記述されます。情報の要素をマークアップするには、特別なコード、すなわちタグを使用します。タグは、DocBook と呼ばれるマークアップ言語を形成します。

DocBook マークアップ言語は、章、セクション、サブセクションなどハイレベルの要素と、段落、リスト、強調語などロウレベルの要素とを判別する、要素の階層を定義します。

HRDC.OrgH.mkr.4 では、マークアップの使い方について簡単に示しています。

#### 正規マークアップ

正規マークアップとは、設計者が使用できる SGML (Standard Generalized Markup Language) によって、完全に SGML に準拠したヘルプ・トピックを作成することです。この場合は、すべての要素の最初と最後にタグを付けなければなりません。また、各要素の構造にも明示的にタグを付けなければなりません。したがって、正規マークアップを使用するとタグの数が非常に多くなります。標準エディタで正規マークアップを入力することもできますが、構造化エディタの使用を推奨します。

##### 構造化エディタ

構造化エディタと呼ばれる新しいツールが、SGML マークアップを効率よく作成するために使用できるようになりつつあります。典型的には、構造化エディタではコンテキスト・メニューを提供します。つまり、メニューに表示される要素が、ドキュメントのカーソルの位置に基づいて動的に変更されます。

たとえば、リストを入力する場合は、メニューにはリスト要素のコンテキストで有効な要素だけが含まれます。この組み込み「知能」によって、設計者は簡単にマークすることができます。

設計者が、セクション、ヘッダ、リストなどの要素を選択すると、エディタはそれに対応する開始、終了、および任意の中間構造タグを生成します。たとえば、設計者が章という要素を選択すると、この要素が必要とする中間タグをエディタが自動的に挿入します。編集者は、単に章のタイトルを入力すればよいのです。生成されたタグの表示は任意であり、設計者はタグを表示しないようにすることもできます。

##### 正規マークアップの使い方

正規マークアップを使う場合は、最初に第２部 設計者が行う作業を読んで、DocBook 要素の設定を理解してください。

HRDC.Sgml.mkr.1 HRDC.Sgml.mkr.1では、文書型定義 (DTD) の主要なコンポーネントを説明し、正規マークアップの作成方法を示します。完全な DocBook 文書型定義 (DTD) は、共通デスクトップ環境 DocBook 文書型定義ガイドにあります。

開発者キットには、DocBook 文書型定義 (DTD) が入っています。ファイルは、`/usr/dt/dthelp/dtdocbook/SGML/docbook.dtd`ディレクトリにあり、`DocBook.dtd`という名前です。

#### 関連項目

- 共通デスクトップ環境 DocBook 文書型定義ガイドは、主要なタグの詳細な説明を、アルファベット順で示しています。

- HRDC.Sgml.mkr.1は、正規マークアップについて説明しています。

- `docbook.dtd(4)` マニュアル・ページ

### 形式ではなく構造を考える

他のパブリッシング・システムに精通している場合は、情報を好きな形式にすることに慣れているはずです。DocBook を用いて設計するときは、形式ではなく構造と内容を考慮することが重要です。

記述するときは、ある種の情報をマークするのにタグを使います。マークするときには、どのような情報であるかを識別しますが、それをどうフォーマットすべきかは識別しません。

たとえば、次のようなマークアップ行を含む本のタイトルを参照するとします。

    <CiteTitle>System Administrator's Reference Guide</CiteTitle>

ここでは、構造と内容が形式とは関係ないので、異なるシステムが同じ情報を異なる形式で使用できるようになります。たとえば、ヘルプは本のタイトルをイタリック体で表示します。しかし、システムによっては、イタリック体は使えず、本のタイトルにはアンダーラインが引かれます。

### 実行時のヘルプ・ファイルの作成

実行時のヘルプ・ファイルを作成するには、記述したテキスト・ファイルを DocBook ソフトウェアで「コンパイル」しなければなりません。それは、ユーザがヘルプを要求したときにアクセスする実行時のヘルプ・ファイルとなります。実行時のファイルは、Semantic Delivery Language (SDL) 形式を使用します。この言語は、オンライン情報のデリバリ専用に設計された SGML 文書型定義に基づいています。

ヘルプ・システムは、デスクトップの動作と、ヘルプ固有のファイルのデータ型を定義します。これにより、ヘルプ・ソース・ファイルのアイコンを選択し、ファイルを処理するメニュー・コマンドを選択することにより、デズクトップから簡単に実行時のファイルを作成できます。実行時のヘルプ・ファイルの識別には、
`.sdl` という拡張子を使用します。処理中にエラーが発生すると、エラー・ファイル (volume`.log`) に通知されます。

実行時のヘルプ・ファイルの作成の詳細については、HRDC.CrHV.mkr.2を参照してください。デスクトップの動作とデータ型に関する一般的な情報については、共通デスクトップ環境 上級ユーザおよびシステム管理者ガイドを参照してください。

### ユーザを想定したヘルプのレビュー

設計中に、ヘルプを表示させて読者と同じように対話する必要が生じることがあります。その場合、デスクトップからヘルプ・ボリュームを表示させるには、実行時のヘルプ・ボリューム (volume.`sdl`) のアイコンをダブルクリックします。あるいは、`dthelpview` コマンドを使用して任意のトピックを表示することもできます。 HRDC.CrHV.mkr.1で、両方の方法を説明します。

アプリケーション・ヘルプを書いていて、ヘルプ・システムがアプリケーションに統合されている場合は、アプリケーションを実行して、ユーザと同じ方法でヘルプを要求することにより、ヘルプを表示することができます。

## プログラマが行う作業

プログラマは、ユーザがコンテキスト・ヘルプを要求したときに、そのときのアプリケーションの動作に関するヘルプ情報が表示されるように、アプリケーションにコードを追加します。

`/usr/dt/share/examples/dthelp` ディレクトリには、`dthelpdemo` というプログラム例のソースコードがあります。Motif アプリケーションへのヘルプ・ダイアログを追加する方法を示すものです。

### ヘルプのアクセス方法

ユーザに役立つ情報を提供するには、次のことを考慮することが必要です。

- 一般に起こりうる混乱状況は何か。このような状況で、有効なヘルプを提供すれば、ユーザは時間を浪費せずに済みます。

- 後でも先でもなく今、ユーザがヘルプを必要としているのはなぜか。実行するステップが複数あり、ユーザがその最初のステップにない場合は、そのステップに固有のヘルプ情報へ分岐しなければなりません。こうしたほうが、各ステップごとに同じヘルプ情報を表示するよりずっと役立ちます。ユーザが最初のステップにある場合は、最初のステップの詳細な情報も、全ステップの概要もわかるようにしなければなりません。

- ユーザはコンテキスト・ヘルプを要求しているのか、それとも単にヘルプ情報をブラウズしているだけなのか。コンテキスト・ヘルプを要求している場合は、現在行われている作業に関連した情報を提供しなければなりません。

### ヘルプの設計者との協力

オンライン・ヘルプの設計者は、各コンテキスト・トピックを表示する方法を知りたがっており、プログラマは各コンテキスト・トピックの内容を知りたがっているので、プログラマは設計者と密に連絡をとることが必要です。双方の協力がないと、情報は不適切で、曖昧で、誤りのあるものとなります。

こうした協力により、プログラマはアプリケーションを理解し、設計者は情報をユーザへどのように伝えたらよいかを理解できます。

### ヘルプのエントリ・ポイントの識別

ヘルプのエントリ・ポイントを設定することにより、アプリケーションでオンライン・ヘルプが使えるようになります。エントリ・ポイントは、アプリケーションで定義され、特定のヘルプ・トピックに対応付けられています。ユーザが、[ヘルプ]キー、[ヘルプ]ボタン、[ヘルプ]メニューのいずれの方法によってヘルプを要求しても、エントリ・ポイントが表示されます。たとえば、[ヘルプ]ボタンを備えた印刷ダイアログ・ボックスを想定します。設計者は、ダイアログ・ボックスの内容を説明するヘルプ・トピックを記述し、トピックのIDを提供します。そこで、ユーザはコールバック・ルーチンを使用して、[ヘルプ]ボタンでヘルプ・トピックのIDを指定できます。

### ヘルプ・ダイアログの作成と管理

ヘルプ・システムのアプリケーション・プログラム・インタフェースは、特に、Motif アプリケーションで使用するように設計されています。特に、このヘルプでは、次の２つの新しいウィジェット・クラス（およびこれらを処理するために便利な機能を加えたもの）を提供することにより、Motif ウィジェット・セットを拡張しています。

- 一般ヘルプ・ダイアログメニュー・バー、トピック・ツリー、ヘルプ・トピック表示領域を備えたヘルプ・ウィンドウを提供します。

- 簡易ヘルプ・ダイアログトピック表示領域といくつかのダイアログ・ボタンを備えた簡素なヘルプ・ウィンドウを提供します。

アプリケーションでは、上記のいずれか、または両方を使用できます。アプリケーションを（ヘルプ・ライブラリとともに）コンパイルすると、ヘルプ・ウィンドウがアプリケーションの一部になります。

HRDC.CrDia.mkr.1で、一般ヘルプ・ダイアログ・ボックスと簡易ヘルプ・ダイアログ・ボックスを説明します。

### パッケージとヘルプの割り当て

プロダクト・パッケージには実行時のヘルプ・ファイル (volume.`sdl`) とグラフィック・ファイルが入っています。また、フロントパネルのヘルプ・ビューアでボリュームを表示できるようにするヘルプ・ファミリ・ファイルも作成できます。

ヘルプ・ボリュームが実行リンクを使用する場合、適切な実行リンク・リソースをアプリケーションのデフォルト・リソース・ファイルに入れるよう設計者と協力しなければなりません。 HRDC.Inst.mkr.1で、アプリケーションに、どのヘルプ・ファイルが割り当てられるかを説明します。