Merging CHM projects

Introduction: You want a help system distributed over
several CHM files. The topic map means that you may enter via any
one of the CHMs but, once in the help system, you want access to
the complete ToC. RoboHelp does not provide this by default; here
is how to arrange it.
The underlying concepts: You have one "master" CHM which
contains the complete ToC but no topics; and any number of "slave"
CHMs containing the topics. Use baggage trick #1 to include the
master ToC in each slave. Each slave ToC must be contained in a
book in the master ToC (RH hhc bug), but you can have several ToCs
per slave (baggage trick #2). All CHMs must use the same window and
it must be a global window (prefix $global_). All CHMs must be in
the same directory at runtime (Common location).
RH hhc bug: The ToC you define in RoboHelp is stored in a
file ProjectName.hhc; when you generate the project a file called
ProjectName.hhc will be included in the CHM file.
These two files are not the same. This means that (1) if
your merged projects are not contained in books in the master ToC
you will get errors (invalid HTML tag) because the hhc file inside
the master CHM <ul> and </ul> tags are unbalanced. Also
(2) the ToC to be included in the slave CHMs must be the one
extracted from the master CHM, not the one from the master project
directory.
How baggage files work: When user runs the CHM file, its
contents are unpacked to a temporary location (MSIT-whatever).
These contents include the topics, images and also the baggage
files. The baggage file included will be whatever is in the project
directory at generate time. Not all the files in RoboHelp's baggage
list will be included (see elsewhere for quirks of the baggage
system).
Decompiling CHM files: All (?) Windows systems include the
program hh.exe which is run to display CHM files. You can also use
this program in a DOS window to decompile CHMs; the syntax is:
hh -decompile DirectoryToReceiveDecompiledFiles
FileToBeDecompiled.CHM
The directory will be created if necessary; old files will be
silently overwritten. The same functionality is available with a
pretty GUI in the HTML Help Workshop, which you can download free
from microsoft.com.
Baggage trick #1: Create all slave ToCs and generate the
CHMs; include the slave ToCs in the master ToC (File > New >
MergedProject). Generate and then decompile the master CHM (hh
-decompile master master.chm) and include the decompiled master.hhc
as a baggage file in each slave. In each slave, ProjectSetUp >
Windows > $global_window > Properties > Advanced >
Destinations > TableofContents and specify master.hhc (this file
will be available because you included it as a baggage file). Now
regenerate all slaves (see Caveat #2).
Baggage trick #2: The slave ToC will be included in a book
in the global ToC; this means one book per slave CHM. You may not
have partitioned your project in this way. If necessary, create
several ToCs in the slave; each ToC will result in a file xxx.hhc
in the project directory. Include all these as baggage files in the
slave, and generate it. When you include the CHM as a MergedProject
you can select the ToC you want.
Common location for CHMs: you can save copying by generating
all CHMs in one location (SSLs > HTMLhelp > Properties >
OutputFolder). I have a project directory containing subdirectory
Output along with Master, Slave1, Slave2 etc.
Caveats: (1) Browse sequences and Search are not globalized,
if you open a slave CHM you will only have access to the Browse and
Search of that CHM. (2) If you change the master ToC you will have
to regenerate the master, decompile it, copy the hhc to each slave,
and regenerate each slave (this can be automated). (3) There are
apparently restrictions on using names containing underscores; I
have not tested this. (4) The whole process is sufficiently complex
that I recommend creating a test database to try it out.
Conditional Build Tags: I have not tested this, but it
should be possible to define several ToCs in the master and use
them as appropriate.

I appreciate this post, as getting our merged chm projects to
work together seamlessly has proven to be very difficult. The
approach we're using now is similar to what you describe here, but
results in multiple windows opening on top of each other, rather
than the TOC clicks keeping the user within the same window. I am
trying to make a few changes based on what I'm reading here in
hopes of fixing this issue; however I am having difficulty applying
the global window. Currently all of our help projects use a window
called Main. I have updated those to $global_Main, but now when I
try to click a topic in the TOC of a chm file I get this error
message: "The window name "main" passed to HH_GET_WIN_TYPE has not
been specified." Do you know what might be causing that? Is there a
specific procedure I need to follow in order to update to using a
global window?

Similar Messages

  • Merge CHM, ToCs and CBT

    Hi,
    After some sweat I have a working implementation of a merged
    CHM project (RoboHelp 7) making use of Conditional Build Tags
    (CBTs) where the user can enter via any slave and still have access
    to the total ToC, and full search facilities.
    We will be using these techniques in our own shop, but I have
    the idea that others would appreciate sharing the knowledge, so
    what should I do with it? Describing it in gory detail will cost me
    days (which I don't have) and really needs screen grabs to be
    clear. I have rough notes of what I did, but they are only usable
    if you have access to my demo project.
    Does anyone have the time and inclination to write it up (and
    check my work of course?). The project zips to 3.4 MByte and
    contains no confidential information.
    It is based on the techniques described
    here
    and
    here
    and I have worked out a way to make ToC entries usable for all
    configurations. CBTs are only used in the master project.
    I still have occasional problems with absolute paths, I wish
    someone could solve that! My workaround is to edit the HHP, the XPJ
    and the CPD and hope for the best.
    --- Derek

    Hi Joe
    Just to add another twist to things here, perhaps you have CHM A, CHM B and CHM C.
    If you want to search CHM A and have it find results that are also found in CHM B and CHM C as if they were a singular larger CHM, you would normally have them in a single folder and have CHM A (or one of them) designated as the Master.
    The twist here is that they wouldn't have to exist in the same folder. Sure, it's simpler that way, but if your developers have arranged things in such a fashion that you have CHM files in different folders, the information below may help.
    If you look at your RoboHelp Toolbox Pod (View > Pods > Toolbox) you should find a utility there named HTML Help Registration. When you run this tool you are able to add CHM file references to your Windows registry. And that's the key point. When CHM file references exist in the Windows Registry, pathing location is added. Many eons ago I created some instructions that helped with that. In this case, you will likely be interested in the last bit of that topic where I talk about exporting a registry key that may be used to amend other registries.
    Click here to view
    Cheers... Rick

  • Child TOC pane blank in merged CHM set-up

    We are experiencing an issue with our TOC pane when viewing a child CHM in a merged set-up. The TOC appears completely blank although the index and search work successfully. If the parent help file is launched all works as expected with the TOC displayed regardless of which topic is selected from it. However if a child project is launched, the TOC does not display.
    We are using the method of merging CHMs that involves adding the parent project's .HHC file to the Advanced Window properities of each child project. We have also amended the .HHP file of each child to include the relevant [MERGED FILES] section. All of this is highlighted in Rob Chandlers article on the subject and has worked in the past. Remove the reference to the parent .HHC file from the window properties and it all works but we need to this for context sensitive help calls so that the child CHM is called yet display the parent TOC.
    However we were using RHX5 then and now we are using RH8 and it appears this method no longer works. Has anyone else come up against this, and more importantly found a solution?
    Read the RoboColum(n) for a tips, tricks and musings on the Technical Communication Suite products.
    Follow the RoboColum(n) on Twitter

    Hi Amber.
    Thanks very much for the response. Unfortunately using conditional build tags is a must for us so we have to compile inside RH. We are very near code freeze so at this late stage do not wish to change anything drastically. The CHM is only being distributed as a backup in case any of our users don't have an internet connection.
    For now I think we'll live with it annoying as it is . If you can find out about what your app is doing that would be useful to know and we'll see if we can change the app post release.
    Read the RoboColum(n) for a tips, tricks and musings on the Technical Communication Suite products.
    Follow the RoboColum(n) on Twitter

  • How do I assign mapids to reference a merged chm file?

    Hello,
    I am using RoboHelp 9.0.2.271 on a Windows 7 64 bit machine to create chm files. I have 2 chm files I would like to merge and be able to create mapids for context-sensitive help.
    I created each chm in its own project directory with each having its own mapids setup. I would like to merge them for a special project and still be able to use the mapids. I merged them using the toc | new | merged project. I also have the merged chm as a baggage file in the first chm.
    As far as viewing and searching after recreating the first chm, all appears to work with the toc also showing the toc of the merged chm.
    However I can’t seem to get the mapids of the merged chm to work in the first (master) chm. I have seen other posts about similar problems but I didn’t see anything I can use.
    Is there a way to create mapids to reference the topics in the merged chm when using the master chm? The mapid editor doesn’t seem to know anything about the merged chm file.
    Thanks
    John

    Okay, yea I knew that you can create a static list, and I have tried this. Thanks for the input Frank!!
    Currently I have a database attribute, Priority, which is a Number (1,2,3), but I want to display these values as Low, Medium, High respectively. I use this list in 2 places, first place is to filter a table based on priority, and secondly when I create a new row or edit a row, I need to be able to change the priority. If I use the approach you mentioned, and which I also tried using, I get stuck because on the new/edit row page this list is not bound to any source and when I try to edit the page, the selected value is ' ' rather then the correct value that was selected previously (I hope that makes sense). If I use the code that I had in my original post, it works fine, but the display values are 1,2,3.
    What are my options on how to display the values correctly? And I wonder why the List Binding Editor doesn't allow you to display labels other than the labels you assign in the set of values (so in my case, my set of values is 1,2,3, because those are the valid values in the database)

  • How do you get a merged CHM to open in the same window as the master? (RH8)

    We have a problem where everytime you click on a topic from a merged CHM in the master TOC, it opens a new window exlusive to the chm where the topic resides.  We have more than one master chm and this is the only one that does it, it is also the only one that was created from RH8, although the others have been updated with RH8. We've compared the Window and SS Layout properties with a parent chm that doesn't behave this way and haven't been able to find any differences.  Is there something we can do to have all the topics whether merged or from the parent, open in the same window?

    I think somehow the last time I had this problem I stumbled on a solution and wasn't sure what fixed it, but the problem reared its head again, and it was back to the drawing board. Now I think we have a solution, but we don't know for sure what created the problem. Although we're pretty sure the problem has something to do with creating a new window when there is already and existing window.
    What we found. This problem couldn't be fixed in the SSLayout. We found that the Properties | Advanced | Window setting for individual topics in the TOC had been erased. This Window drop-down selection lets you choose a window other than <Default> if more than one window exists. If not changed by the user, it should stay at <Default>, but somehow the setting was blank on several topics, probably due to the creation of a new window, and maybe some other values being changed. This is probably a bug in RH8, but I don't know about other versions.
    How to fix it.
    First you have to isolate which merged .chm file (child) has the problem, I believe I did this by removing one child .chm at a time from the Parent project and then seeing if the parent .chm worked correctly after generation.
    Once you've found the offending .chm (there may be more than one), open the project and the TOC for the .chm that is a problem.
    Go to the TOC pod > Topic Page Properties (right-click on a Topic in the TOC and select Properties) > Advanced > Options panel and ensure that a value exists in the Window: field. If the field is empty, you have a problem.  Click the drop-down and select <Default>, even if your .chm window displays in drop-down.
    I don't believe there's an option to set a window as the default when you create it, so if there's more than one window, who knows what the <Default> option is drawing from, unless <Default> points to the window you have selected in the SSLayout, which I think is the case.
    Find all Topics that have this problem and fix them.  Note: you cannot fix this by going to topic Properties in the Topic List (or from r-click Properties in a topic), you have to do it in the TOC.
    Save all changes, generate the child .chm, and then replace the old child .chm with the new one.
    Open the parent .chm and check to see if all topics open in the parent window. Your Done

  • Merging of Projects

    I'm importing MS Word files into RoboHelp to create a.chm
    file. RoboHelp enables me to merge a project file with another. My
    question now is: the merge file doesn't pick up any changes to the
    original project file - even after compiling the original and
    merged files.
    Using Windows Explorer I've discovered that a copy of the
    .chm file was made to the master project folder for the merging. Is
    it at all possible to have changes/updated reflected in the master
    project without having to re-do the merging exercise,
    please?

    quote:
    Originally posted by:
    eric haas
    Is it happening because i am calling a CHM which already
    contains the caller CHM or is there some other reason
    Hi Eric. Try doing things this way. Create a new project with
    just a single topic that you can use as an "introduction" page. Add
    an index keyword to this topic. Open up each of the two CHMs you
    have previously created and remove the merged references to the
    other in the TOC. Compile both and merge them into the "empty"
    project. Compile that project and you have a merged CHM.

  • Merged help projects and context sensitiviy

    I am using RoboHelp x5 and have created a master project and
    I have 3 .chm files merging into the master project. I've gotten
    TOC, Indexing, and Searchable help to work. But what about context
    sensitivity?\
    Thanks!

    Hi, again,
    > 1. In my case, I don’t have bookmarks as part of
    the context sensitivity
    > path. I want an entire html page to display. So, I
    don’t have to use the
    > Dummy_Usage line, correct?
    No, the Dummy_Unused entries were required to work around a
    limitation in the Helpware solution. Now that I test this again,
    though, the problems I encountered yesterday for which adding the
    Dummy_Unused entries was the solution don't seem to be recurring.
    So, probably best to forget about this for the time being.
    > 2. What should the master project’s .h file
    contain?
    It should contain all the context help mappings for
    all the help files — master and slaves. So, to the
    mappings for the master help files you would append the entries
    from the .h files for the slaves, like this:
    // Master help mappings
    #define IDH_MASTER_TEST1 1
    #define IDH_MASTER_TEST2 2
    #define IDH_MASTER_TEST3 3
    // Slave #1 mappings
    #define IDH_SLAVE1_INDEX 4
    #define IDH_SLAVE1_ANOTHER 5
    #define IDH_SLAVE2_INDEX 6
    Likewise, the alias (.ali) file for the master project should
    contain the aliases for all the help files. But in this case you
    associate the topic IDs for the slave topics with the redirector
    file, to which you append the appropriate IDs again, like this:
    ; Master help aliases
    IDH_MASTER_TEST1=master1.htm
    IDH_MASTER_TEST2=master2.htm
    IDH_MASTER_TEST3=master3.htm
    ; Slave #1 aliases
    IDH_SLAVE1_INDEX=redirect.xhtm#IDH_SLAVE1_INDEX
    IDH_SLAVE1_ANOTHER=redirect.xhtm#IDH_SLAVE1_ANOTHER
    IDH_SLAVE2_INDEX=redirect.xhtm#IDH_SLAVE2_INDEX
    Then, in the redirector file, you set up a series of mappings
    between these topic IDs and the corresponding topics in the slaves,
    like this:
    if (Code == "IDH_SLAVE1_INDEX")
    URL="its:Slave.chm::/slave1.htm";
    else if (Code == "IDH_SLAVE1_ANOTHER")
    URL="its:Slave.chm::/slave2.htm";
    else if (Code == "IDH_SLAVE2_INDEX")
    URL="its:Slave.chm::/slave3.htm";
    This probably sounds more complicated than it is in practice.
    Once you've got to grips with how the method works, it's actually
    quite straightforward.
    > 3. I notice that RoboHelp wipes out or adds to the edits
    I make (via
    > EditPlus or Notepad) to the .hhp file – why is
    that? I noticed this days
    > ago so I always have a backup to replenish my edits in
    the real .hhp file.
    I'll have to pass on that, as I'm not currently a RoboHelp
    user. Perhaps someone else following this thread can comment.
    > 4. Will context sensitivity be easier with RoboHelp 7?
    As far as this issue is concerned, I doubt it, because we're
    using an under-the-hood technique to work around limitations in the
    HTML Help format. Users of Flare, Doc-To-Help, and all other help
    authoring tools have to jump through the same hoops to get context
    sensitivity to work seamlessly in merged help projects.
    Just to repeat what I said yesterday, I have a sample help
    collection illustrating this technique if you'd like me to send it
    to you off-list. Maybe that will make things a little clearer.
    Pete

  • Searching with the Search tab only looks in 3 of 19 merged chms, no matter what is searched for

    I'm using RoboHelp 8.  I'm using the Search tab in the HTML Help window to search.  Although it finds what I’m searching for, it only looks in 3 of my 19 merged chm files, no matter what I search for.   I can tell by the Location column in the search results.
    Is there a known bug in HTML Help search capabilities?

    It would be worth checking that the window and single source layout properties of all 19 projects are setup exactly the same. Also make sure that there are no child CHM files in the project directory before you compile. RoboHelp insists that they are copied in when you add links but they can cause issues like this when you compile. When you compile there should be no other CHMs in the project directory.

  • When I merge one project with another, Aperture for some strange reason, randomly scrambles the photos from the project being merged, instead of keeping them in the order they were shot. What can I do to fix this?

    When I merge one project with another, Aperture 3 randomly scrambles the photos of the project being merged, instead of keeping them in the chronological order that I shot them in. What can I do to correct this?

    The photos have just been dumped into a new home and need to be told how to be arranged.  Go to the top left of the browser view for the merged project and select the desired sort order from the drop-down and they'll all sort according to that setting.

  • Merging FlashHelp Projects?

    I dreamed that I could do this, didn't I?
    Is there an "easy" way to merge FlashHelp projects? I've got
    one project that I need to insert into two other projects.
    I know I can import the files and hard code the TOC - but
    that's not going to work for a long term solution - I'm going to be
    doing that constantly.
    Tell me I'm just missing the answer in the help files... Is
    there a plug in solution? Anything??? Otherwise I'm going to end up
    with the same set of files in multiple help systems - and that will
    be a nightmare, too.

    Hi Crystal
    WebHelp and FlashHelp are basically like the mythological
    Janus. They are simply two different faces on the same information.
    The only real difference (aside from the fact you can merge one but
    not the other) is that the TOC, Index and Search are presented
    using Flash components. This has no bearing on whether you can
    include Flash movies within your content. Flash movies should work
    with WebHelp equally as well as they work with FlashHelp.
    Cheers... Rick

  • Possibility of Merging two Projects

    Hi,
    I have come across a situation where the users have entered two projects in system for one. They entered planning data for one of them only and both projects are in execution already. There are actual costs posted.
    For some time, it remained un-noticed and now I am looking for a way to clear up this mess.
    Is there any way that I can "merge" these projects or get the things "in line" after this?

    All solutions seemed to be working fine, its just that I faced a problem with different fiscal years. The client has already closed 2009 financially and revenues have been locked. One of the two projects was initiated in 2009, any changes in material costs would also require MM periods to be open for past postings.
    The business realizes the financial impacts this activity may have and decided to leave the projects in their state, considering them as two seperate projects.
    Thank you all for your responses.

  • Merging two projects with Premiere elements 12.

    Hello,
    On my computer (windows 7) i have different directories with movie-fragments. From each directory i made a movieproject. It took a long time to trim everything. Now i have one project from 1,5 hours and another from 20 minutes. I would like to put the two projects together and then cut it into two projects. I was suprised that i could not do that. I could not copy the movie with titles in one project and copy it to the other project. Also i could not find any way to import one movie into the other. Very strange. I would think that this is a basic function the program should have.
    I found out that i can work of course with the Project Asset and import the moviefragments again, but then i have to trim everything again.
    I could also export one movie as for example AVI and then insert it with the Project Asset into the other project. But then i have no possibility to change the titles and transitions.
    Does anyone know a way to merge two projects?????
    Many thanks, Stephan

    Stephan
    You wrote
    I used it a lot when i worked with the program i used before Premiere Elements.
    Important: What version of Premiere Elements are you referring to in the above? Or, are you referring to another program that is not Premiere Elements?
    No version of Premiere Elements allows the user to open one project file (project.prel file) in another.
    You can copy/paste insert between two project files (project.prel) using ClipMate in conjunction with Premiere Elements. You cannot do a copy/paste insert between projects without ClipMate in use with Premiere Elements. The How To for this Windows Only feature is found
    http://www.atr935.blogspot.com/2013/05/pe-clipmate-copypaste-between-pe.html
    The alternative is to export your project 1 Timeline "trim" selectively to a file saved to the computer hard drive and then import that export into project 2.
    In this workflow considerations need to include project 1 export format consistent with project 2 import settings.
    So, we need details to explain the why not for
    Also i could not find any way to import one movie into the other. Very strange. I would think that this is a basic function the program should have.
    and
    I was suprised that i could not do that. I could not copy the movie with titles in one project and copy it to the other project.
    In the first part, what were your export settings from project 1 and your project preset for project 2.
    In the second part, did you use ClipMate with Premiere Elements or something else?
    What you want to do sounds very doable so we need to discover the whys to get to the solution.
    Thank you.
    ATR

  • Merging FlashHelp Projects TOC Issue

    I was delighted to discover this morning that I can now merge
    FlashHelp projects!
    I am running into an issue with my TOC, though. It won't
    display. I've made sure my child projects have working TOCs, and
    they do. But the parent TOC is being stubborn. The Contents section
    is there - but nothing is listed.
    Also, after reading through the help files with RH, they
    suggested publishing the projects to a central location - which I
    did try but it didn't work. Is this supposed to be for WebHelp or
    do I need to do this for FlashHelp, too?
    This is my first time trying this, so I'm probably doing
    something wrong - maybe one of you pro's can help?
    Thanks!
    Crystal

    Hi Crystal
    So are you running FlashHelp Pro ouptut and publishing to the
    RoboEngine? If not, I don't believe you are able to merge FlashHelp
    generically as you can with regular WebHelp.
    Cheers... Rick

  • Can you merge AIR projects with RH 8

    I have two projects, both produed in RH8, and each of which gives good AIR output. I want to merge the projects and generate one sigle merged AIR file. Is this possible?
    [From my source files I can generate merged WebHelp, but when I select AIR as the output, I get no entries at all in the ToC.]
    TIA
    Goeff

    Hi Goeff and welcome to the RH community. Unfortunately it is not currently possible to merge AirHelp output.
    Read the RoboColum(n) for a tips, tricks and musings on the Technical Communication Suite products.
    Follow the RoboColum(n) on Twitter

  • Merged webhelp project problem

    Dear Sir,
    my problem is with merged Webhelp project. the links to
    external topics are not active in the master project, although
    these links work fine in the HTML help output.
    thanks.

    quote:
    Originally posted by:
    Peter Grainge
    What Ahlam may not be doing is allowing for the fact that
    cross project links have to be created one way for webhelp and
    another way for HTML help. The way to do that if both outputs are
    required is using conditional tags.
    Actually, my project was generated as HTML help project from
    the begining but for some reasons I need to convert it to webhelp,
    what I did is that I generated the whole project as webhelp. I did
    not know that creating links in webhelp is different from HTML
    help, if it is so, could you please tell me how.

Maybe you are looking for

  • Yoga 3 Pro or Yoga 2 Pro? Opinions from dual owners please

    Hi, I'm tossing up between the Yoga 2 Pro and the Yoga 3 Pro. I like the design of the 3 very much, and the weight. I will run Ofiice apps, Photoshop CS6 on the road, and lightroom 5.7. Any pros and cons from dual users with experience of this softwa

  • AUC REPORT

    we have an one zreport for AUC report  where we would like to introduce “Internal Order Group” on the report selection screen.  We are unable to trace this field to a table. please help me for the same Regards RRR

  • Change Screen Resolution GNU/linux

    hi everyone i need to change screen resolution for my linux box. with command #xrandr showing only 640 X 480,can i add more size?how to add? tq

  • How to alphabetical order pages at indesign cs4?

    I have a text box at the beginning of each page and I want to alphabetical order pages based on that text box. Do you know how to do that?

  • Can't remember my rescue email, and security questions. Help?

    Is there any way to find out my rescue email and security questions without contacting apple?