Context-Sensitive Help System
Context-sensitive help systems assist users by providing specific informational topics for certain components of a user interface, such as a button or window. This mechanism works based on mappings between a unique ID defined in the topic and a corresponding HTML page.
Generating Context-Sensitive Help
<appContext>
element, as in the following
example:<map productID="oxy-webhelp" productVersion="1.1">
<appContext helpID="myapp-functionid1" path="tasks/app-help1.html"/>
<appContext helpID="myapp-functionid2" path="tasks/app-help1.html"/>
. . .
</map>
The possible attributes are as follows:
- helpID
-
A Unique ID provided by a topic from two possible sources (
<resourceid>
element or@id
attribute):- resourceid
-
The
<resourceid>
element is mapped into the<appContext>
element and can be specified in either the<topicref>
within a DITA map or in a<prolog>
within a DITA topic. The<resourceid>
element accepts the following attributes:- appname - A name for the external
application that references the topic. If this attribute is not
specified, its value is considered to be empty
(
""
). - appid - An ID used by an application to identify the topic.
- id - Specifies a value that
is used by a specific application to identify the topic, but this
attribute is ignored if an
@appid
attribute is used.
Note: Multiple@appid
values can be associated with a singleappname
value (and multiple@appname
values can be associated with a single@appid
value), but the values for both attributes work in combination to specify a specific ID for a specific application, and therefore each combination of values for the@appid
and@appname
attributes should be unique within the context of a single root map. For example, suppose that you need two different functions of an application to both open the same WebHelp page.Example: The
<resourceid>
Element Specified in a DITA MapThe<resourceid>
element can be specified in a<topicmeta>
element within a<topicref>
.<map title="App Help"> <topicref href="app-help1.dita" type="task"> <topicmeta> <resourceid appname="myapp" appid="functionid1"/> <resourceid appname="myapp" appid="functionid2"/> </topicmeta> </topicref> </map>
Example: The
<resourceid>
Element Specified in a DITA TopicThe<resourceid>
element can be specified in a<prolog>
element within a DITA topic.<task id="app-help1"> <title>My App Help</title> <prolog> <resourceid appname="myapp" appid="functionid1"/> <resourceid appname="myapp" appid="functionid2"/> </prolog> ... </task>
For more information about the
<resourceid>
element, see DITA Specifications: <resourceid>. - appname - A name for the external
application that references the topic. If this attribute is not
specified, its value is considered to be empty
(
- id
- If a
<resourceid>
element is not declared in the DITA map or DITA topic (as described above), the@id
attribute that is set on the topic root element is mapped into the<appContext>
element.
- path
- The path to a corresponding WebHelp page. This path is relative to the location of the context-help-map.xml mapping file.
- The XML mapping file can be loaded by a PHP script on the server side. The script
receives the
contextId
value and will look it up in the XML file. - Invoke the cshelp.html WebHelp system file
and pass the
contextId
parameter with a specific value. The WebHelp system will automatically open the help page associated with the value of thecontextId
parameter.cshelp.html?contextId=myDITATopic
Note: ThecontextId
parameter is not case-sensitive.Attention: Prior to version 24.1, the method was to invoke the index.html file. The system still works using this method but it has been deprecated and its functionality will be removed in a future version.
Context-Sensitive Queries
You can use the URL field in your browser to search for topics in a context-sensitive WebHelp system with the assistance of the following parameters:
- contextId
- The WebHelp JavaScript engine will look for this value in the
context-help-map.xml mapping file and load the corresponding
help page.Note: You can use an anchor in the
contextId
parameter to jump to a specific section in a document. For example,contextId=topicID#anchor
. - appname
- You can use this parameter in conjunction with
contextId
to search for this value in the corresponding appname attribute value in the mapping file.http://localhost/webhelp/cshelp.html?contextId=topicID&appname=myApplication
webhelp.csh.disable.topicID.fallback
parameter can be set
true to use a topic ID fallback when resourceid
information is not
available when computing the mapping for context sensitive help.