Progress
Help Development
Guide
Overview of Online Help Systems
While help strings and ToolTips provide a first line of information for end users, the information they provide is limited. A help system can provide much larger chunks of information to the end user with a much more sophisticated delivery mechanism.
In a help system, help information is stored in a help file that is external to the application’s source code. A help author creates the help file, which is divided into chunks of information called help topics. An application programmer uses the SYSTEM-HELP statement to direct Windows to either display a specific help topic in a help viewer window, or allow the end user to navigate through the help topics in a help file by displaying a Help Topics dialog box.
While a help system should appear to end users as a seamless part of a Progress application, the 4GL’s SYSTEM-HELP statement actually calls a separate Windows application,
winhlp32.exe
.Because the help information is stored in an external help file or files, a help system requires a coordinated effort of information design and application programming. The help author codes, compiles, and tests the help file(s), and the application programmer adds the appropriate Progress 4GL code to the application to invoke the help viewer and display the appropriate help topic when the end user requests help.
A help system consists of three elements:
- Help information—to assist users understand and use an application. The help information for an application resides in one or more help files and is displayed in chunks or units of information called help topics. Each help topic contains information about a single subject. For example, a help topic might describe a dialog box in your application, define a term, give instructions on how to perform a task, or describe a 4GL language element. Each help topic is associated with a unique identifier, called a topic ID.
The help files are binary files, each of which is generated by compiling a set of help source files.
- Help engine—the executable file,
winhlp32.exe
, displays help topics in a help viewer and allows the user to navigate among help topics in a help file. The help engine reads help files and displays help topics in various types of help windows that are defined by the help file. A help window displays a single help topic at a time, while providing features that allow users to navigate between help topics in the help file.The help engine also displays and populates the Help Topics dialog box with information that helps the end user to navigate the help file.
- Help calling interface—the code in an application that allows users to access help information. It calls the help viewer and determines which help topic (if any) to display. Users can request and receive help information using a help keystroke, a help button, or a help menu.
From the end user’s perspective, there are two general ways to access information in a help system:
- Context sensitivity—Context-sensitive help is information that is primarily intended to be accessed “on demand.” Typically, the end user clicks a Help button in a dialog box, presses a help key (usually F1), or clicks the question mark icon to access a help topic that explains the current status or user interface of an application.
- Navigation—A help file can be opened in such a way that the end user is not immediately presented with a specific help topic. For example, the Help Topics item on the Help menu of an application window opens a Help Topics dialog box that allows the end user to access help topics in several different ways.
Help topics containing conceptual information or reference information are typically accessible only through navigation.
Individual help topics can also contain links to other topics that provide related information in the form of definitions and other help topics. Also, help viewer windows usually implement features that allow end users to navigate among help topics in various ways.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |