Perhaps you can confirm that this is a context sensitive help call that is accessing the help. It would also help us if we knew the output type you are generating and what the application was coded with.
Online Help Issue
The output format of online help for our product is Microsoft Compiled HTML Help which has .chm extension and the tool used to generate the online help is Adobe Robohelp (version 9). The product that is launching the help is developed using MS WPF and C# .Net 3.5/4.0 framework.
The expected result of a merged project help system is regardless of user’s entry point into the help system, he/she is able to navigate to any topic within the system. For example, when user enters through Abc.chm, the correct topic is displayed on the right hand side with the entire table of contents displaying on the left hand side. User should is able to navigate to any other topic.
First we created the projects for different modules and generated the output - .chm for all modules using the individual module ToCs.
For our product, we have created the merged project as follows:
We have copied the ToCs for all the modules in the main project and merged them into one ToC. This default ToC (.hhc) contains the ToC pages which are linked to remote topics in respective chms. These chms are already added to the project as a baggage file.
Steps to create/Update the ToC:
- In the default ToC (.hhc), right-click and click New -> Page. Enter the topic name in the Page Title field.
- Click Link to drop-down and then click the Remote Topic option.
- On the Select Remote Topic dialog box, select the respective .chm file. It will be in this project only as we have added it as baggage file. But it is not in the project folder, select the desired location, for example, Release folder.
- Select the .htm file from the list. The path will be displayed in the Link to field.
- Add the respective module chm name with ::/ before the path in the Link to field. For example, Abc.chm::/
Either you can copy paste the chm name or enter it manually. It should be added at the start.
- Click OK. This will establish link to the topic via chm.
- Generate the output using the layout that you have created.
- On the Toolbox tab, double-click HTML Help Studio. Select the .chm file generated in step 5.
- Select the destination folder for the extracted ToC and click Extract.
- Add the ToC extracted in step 7 as a baggage file in all the module projects.
- Generate the output using the layout that you have created. When you generate the output, the extracted ToC reference should be given in the window which will be used in the output generation (Using the window setup feature of Robohelp, one global window ($global_main) is created in all the projects, including all the child projects and master projects. The name of the master project ToC is added on the Advanced properties window. This gives one unified look to the help). Then when you generate the output for any module, the main ToC will be used instead of individual ToC.
Issue: We have some help topics in the individual modules which are the context menus of particular function or node (Context menus are the menus, which open a separate form by right-click and then opening specific context menu, but these are not displayed in the node structure of the product). When we go to this form of context menu in the application and open Online Help for that form, it displays help with that particular module ToC only, instead, it should display the main ToC that we have extracted from the merged project.
When we open help for a node in the product, which is included in the ToC, it opens the main ToC (extracted from the merged project) correctly. The ToC page in the ToC is highlighted at this time.
Opposite to this, the Help for context menu is not showing the whole ToC. The module name (to which the help topic for context menu is included) is also not highlighted in the ToC. This is because we do not have any links of the Context menu topics in the ToC (since these are not a part of ToC).
Whole ToC when the help for any main node is opened
ToC when help for Context menu is opened: Tax is the topic for context menu available in ‘Events’ module
If I haved followed correctly, essentially the issue is that from some parts of the application, when context sensitive help is called, only the help for that module gets opened. Further you have identified that this is when the help is called from a context menu rather than from other locations. That surely indicates the issue is that the developers must be calling the help in a different way from context menus.
The TOC synchronisation issue is separate. Obviously if a topic is not in the TOC, it cannot synchronise. Where you are having issues with "in TOC" topics is, I think, because of the way you are creating the TOC. You are creating the whole TOC in the parent. The normal method with merged help is that each module has its own TOC and the merge process creates the single TOC by amalgamating them all.
There is an article on my site geared mostly to merged webhelp but there is a section at the end about CHMs.
See www.grainge.org for RoboHelp and Authoring tips