Navigation:  More Advanced Procedures > Working with Modular Help Systems >

Publishing modular projects

Print this Topic Previous pageReturn to chapter overviewNext page
Show/Hide Hidden Text

When you are publishing modular projects to HTML Help and the obsolete Winhelp format the procedure depends on the merging method you are using for your child modules. If you are using runtime merging you must publish all the child projects separately, they are not published automatically when you publish the master project.

All other output formats only use publish time merging.

Generating output with publish time merging

When you use publish time merging all the child modules of the master module are combined. You only need to compile the master file, all child modules are included automatically in a single compile run.

In Winhelp and HTML Help publish time merging is an option that you can select for each module in your master project. All other output formats always use publish time merging.

In all other formats publish time merging is always used for all modules. All modules will always be compiled together with the main project as one large project.

Generating output with runtime merging

Runtime merging is only possible for Winhelp and HTML Help. It is irrelevant for all other output formats. Runtime merging is an option that you can select for each module in your master project.

Modules configured for runtime merging must be published individually, they are not published automatically when you publish the master module!

1.Check your master project for child projects configured for runtime merging they are easy to identify because their contents are not displayed as part of the master project's TOC.


 Display for a project inserted
 with runtime merging

2.Right-click on the runtime modules, select Edit Child in the context menu, then select the child projects in the Project Explorer and publish them.

If any of your child modules contain their own child modules configured for runtime merging these must also be published separately.

3.Compile the master module.
4.Copy all the compiled help files to the same directory if you have not compiled them to the same directory.
Settings controlled by the master project in publish time merging

When you use publish time merging almost everything is controlled by the master project. The settings of the child projects are ignored and replaced by the settings of the master project. However, if settings in the child projects are unique and not duplicated in the master then they will be used:

Project search paths:

Project search paths defined in the child projects that are not defined in the master project are added to the end of the master project's list of paths. When inserting a graphic or a  snippet file Help & Manual then searches through all the paths in order and inserts the first file it finds with a matching name. This means you must be careful not to use files with duplicate names in your child projects.

User-defined variables:

If child projects contain user-defined variables with names that are not used in the master project the definitions in the child projects will be used. However, if the master project contains variables with identical names then the definitions from the master project will be used.

Custom include options:

If a child project contains user-defined include options not defined in the master project they are available in publish time merging.

HTML topic page templates:

The HTML topic page templates of the master project replace all child project templates that have the same names. For example, this means that the Default template from the master project template is always used in all child modules, replacing any template changes that may have been made in the child projects.

If child projects contain HTML page template definitions with names not used for templates in the master project then these HTML page templates will be used in the child projects.

For example, if you have defined an HTML page template called Secondary in your child module it will be used in the child module if there is no HTML page template called Secondary in the master module.

However, if the master module contains a template called Secondary then the master's version will be used in the child module as well and the version defined in the child module will be ignored.

Baggage files:

Baggage files in the master project have priority over Baggage files with the same name in child projects. See Baggage handling for further details.

See also:

Publishing Your Projects

Modular Projects (Reference)

Baggage file handling

 


Page url: http://www.helpandmanual.com/help/index.html?hm_advanced_modular_compiling.htm