AbilityCommerce said 11 months, 1 week ago:
We are converting our user manual from a word document to a Winhelp CHM file. We’ve actually done this a few times before and it worked fine. I needed to clean a few things up in our user manual and add some more information. The document is just over 300 pages, it was about 280 previously. Doc-To-Help ran for about 18 hours and I finally canceled it this morning.
I don’t recall it taking this long before and I can’t figure out what the issue is now. It reaches the 50% mark and is on the "Converting lists to text" phase but asppears as though nothing is actually happening. However, something is happening because WINWORD.exe is running at about 13% CPU usage consistently.
Just trying to understand what is happening in this stage and if it should take this long? The machine it’s running on is a dual quad core with 6G of ram, only 3.4G of ram is used and other than Winword, nothing else is really consuming much CPU resources.
Thanks in advance!
S.Kamprowski2p said 11 months, 1 week ago:
20 more pages should not increase compile time that much.
So, please tell us more about your project and your environment:
Word Version you use now and used before before
If you have more than one source document: does it happen in the first document?
My current assumption is: Word is hanging.
It appears something was corrupt, though I’ve run into a new issue. Here’s what I did.
Wondering if something was wrong with the core project, I created a new project and then imported the word document. It compelted the CHM creation process within 5 minutes. However, that new CHM would not marry up to our previously created XML file. I realized my new project had a different naming convention to it, and even though I renamed the .CHM file to match our former project name, I suspected maybe this was still an issue with content within the actual CHM file not matching.
I opened up the original project having issues and removed the word document and then re-added it. This forced the word document to be re-analyzed by doc-to-help. I ran the build and it compelted within minutes. However, it seems the CHM file, though from the "same" project as our original one, is somehow different. When placing it in the proper directory for our software installation, along side the .xml file, and then loading the software, the help is blank. It seems the linkage between the CHM file and the XML file have become disconnected.
Can I ask how the topics within the CHM file get "converted" to .htm files? For example, from my XML file:
<key>MainForm1CustFormgbBackground</key> <value>411customermaintenan.htm</value> <events useDefaultEvents="False">3</events> </item> <item> <key>MainForm1CustMergeFormpnlToCustpnlToCustContainergbToBacklabel1</key> <value>412mergecustomers.htm</value> <events useDefaultEvents="True">1</events> </item> <item> <key>MainForm1PrintLabelsFormgbBackground</key> <value>413printcatalogreque.htm</value> <events useDefaultEvents="False">3</events>
What causes my Customer Maintenance, Merge Customers, and Print Catalog Requests to be converted to 411customermaintenan.htm, 412mergecustomers.htm, and 413printcatalogreque.htm respectively? How does editing my source Word document impact those references? Did the remove/re-add/reindex of the Word document cause it to receive new .htm file level mappings?
I’m mainly trying to understand so that I can avoid having to remap (recreate our XML) document everytime we update or add to the Word document.
Thank you for the follow up!
S.Kamprowski2p said 11 months ago:
these are a lot of questions. So, let’s start with what I can answer fairly easily:
In order to change the name of the chm file you should better modify the basename in your target settings.
Regarding your remark:
It seems the linkage between the CHM file and the XML file have become disconnected. It seems the linkage between the CHM file and the XML file have become disconnected.
I assume that you need to fix the names D2H generates for the html files inside the chm, OK?
If you leave that job to DocToHelp it may use different strategies to create htm-names in different D2H versions.
If my assumption is right, you’d better force D2H to use the names you need. This is done best by adding them once as topic properties inside the Word document(s):
Position the cursor in a blank paragraph below the heading, click the Topic properties button in Word, and edit the url so that shows exactly what you need.
If your old project was created with an old D2H version (before V. 2005, resp. before V. 2008), it may happen that D2H also changes the paths to html file inside the chm. Please look into the target folder to see what is compressed into chm. If you let me know, what you old chm target folder looked like, resp. which D2H version has been used for project creation I think I can help.
Thank you, Sabine, let me give this a try. I didn’t realize the topics could be define in the help file itself but that makes sense. Also, I’m new to DHM so everything has been done with the same version over the past few weeks. Feeling rather stupid, I just realized there is an entire D2H menu in Word. I was doing my editing on a different machine.
So, when I try to add a Topic it detects that one already exists. Suddenly a whole world of understanding opens. My apologies for missing that in the documentation.
So when I click the Topic Properties my screen looks like this (see uploaded image). No URL information seems to exist but the topic is certainly present. Should I go through this document and manually tag all the Topics with this tool so that they remain in the document and carry forward on future edits when we do chm builds?
Still playing with it… Are you saying I shoudl be able to rebuild my topics in my Word document taking the URLs from the XML file? If so, is there any special format to the URL I need to use? I’m working through the help files to understand more but thought I’d ask.
A few more screen captures to make sure I’m providing the proper information the software needs to do what it’s designed to do:
I’ve posted 4 images (NOTE: The images loaded in the wrong order so please read them from bottom up to match my description directly below):
This shows my topic properties dialog box and xml file with the proper URL defined for the topic in question.
This shows my customer screen loaded but no help file displayed, it used to display prior to rebuilding with updated content file.
This shows enabling the built in dynamic help mapping tool.
This shows the specific property of the software that was tagged and the Topic showing the URL defined which matches my topic properties and xml file.
Can you tell me what I’m somehow missing here?
Greetings Sabine (or others),
I thought I’d do a little reboot on this topic and start back at the beginning. Perhaps the questions I’m asking are all answered in a document that I’ve just not yet found. My offer to you is that if you can answer these questions for me here, I’ll happily post a cleaned up document to share with others. What I’m ultimately looking for is a simple step-by-step guide in short bullet form on using Doc-To-Help for my given scenario, which I imagine is a scenario others have as well. Here is my scenario.
I have a software user manual built in MS Word (2010 in this specific case). It is formatted using Headers, etc. and has an auto generated Table of Contents using the tools built into MS Word. I want to convert this document to a Windows Help CHM file so that I can embed it in our software with your Dynamic Help control. I also plan to continue to develop this user manual in MS Word as we continue to develop our application. As such I would like to insure that anything I have mapped in our user manual to specific screens in our software remains over time. I do not want to have to rebuild the XML file (re-map) every time we modify the Word document.
My understanding is that I can manually insert new topics in Word as we create them. In doing so we can manually supply the URL using the Doc-To-Help word toolbar. If I followed your earlier post I can simply enter a new paragraph (blank) and add a new topic and give it a title. However, if we already have topics styled with headers, can we not just highlight them, click the Topic Properties button, and then apply a URL to them? I’m going to continue with the assumption that when a document already has table of contents (various header topics created in the document regardless of the Doc-To-Help tools), the use of the Topic Properties to assign a URL is feasible. If this is not the case please let me know and explain why if possible.
Given the above assumption, I can go through my document and manually define URLs for all the topics. Once I finish I can then start a new project in Doc-To-Help and select this Word Document which will get imported into my new Doc-To-Help Project. The import process will read in all of my defined URLs associated with all the topics. Now I can use the Build function to create my .CHM file. The .CHM file will be built consisting of all the html pages that were created and named off the URLs I defined when formatting the properties of my various topics in the document.
After the build is done I now have my .CHM file which can be deployed with my application. One last step, however, is to map the actual pages of my software to these topics in the CHM file. To do this I can use the Dynamic Help tool within our software and tag the screens and then assign them to the various help topics. As I save these efforts at each tagged step, a matching .XML file is capturing the URLs to link the screens in my software to the specific pages in my CHM file.
After I’ve completed all the mapping I will have an XML file with all the topics mapped to their proper pages in the CHM file. This XML file will need to be distributed with the .CHM file and both need to be in the same directory. Now whenever the software loads the various screens it will read the XML file to find the matching URL that goes with the Topic ID for that screen of the software and load the proper page within the CHM inside the Dynamic Help window.
Now, as I continue to grow my document with new content over time I can continue to assign URLs to my Topics fitting the scheme I’ve started. Once done I can then open my Doc-To-Help project and rebuild my CHM file to add the new content. My understanding is that when it rebuilds, all the URLs previously defined for each topic will still remain and be unchanged so that they will match the XML file I’ve already mapped. All that would remain then is to use the Dynamic Help control to map my new additions in the CHM file to their corresponding screens in our software. Take the updated XML file and make sure it is distributed with the new CHM file.
Can you confirm if the process defined above is correct? If not, can you tell me where I’m missing pieces of the puzzle?
I didn’t read thoroughly all posts in this thread, so I am sorry if I missed something. You described the correct way. The main point is using D2HML for this purpose. When you set topic properties throutgh D2HML it will guarantee that these properties won’t change even if you include this document in another project or if you decide to translate it to another language.
The only note I have is that probably using of Context ID can be better than URLs. I don’t see now any big problems with URLs, especially if you use C1DYnamicHelp control. But in general Context IDs are more suitable for this purpose. For example, you have a topic 'Documents/welcome.htm’, but then for some reasons you will decide to place it in a folder so its URL will be something like this 'Documents/Introduction/welcome.htm’. After this you need to make changes in the C1DynamicHelp control topic map so the control can find the topic by the new URL. When you use Context IDs you can move your topics without any restrictions. One more advantage is that you can assign several context IDs to one topic.
This is good to know, thank you. One question about the use of ContextIDs. As you can see with my two screenshots below, I defined ContextIDs for all of my topics using the D2H tool. I show the list of topics and context IDs. In the other image I then show my attempt to map the screens of our software to the help topics. I’m just wondering why the ContextIDs tab is empty, should it be?
This very strange, I didn’t such problems. So you want to say that "Table of Contents" display topics from your CHM file, while "Context IDs" tab is empty though you are sure that all topics have context IDs set?
If this is the case I need your CHM file or Doc-To-Help project to build it.
I made a stripped down version of our project as I don’t feel comfortable posting our full documentation. I’d actually like to avoid posting it here on the forum, I’m going to submit a support ticket and upoad it there. I’ll reference this forum post.
I’m also able to host a GoTo Meeting session where I can show you everything on my system, including our use of the DyanamicHelp Control in our source code.
I created a ticket and uploaded the file. The ticket # is: 13864-139
Please let me know if you need anything else or would like to do a GoTo Meeting session. I can be flexible and work with your schedule.
I got your files, but I don’t see any problems. I took your built file D2H_Support_Example.chm and used it in the MultipleForms sample. I can see topics on the Context IDs tab: there are 11 topics starting with context ID 20 and ending with 240. And I can see them both in design time in Visual Studio and at run-time when activating Authoring Mode.
So I have only one supposition what can be wrong at your side. Let’s check it before moving further. Probably you made initially your CHM file without context IDs and setup your application to use it. Then you added context IDs to the CHM file and copy it to application project folder, but context IDs didn’t appear in the application. This could be because of the CHM file in the folder with your application is out-of-date or your application refences the CHM file in another folder. To check it you can add for example a new topic to your CHM file and make sure that it is visible in the TOC. After that try to use this file with your application and check whether it displays your new topic on the Table of Contents tab. I believe this experiment should make the problem clear. Let me know about the results.
Awesome! That appears to have been it. I’m currently working with our software in debug mode via Visual Studio. Based on the date/time stamp of the .chm file in our core directory, it appeared to be current. I’m thinking that it wasn’t over writing the copy of the file that gets pushed into the Debug diretory where the software resides. I removed the files in that debug directory manually, and then repeated the process, all is good. Here’s a screen shot with the new map screen (Context TDs tab) sitting on top of our software in debug mode.
Thank you for the help!
-ScottViewing 15 posts - 1 through 15 (of 18 total)
You must be logged in to reply to this topic.