CHM vs. WebHelp vs. ?

Please post all questions and comments regarding Help & Manual 7 here.

Moderators: Alexander Halser, Tim Green

Post Reply
John Johann
Posts: 305
Joined: Mon Aug 21, 2017 7:35 pm

CHM vs. WebHelp vs. ?

Unread post by John Johann »

My current help is organised via CHM -- one master CHM with TOC and ~35 CHM in the same folder which are displayed if present.

The online help is distributed with the software package and installed locally -- that is a given.

From the H&M help https://www.helpandmanual.com/help/hm_a ... rbased.htm, WebHelp is not quite as modular as the current CHM setup.

Has anyone made such a transition?

How has it worked out?

How do you deal with things like indexes/global search through all the collections?
John Johann
Posts: 305
Joined: Mon Aug 21, 2017 7:35 pm

Re: CHM vs. WebHelp vs. ?

Unread post by John Johann »

Sorry to bump an old topic but it is becoming more acute :-)

For those using locally installed webhelp, do you have a single massive project and publish in one step to a single folder or do you have multiple projects which you publish separately.

I'm having trouble working out the best strategy to transfer the current CHM based modular help projects.
Thanks
User avatar
Tim Green
Site Admin
Posts: 23156
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany
Contact:

Re: CHM vs. WebHelp vs. ?

Unread post by Tim Green »

Hi John,

One thing to consider when using multiple WebHelp collections (a WebHelp in its own server folder) published separately is the difficulty of switching between them. Unlike CHM, WebHelp can't display a topic from another WebHelp collection within its own interface. You need to switch fully to the other collection, either in a new window or tab, or by replacing the contents of the current window. You will also not be able to have search across all the collections unless you use the standalone version of Zoom and use a separate, hand-made search page that is separate from your WebHelp collections.

You can combine multiple projects in a single WebHelp collection and keep the source HM projects separate. You just create a master project and insert the other projects in the master TOC as modules. This will work provided you don't have any topic ID conflicts between the projects. It is the same as creating a compile-time merged CHM. Whether this will work for you are not depends on the size of the resulting combined collection. But since you don't have to physically merge your source projects to do it, it isn't to expensive to experiment. Just create a master project, reference your individual projects in the TOC, publish it to WebHelp and test it out on your web server.
Regards,
Tim (EC Software Documentation & User Support)

Private support:
Please do not email or PM me with private support requests -- post to the forum directly.
John Johann
Posts: 305
Joined: Mon Aug 21, 2017 7:35 pm

Re: CHM vs. WebHelp vs. ?

Unread post by John Johann »

Hi Tim,
Thanks for the input -- was hoping to have more info before making the jump to convert old projects.

Now that I've started converting old CHM to H&M, I have an issue with variables. I'm running latest H&M release version.
Test Project set-up = Parent project with Master TOC
+ individual projects for software options (>10)

Options are currently output as individual CHMs and a master TOC pulls the contents together, however a switch to local WebHelp or ewriter is in review.

To simplify things, I have a very basic template project for the options with a title topic, a single intro topic, some text variables, and pre-defined repository for styles. The TOC entry, topic title and title tag of the default topic is set to <%MY_OPTION_NAME%>.

When I publish an option individually, the option name and subtitle are filled from the individual project --> all is well.

Problem: When I test publish a new TOC for publish time merging, the variable <%MY_OPTION_NAME%> is not taken from the individual projects (where it exists) but added to the variables list of the parent (where it did not exist) leading to the entry "Define option name variable" in the parent TOC of the ewriter (or CHM) output.
User avatar
Tim Green
Site Admin
Posts: 23156
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany
Contact:

Re: CHM vs. WebHelp vs. ?

Unread post by Tim Green »

John Johann wrote:Problem: When I test publish a new TOC for publish time merging, the variable <%MY_OPTION_NAME%> is not taken from the individual projects (where it exists) but added to the variables list of the parent (where it did not exist) leading to the entry "Define option name variable" in the parent TOC of the ewriter (or CHM) output.
When you use a master all the global project settings come from the master, and if you create a new TOC that will include that. The TOCs of the children will use their own local definitions of their variables in their own components, provided the same variables aren't redefined in the master. But if you want the same variables to be global from the master they have to be defined there as well. :?
Regards,
Tim (EC Software Documentation & User Support)

