#### 19.12.4 Deciding when to merge OmniHelp subprojects

You can specify whether to merge all subprojects when a browser first loads the OmniHelp main project, or to merge a given subproject only when a user chooses a link to that subproject. The default is to merge only on demand.

To merge all subprojects when the main project is first loaded:

    [OmniHelpOptions]
    ; MergeFirst = No (default, merge subprojects only when they are
    ;  called on), or Yes (do all merges during initial load,
    ;  takes longer to start up)
    MergeFirst=Yes

Merge at load time

When MergeFirst=Yes, at browser load time the contents and index entries of all subprojects that meet the following criteria are merged with those of the main project:

- The subproject name is listed under [HelpMerge] in the main project configuration file; see §19.12.2 Listing and mapping OmniHelp subprojects.
- The main project’s table of contents includes a merge point for the subproject; see §19.12.3 Providing TOC placeholders for OmniHelp subprojects.
- The subproject files are actually present.

Merge-point entries are quietly removed from the main project table of contents for any subproject whose files are not present at load time. Merging subprojects at load time makes the browser load process significantly slower than just loading the main project. You would not want this option if you are using OmniHelp for context-sensitive help (see §19.11 Setting up CSH for OmniHelp). However, this is the way to go if you distribute non-CSH OmniHelp systems that do not always include all subprojects.

Merge on demand

When MergeFirst=No (the default), at browser load time all subproject merge-point entries are included in the main project table of contents, whether or not the subproject files are actually present. When a user clicks a subproject entry, if the subproject files are present, the subproject contents and index entries are merged with the main project contents and index entries. However, if a user clicks an entry for a missing subproject, that entry disappears from the main project table of contents.

Previous Topic: 19.12.3 Providing TOC placeholders for OmniHelp subprojects

Next Topic: 19.13 Assembling OmniHelp files for viewing

Parent Topic: 19.12 Merging OmniHelp projects

Sibling Topics:

19.12.1 Understanding the OmniHelp merge process

19.12.2 Listing and mapping OmniHelp subprojects

19.12.3 Providing TOC placeholders for OmniHelp subprojects