Symbian Context-sensitive Help Basics
This article provides a general overview about how to create context-sensitive (CS) help files for Symbian.
Symbian has its own context-sensitive help system, which is available on all Symbian devices. The help system allows you to read the whole file in sequence, or to launch Help with the article that is most appropriate to the current application context.
App developers write the help files using an .rtf file template(in Microsoft Word), and compile it to the help file format using the "CS Help compiler":
- Help files consist of a number of topics. Each topics have content (title, body, etc.) and an identifier. The topic identifier can be used by applications to invoke the right help page.
- The "CS Help compiler" is part of the S60 SDK and can be invoked using
- CS Help compiler creates help files based on information contained in a project file (*.cshlp). The project file holds references to all input data required to generate the compiled help file (*.hlp)
The help project file references to the following resources:
- CS Help rich-text source file (rtf). It contains all text to be compiled to the help file. Paragraph styles are recognised by the CS Help compiler.
- Images can be also compiled into CS Help by CS Help compiler. The location of the images must be specified in the project file and referenced in the rtf file
- It is also possible to specify a Customisation file in Help project file. It enables customizing the look and feel of the compiled Help document
The Help compiler generates the following files.
- Compiled CS Help
- Help files must be copied to \resource\help directory on the phone and have the extension "hlp".
- Context header
- This file contains a list of string constants that enables applications to invoke certain topics.
- KIS001302 - Compiling context-sensitive help fails with latest version of Perl
- Microsoft Word 2007 does not work with the RTF templates. It won't work. There are postings about deleting tags that Microsoft adds to the RFT file, but these postings are related to MS Word 2003. Newer versions of word seem to produce a file that is incompatible with rtf2hml and the carbide.c++ console does not reflect the build failure.
- Developers must select protected UIDs (0x00000000 -> 0x7FFFFFFF) for CS help file, because S60 3rd editon and later return an error when loading CS help files with UIDs in the un-protected range (0x80000000 -> 0xFFFFFFFF). Note that the UID of the CS help file can be different from the appliction's UID.