# Help database structure

## Contents

- Overview
- Database Components

## Overview

This topic discusses, in detail, the structure of an EPOC help database.

## Database Components

An EPOC help database has the following structure

- a database is a collection of topics
- each topic has a title, a body which explains the topic, an application name, and some synonyms to aid in look-up
- topics associated with no particular application are artificially given the application name `General`
- all the topics for a particular application are built into one database; one database may contain topics for one or more applications
- the first few topics in a database have a customised order, so that users can see the most important things first by browsing through the database
- after the first few ordered topics, all other topics are ordered alphabetically, which makes them more suitable for searching than for browsing
- help is not context sensitive e.g. the help system does not automatically associate the desired help information with the currently open program/s.

The database is designed to be searched. Thus, a search on `free form` will produce a list of all help topics with the phrase `free form` in either the title, the synonym list, the body text, or the application name. The application name is stored in the database with an exclamation mark after it, so that a search on `Agenda!` will find only topics whose application name is `Agenda`.

The elements of a topic merit more explanation:

application name | the application associated with a help topic. Stored in an invisible column in the database, with an exclamation mark following. Allows all topics referring to a given application to be found by searching on the name, followed by an exclamation mark. All topics must have an application name. An application name such as `General` is used to describe topics not associated with any application.
title | a single paragraph giving the title of the topic. Topic titles must be unique within the context of a particular application.
body | the body text, description or explanation of the topic. The body can be composed of any number of paragraphs, whose formatting is controlled by paragraph style name. A paragraph may contain ordinary characters, or graphics — see Graphics.
synonyms | other words which a user might use for searching, that are not given in the body text, or title of the topic. Stored in an invisible column in the database, synonyms are used for words that the user may associate with a particular feature, but that may not be required or suitable in the topic’s text, e.g. `diary` for `Agenda`.

The structure is represented by an SGML format which is documented in SGML file format. For a help author, the more relevant format is the RTF source.