Copy link to clipboard
Copied
I am using RoboHelp 2015. This is the first time in more than 10 years that I have used any version of Robohelp, so I need short, simple answers.
I'm trying to create Webhelp. Each HTML file in the project is specific to a particular module in the software. When you click the help button while module X is on screen, the help should open at the start of the file specific to that module.
I'm trying to use map IDs. I have gone through the RoboHelp online help about doing so. I have created map ID and assigned them to the files. I have a .H file with all the IDS in it. I've given the map IDs to the developers and they have done I'm not sure what with them. I've repeatedly regenerated the Webhelp. It has been installed on the server. Any time a user clicks a help button anywhere on the product GUI, the help opens at the default title page of the Webhelp.
The previous version of the help, which was created by a tech writer who has been gone for years, worked properly. I can't figure out how. It included a CSH.JS file. Do I need to create such a file? If so, how do I use it?
I have spent days searching the posts in the RoboHelp forum for information about using map IDs and none of them address my problem. I just can't get context sensitivity to work at all. I need someone to point me at a video, an article, something that provides detailed do-this-do-that baby-step instructions. When it comes to making context sensitive help I literally don't have a clue what I'm doing, and I need to get this project done quickly.
Is there any such material available anywhere?
Copy link to clipboard
Copied
Hi there
You might start here:
https://www.wvanweelden.eu/articles/context-sensitivity-webhelp-and-flashhelp
I know my dear friend John Daigle had an article somewhere on Adobe, but it seems to have performed a disappearing act!
Cheers... Rick
Copy link to clipboard
Copied
The article refers to "you or the author of the help system," so I believe it is aimed at the developer who modifies the product code and all the actions referred to take place in the code. If I am wrong on that, please by all means correct me.
I will try to talk to the developer and see if I can get some time with him to cover this stuff, but that is doubtful. We have a release coming up and he is still very busy trying to get last-minute problems in the code ironed out.
Copy link to clipboard
Copied
You need to provide your file of Map IDs and the method for launching the help - that will depend on how the developer wants to do this - show (or copy to give them) the \CSH API\ folder that RH comes with (it's in your \Program Files\ location where RH is installed). It has a number of programming language variants available. The launching program queries the index page of your help with the Map ID and the tool knows how to return the exact page you want shown to be displayed in a little headless browser window. You can add the ability to "expand" out the full tri-pane help by adding a "Show" link to the output files (it's controlled by a flag in the Single Source Layouts recipe).
Copy link to clipboard
Copied
The problem has been solved. Or it just got tired of messing with me and quit. The context sensitivity now works. As an added bonus, RoboHelp will now product the multiscreen and Responsive outputs, which earlier it would not do. I have no idea what changed. Both the developer and I were trying changes left and right and somehow we stumbled upon the right combination. Thanks to those who tried to help. I don't really understand this process but I have learned some.
Copy link to clipboard
Copied
Just an observation. Often we see where developers howl over the number of files you supply and they want you to trim them down. I'd suggest avoiding Multiscreen and consider Responsive.
Cheers... Rick
Copy link to clipboard
Copied
I have - my special challenge is I'm not getting real help from the developers. I get: "The last writer used an app to auto populate and link. (but NO ONE knows what she used or steps she performed)"
As far as the HTML5, I'm not sure how that works with non-web based C++ (32bit) software with self-contained non-internet F1 help files for each screen, or how much work is involved in moving to that method. My experience has just been to create the help files in RH based on a map from the developers - or I give them a map and deliver the final files - I was never aware of any special tricks or formats or what the developers did on their side. So I've been trying to figure out a way to map the connections on my own - they have provided their "best guess" for screen IDs but upon testing, none work.
My deadline is Monday, Nov 5th and I just won't have time to learn something new or suggest something new I'm not familiar with as they seem to keep the ball in my court. So if anyone can give me the quick and dirty on making the current set up work.
Thanks so much for staying with me and trying to help!
Copy link to clipboard
Copied
"my special challenge" - LOL - sounds like your devs don't really care about help docs for your users. The "app" that they would use can be found in your \CSH\ folder where RH is installed - there's a variety of programming languages supported - but they must have sucked one of them into their builds at some point because you say that some F1 works fine. If that wasn't the case, then nothing would launch when F1 is pressed. Just sounds like they're too lazy to be bothered digging into their own source code to see what method they're using.
As far as switching to HTML5, from your end it's as simple as adding a new layout to your output choices, configuring how you want it to look and generating. The CSH calls for HTML5 have changed however, so the launching method has to be tweaked. See Willam's articles about CSH - https://www.helpessentials.com/2017/08/05/context-sensitivity-in-responsive-and-multiscreen-html5/ and Peter's Calling WebHelp Topics .
I'm sure that C++ supports launching a browser to display the help in, but I suspect they would freak when you give them HTML5 output (there can be hundreds to thousands of files to include).
Copy link to clipboard
Copied
Have you tried posting to either LinkedIN or HATT or TECHWR-L or to STC to see if you are able to contact the last person that held that job? My thought is that you might try these avenues and maybe they are hanging out in one of these places and can offer help.
Cheers... Rick
Copy link to clipboard
Copied
OK Captiv8r Amebr PeterGrainge @Jeff_Coatsworth - here's where I am:
Thanks again for all of your help - I really appreciate your time and attention... I should be good from here.
Copy link to clipboard
Copied
I understand that Adobe Support worked with you and found that things worked when the CHM was local but not when put on the network drive. They have pointed you to a link with more information but please also see CHM Files Not Working on Network on my site.
To make CHMs run on a network involves making registry edits and it can be argued that compromises your users security. In other words, if your developers are installing the CHM on a network drive, they should really be changing to some other help output. It may, of course, be that they are not doing that and this issue only arose during internal testing.
You will also see on my site that the fixes will not work on 64 bit systems so the days of continuing with CHMs on a network are numbered, as they should be some fourteen years after Microsoft identified the risk.
I suspect the reasons why things worked before are either your predecessor ran things locally or deployed one of the fixes. Academic now as the real solutions are to work locally or use a different output. Either way, we all hope you keep the job!
See www.grainge.org for free RoboHelp and Authoring information.
Copy link to clipboard
Copied
So, that was the issue the whole time? Seems odd that other calls would have worked but the calls from the new topics would fail. I would expect if the network drive were the cause, NONE of the links would have worked.
Hoping to see more detail on this.
Cheers... Rick
Copy link to clipboard
Copied
I don't think that was the cause - just a symptom revealed after they got the dev to squeal about the MapIDs ;>)
Copy link to clipboard
Copied
As I shared with Peter - I believe it was just a glitch in my CHUM file being created and generated a random error based on the corruption. Because it's on the server, it takes about two hours to CHUM and often I might get a "Not Responding" and it seems to bomb for a while and keep going until "Done.". I suspect a corrupt file that one time around.
I was expecting to have to modify a file or path or map file name or something - but we changed nothing in my file. The support person copied my exact files from the server to my Desktop and created the CHUM. I took 1.5 hour to copy/paste the files and about 5 minutes to do the CHUM. I uploaded the CHUM to the software root directory it did not trigger the "HH_HELP_CONTEXT called without a [MAP] section" error - but it was missing my CSS, however and did not display properly and had broken links.
So:
One of the first troubleshooting items should be to try and generate the CHUM again if you have a slow connection. Had I done that - it would have given me a good file.
Copy link to clipboard
Copied
I am a bit fuzzy about what is being done where.
The correct procedure should be that you project is ideally local and is generated to the same local drive, then uploaded to the server.
If the network is good, then it is OK to have the project on a network drive but then you must generate to the same drive. Again you then upload to the server where the help is accessed. As in a previous post, the CHM should really be on the users local drive, not on a network.
Please clarify for me, what is where.
See www.grainge.org for free RoboHelp and Authoring information.
Copy link to clipboard
Copied
By policy, all company files must reside on the server - so all my work is being done on the server.
You originally thought that the HH_HELP_CONTEXT called without a [MAP] section" error was resolved by the Adobe Support Tech moving my files to my desktop and regenerating the CHUM. That is not the case. A glitch in the creation of the CHUM file must have generated the error.
I immediately sought help, but had I simply generated the CHUM again - the error would have disappeared.
Takeaway: If your RoboHelp files reside on a serve in entirety and a weird error is generated - try recreating the CHUM first and then troubleshoot further. I lost a day troubleshooting and had I simply re-generated, the error would clear.
Copy link to clipboard
Copied
This has been a very long thread. It began with a plea for help because you were unclear on how to proceed with linking new screens in the application with new topics that support those screens.
I'd love to know the following:
Is the last reply about recompiling the CHM a secondary issue? There seemed to be lots of back and forth with developers and some tool being used to automatically map things.
Surely something had to occur to get the mappings added, right? I'm thinking the issue surely wasn't resolved by simply recompiling the CHM file.
Thanks for any enlightenment! Rick
Copy link to clipboard
Copied
It's tough to follow all the responses, but I explained how I finally got the screen IDs.
My original question was not about how to map, it was about a "special tool" that queries a software to locate screen IDs. The developers would not provide screen names, saying the "last person" used a special tool. I wanted to say poppy-cock, but I wanted to check with the community to make sure I wasn't missing something. There are tools, but those I tried did not show me anything that was discernible.
Resolution: The developers have given me a version of the software in QA mode that let's me see the screen IDs. I went in and mapped all the new screen IDs and generated a CHUM file.
When I wrote my last message to say I was all set, I mentioned that I had an error display after I created my CHUM file (HH_HELP_CONTEXT called without a [MAP] section"). I indicated I would search the forum for an answer and someone starting asking about it in this thread - combining the two issues.
Spoke to Adobe Support: The rep just took 1.5 hour to copy the files from the server to my desktop and ran the CHUM file. The "HH" error did not trigger.
I CANNOT have files on my local, must be on server. I tried again from the server and voila, no error. Same RH files.
FIX for HH?: No idea, I just suspect a glitch/corrupted file with that one CHUM conversion (due to slow server and 2 hour conversion time) and I just needed to run it again.
Someone thought changing the file location from server to local cleared the error, but it did not. It's just as simple as regenerating the file. The location of the RH files does not matter, local or server. The only consideration is time if the server is slow.
Everything is resolved for me. Thanks to all!
Copy link to clipboard
Copied
I successfully created the CHUM files from the network drive and the error did not trigger - using the exact same files. While her way was faster, it did not correct any errors.
I believe the CHUM file was corrupt due to the time it took to convert from the server (2 hours).
I have no choice but to use the server - I've converted twice from the server today and not error. Was just a glitch it seems...
Copy link to clipboard
Copied
I'm, in the same situation. I'm the new person trying to make an update for a November 2018 release. (When a user is on a particular screen and presses F1, the RH help topic should display.) There are new topics I've created and made changes to existing and I need the screen names/IDs for the module in the software. I am not getting any information from the developers regarding the IDs of the new screens in the software so I can map them - they keep saying the "last writer used a tool to do all that."
Copy link to clipboard
Copied
Perhaps the video below will help?
Copy link to clipboard
Copied
Thanks Captiv8r! I watched part of that a few days ago and watched the whole thing since you recommended it.
I now have a better understanding. My issue is a team of developers or rather one developer who doesn't seem to understand that I need his cooperation. Had we not had new screens in the software release, I could make the Help file updates using the files from the previous writer and pass them along.
But I have 4 new screens that need RH topics created and mapped to the software -- when F1 is pressed, the RH topic displays.
1. From most sources, they say I send the .h map file to the developers. What do they do exactly? Connect my IDs to the screens?
2. Other than creating the RH Map IDs and Map#s - is there something I can do on my end to make the software screen map to the correct RH topic?
I need to have perhaps the 10th conversation and push back - letting them know I need them to perform some steps on their end. They allude to a "tool" the previous writer used - doing it all on her own - but I think she just worked with someone else on the team to perform the mapping and the guy I now work with was not aware. She's been gone a year...
I just need to know if there's any other way RH can map a topic to a screen in the software, other than a developer taking my map file and programming the connections. I'm having a meeting this week and want to make sure I'm correct in what I share.
Thanks for the video and any continued help.
Copy link to clipboard
Copied
If the developers have already assigned unique codes to each screen, and assuming the code to call the help is already tied in to each new screen, you might be able to find out the unique code and manually add it in Robohelp.
But.
If it's possible, it's not simple.
One example is windows applications. You *might* be able to use Spy++ (a microsoft app) to find out ids when you run the application and open the screen. But you'll probably need a developer to point you to the right place to look. It's all developer-y and overwhelming.
I used the Finder tool, but I can't remember what I needed to look at for the window id.
How to: Use the Finder Tool - Visual Studio | Microsoft Docs
Or, if the application is a web application, you might be able to find the id using the developer tools.
If the developers haven't assigned a unique code, or the code to call help isn't already in the screen, then the only option is for the developer to do some work, either to assign an id and give it to you, or to accept your .h file and tie the correct id to the screen using whatever is the correct method for the application.
Unfortunately I can't give specifics as it depends on the specific application and how context help has been implemented.
Copy link to clipboard
Copied
Thanks Amebr - this is really helpful. I just wanted to make sure I'm not crazy in thinking I need their assistance. They Jedi-mind-tricked me - saying they never had any participation in the past.
To clarify: "If the developers have already assigned unique codes to each screen, and assuming the code to call the help is already tied in to each new screen, you might be able to find out the unique code and manually add it in Robohelp."
I'm about ready to go back and plead my case today - I really appreciate everyone pitching in - I don't care what people say - us documentation professionals are cool AF!
Copy link to clipboard
Copied
Hello again
Of course, I'm not Amber. She's much better looking! I also believe she only replies late in the afternoon or early evening US time. I think she lives in Australia. But I'll be happy to fill in what little I know.
I'm personally at a bit of a disadvantage here, as I've never had the opportunity to develop CSH in earnest. While I'm presently on my 61st trip around the sun, I'm a lot like a recent college graduate with CSH because I've learned the theory of how it works, but never really have had the "job experience" where I've put it into practice.
I've always considered it to be like this: Each point in the application needs some sort of unique identifier that is used to match up the help topic that should be associated with it. So if I imagine that my help page is a destination on our globe, perhaps it is stored at a specific location in Africa. And I know that my application is in a specific location in the US. So the map file is literally like a map in that it shows us where things are on our planet. And if I need to travel from my location here in Kansas City, I find that unique ID and follow the map line until I reach my help topic unique ID in Africa.
As the help author, you likely have no control over what the identifier is in the application. Because that's the developer's job. Somewhere in the application, a unique code is either automatically assigned by whatever tool the developer is using, or the developer should have the ability to manually enter his or her own code there. Or maybe even change an existing code to suit them. But your job as the help developer is to create that mapping relationship between the source launching point and the final destination.
As for what is used, it would appear to me that as long as you don't use a space, RoboHelp is happy to accept nearly anything in the Map ID field as shown below:
And indeed, I believe that your developer would need to add what you type into that field into a similar field in their application.
I hope this helps and doesn't only serve to further muddy waters!
Cheers.,.. Rick