How NetHelp Works

This document explains how NetHelp works. The intended audience is help and application developers.

Summary


NetHelp can be called in two different ways: NetHelp systems for native applications or HTML-based applications differ only in how they are invoked. The same back-end processing is used to process help topic requests.

In both methods, a topic ID is passed to Navigator. For native applications, the ID is passed to Navigator using OS-specific interprocess communication (IPC) methods.  For HTML-based applications, the ID is passed to Navigator using a special nethelp URL.

Navigator looks up the topic ID in a mapping list, which is part of a help project file (HPF file) that specifies help system parameters. Navigator then creates a help window according to the HPF file's specifications, and loads the requested topic.

Process of Calling NetHelp


The following table explains this process in detail:

  Step From a Native Application From an HTML Page
1. User calls NetHelp User clicks a Help button in a dialog box, or presses the F1 key when a menu command is highlighted User clicks a link. This link is a special nethelp URL that can be authored in regular HTML, used in image maps, or attached to buttons via JavaScript
2. Application sends a call to Netscape Navigator The application sends a call to Netscape Navigator, versions 3.0 or later.

This call contains:

  • a request to create the help window
  • a unique "topic ID" based on where in the application the user is, ie. context-sensitivity
  • the location and name of a help project (HPF) file [The HPF file contains a list of ID-to-URL mappings, much in the same way that the mapping section in a WinHelp project file maps topic IDs to context strings]
    The application passes the data to Navigator through the help API This information is supplied as part of the nethelp:URL syntax
3. Navigator receives and examines the passed information Navigator receives this information and examines the specified help project file to find:
  • the location and name (in URL format) of the help topic corresponding to the specified ID
  • the target frame for the help topic URL
  • any optional settings that override the default NetHelp settings (window size, for example)
  • the name of the frameset file for this application's help
  • the version of NetHelp being requested
4. Navigator creates the help window, loading a frameset and other user interface files These files include Table of Contents and Index tools and/or button bars and banners
5. Navigator opens the specified help topic URL in the appropriate frame of the Help window The user sees the help topic opened in the NetHelp window

The following graphic illustrates the process:

Process of Calling NetHelp

Calling NetHelp from a Native Application


This type of help is used in the Netscape Site Manager application, part of the LiveWire 1.0 product. To see an example of calling this type of help, run the Helpdemo application for Windows (HELPDEMO.EXE) included with this SDK. See the section about using the provided test utilities for more information.

This type of NetHelp could be used for any native application, in place of or supplemental to an operating system-specific help engine like Windows Help, Apple Guide, or UNIX manpages.

Calling NetHelp from an HTML Page


More and more developers are taking advantage of the cross-platform nature of Dynamic HTML to provide write once-run anywhere applications. NetHelp provides an ID-mapped, context-sensitive help system for this new breed of applications.

This type of help is used in Netscape server products, such as the Enterprise or Certificate servers. This type of help could be used for any web site or application that uses an HTML interface.

To see an example of calling this type of help, click this link. This link is a simple hypertext link, coded in HTML as:

<A HREF="nethelp:netscape/navigatr:a1">this link</A>
The special nethelp URL takes care of passing the necessary information to Navigator. For more information on the nethelp URL, see the Authoring and Programming sections of the NetHelp 2.0 SDK.


[ HOME ] [ DETAILS ] [ TOOLS ] [ DEVKIT ] [ BUZZ ] [ SPOTLIGHT ]
Copyright © 1997 Netscape Communications Corporation