Context-sensitive WebHelp responsive 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
When WebHelp Responsive output is generated, the transformation process produces an XML
mapping file called context-help-map.xml and copies it in the
output folder of the transformation. This XML file maps an ID to a corresponding
HTML page through an
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
(
resourceidelement oridattribute):resourceid- The
resourceidelement is mapped into theappContextelement and can be specified in either thetopicrefwithin a DITA map or in aprologwithin a DITA topic. Theresourceidelement 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 anappidattribute is used.
Note: Multipleappidvalues can be associated with a singleappnamevalue (and multipleappnamevalues can be associated with a singleappidvalue), 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 theappidandappnameattributes 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:
resourceidSpecified in a DITA MapTheresourceidelement can be specified in atopicmetaelement within atopicref.<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:
resourceidSpecified in a DITA TopicTheresourceidelement can be specified in aprologelement 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
resourceidelement, see DITA Specifications: <resourceid>. id- If a
resourceidelement is not declared in the DITA map or DITA topic (as described above), theidattribute that is set on the topic root element is mapped into theappContextelement.
path- The path to a corresponding WebHelp page. This path is relative to the location of the context-help-map.xml mapping file.
productID(Applicable only if you are using the WebHelp Responsive with Feedback transformation scenario)- The ID of the product for your documentation project.
productVersion(Applicable only if you are using the WebHelp Responsive with Feedback transformation scenario)- The version of the product for your documentation project.
There are two ways of implementing context-sensitive help in your system:
- The XML mapping file can be loaded by a PHP script on the server side. The script
receives the
contextIdvalue and will look it up in the XML file. - Invoke the index.html WebHelp system file and pass the
contextIdparameter with a specific value. The WebHelp system will automatically open the help page associated with the value of thecontextIdparameter.index.html?contextId=myDITATopicNote: ThecontextIdparameter is not case sensitive.
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
contextIdparameter to jump to a specific section in a document. For example,contextId=topicID#anchor. - appname - You can use this parameter in conjunction with
contextIdto search for this value in the corresponding appname attribute value in the mapping file.http://localhost/webhelp/index.html?contextId=topicID&appname=myApplication
Another parameter indicates the search query:
- searchQuery - You can use this parameter to perform a search operation when WebHelp is loaded. For example, if you want to open WebHelp showing all search results for growing flowers, the URL should look like this: http://localhost/webhelp/index.html?searchQuery=growing%20flowers.
