### 19.1 Understanding how OmniHelp works

OmniHelp is an open-source, cross-platform Help system that displays help topics in a way similar to WebHelp or HTML Help. The OmniHelp viewer consists of a set of HTML (or XHTML) and JavaScript files that present the Help content in a tri-pane format, using any browser that meets the following criteria:

- complies with minimum Web standards
- supports framesets
- supports basic CSS1.

OmniHelp output generated from a DITA document consists of the following:

- a set of HTML (or XHTML) topic files
- a set of JavaScript infrastructure files for contents, index, search, related links, and context-sensitive Help.

The display is controlled by a small set (about 40K) of JavaScript files and CSS files.

Help develop OmniHelp

Software developers are invited to contribute to the further development of OmniHelp. The OmniHelp project is officially hosted on SourceForge:

https://sourceforge.net/projects/omnihelp/

The OmniHelp Design Report describes how OmniHelp was designed and built. You can read it here:

http://www.dita2go.com

Modify OmniHelp

Because OmniHelp is not a compiled Help system, you have access to the source code for the viewer, so you can alter its behavior and appearance beyond just the changes you can make by setting DITA2Go configuration parameters. However, to undertake major modifications, you must be conversant in JavaScript, CSS, and HTML 4.

Maintain your modifications

Modifying OmniHelp JavaScript, CSS, or HTML files in the viewer directory can lead to a maintenance problem: you have to check your modified files against the corresponding files in each new release, and merge the changes, which might not be trivial. If you change any ohct*.css, oh*.js, or oh*.htm files, use a utility such as WinDiff (free from Microsoft) to compare your files to the updated files. Check each release for new variables that you can set in the configuration file, to control features that formerly required edits to the JavaScript files; see § New information. Take advantage of any new settings to minimize JavaScript changes.

License OmniHelp

OmniHelp is licensed under the LGPL (Library/Lesser General Public License), which permits its use in commercial products (without requiring those products to also be Open Source) as long as OmniHelp source code, including all modifications, is made available to users:

http://www.gnu.org/copyleft/lesser.html

Previous Topic: 19. Generating OmniHelp

Next Topic: 19.2 Setting up OmniHelp viewer control files

Parent Topic: 19. Generating OmniHelp

Sibling Topics:

19.2 Setting up OmniHelp viewer control files

19.3 Setting up an OmniHelp project

19.4 Using CSS with OmniHelp

19.5 Customizing OmniHelp display features

19.6 Choosing navigation features for OmniHelp

19.7 Configuring contents and index for OmniHelp

19.8 Providing related-topic links in OmniHelp

19.9 Jumping to secondary windows in OmniHelp

19.10 Configuring full-text search for OmniHelp

19.11 Setting up CSH for OmniHelp

19.12 Merging OmniHelp projects

19.13 Assembling OmniHelp files for viewing

19.14 Deploying OmniHelp