Private support:
Please do not email or PM me with private support requests -- post to the forum directly.
John Johann
Posts: 305
Joined: Mon Aug 21, 2017 7:35 pm

Re: CHM vs. WebHelp vs. ?

Unread post by John Johann »

That's what I thought which is why I defined the <%MY_OPTION_NAME%> variable locally in the children and not globally in the master project.
Does the fact that I link to the local variable in the child in the master TOC mean that the local variable becomes a global variable when the child project is publish time merged?

<%FRAME_OPTION_NAME%> is a variable in the master TOC for the name of the entire project.

The TOC of the master looks like this:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<map xmlns:xsi="http://www.w3.org/2001/XInclude" defaulttopic="index">
  <topicref type="topic" id="" build="ALL" modified="" icon="" href="index">
    <caption translate="true"><%FRAME_OPTION_NAME%> <%HELPVERSION%></caption>
    <topicref type="topic" id="" build="ALL" modified="" icon="" href="frame_Basics">
      <caption translate="true">What is XYZ</caption>
      <navref href="CHILD01::root" build="ALL" id="" modified="" merge="compile">
        <caption translate="true">CHILD01</caption>
      </navref>
      <navref href="CHILD02::root" build="ALL" id="" modified="" merge="compile">
        <caption translate="true">CHILD02</caption>
      </navref>
      <navref href="CHILD03::root" build="ALL" id="" modified="" merge="compile">
        <caption translate="true">CHILD03</caption>
      </navref>

The TOC of a child looks like this:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<map xmlns:xsi="http://www.w3.org/2001/XInclude" defaulttopic="ABC_titlepage">
  <topicref type="topic" id="" build="CHM,EBOOK,HTML" modified="" icon="" href="ABC_titlepage">
    <caption translate="true"><%MY_OPTION_NAME%></caption>
    <topicref type="topic" id="" build="CHM,EBOOK,HTML" modified="" icon="" href="ABC_Introduction">
      <caption translate="true">ABC_Introduction</caption>
User avatar
Tim Green
Site Admin
Posts: 23156
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany
Contact:

Re: CHM vs. WebHelp vs. ?

Unread post by Tim Green »

John Johann wrote:Does the fact that I link to the local variable in the child in the master TOC mean that the local variable becomes a global variable when the child project is publish time merged?
No, absolutely not. If the variable is really only defined in the child then you will get the definition from the child in the child TOC and just the variable name if you use it in any other TOC within the modular project. If you are getting something else it means that it is either defined in the master or possibly in the skin you are using.
Regards,
Tim (EC Software Documentation & User Support)

Private support:
Please do not email or PM me with private support requests -- post to the forum directly.
John Johann
Posts: 305
Joined: Mon Aug 21, 2017 7:35 pm

Re: CHM vs. WebHelp vs. ?

Unread post by John Johann »

Thanks for the pointer.
The variable in question is not in the skin and not in the master TOC project -- but it was in the linked style repository.
I removed it from the repository ;-)

However, when I now publish time merge, the variable from the first child project is applied correctly to it in the master TOC -- but then also applied to all the other children instead of their own locally defined <%MY_OPTION_NAME%>.
User avatar
Tim Green
Site Admin
Posts: 23156
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany
Contact:

Re: CHM vs. WebHelp vs. ?

Unread post by Tim Green »

John Johann wrote:However, when I now publish time merge, the variable from the first child project is applied correctly to it in the master TOC -- but then also applied to all the other children instead of their own locally defined <%MY_OPTION_NAME%>.
That would only happen if they are children of the first child project, or if their variables are also defined in the style repository. The logic is always that the uppermost parent in the chain wins.
Regards,
Tim (EC Software Documentation & User Support)

Private support:
Please do not email or PM me with private support requests -- post to the forum directly.
John Johann
Posts: 305
Joined: Mon Aug 21, 2017 7:35 pm

Re: CHM vs. WebHelp vs. ?

Unread post by John Johann »

I resolved this by replacing the variables in the child projects as Tim suggested -- thanks.
Post Reply