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
Great information! Based on what's convenient, either the writer created the MAP IDs or the developers. It doesn't really matter who, as long as they are communicated and they match when entered into the software and into RoboHelp.
I found the perfect chart inside the Adobe RoboHelp 2017 User Guide (pg 292) that I'm using in my presentation later. I communicated this to them two weeks ago and they insisted the previous magical unicorn writer did it all by herself with a special "tool" and just sent them a file and everything worked. #hogwash I just needed to get all my ducks in a row and make sure I understood so that I can go back and provide the solution. In my effort to be diplomatic, I've allowed them to take me in circles a bit because I'm not up to date on all the new "tools" out there, but now we're back to the original. It's been a year since she's been gone and my guess is whoever she worked with is gone or isn't a part of the conversation.
Thanks a million for hanging in with me - I appreciate it!
Copy link to clipboard
Copied
Hmmmm, it's possible...
A few versions back, the Adobe folks did actually create a tool that could be used with RoboHelp that would look at an application and create the mappings and whatnot in sort of a magickal way. But it was real finicky and it relied on the developers of the application to use a specific programming language (C? C++? C#? I'm not recalling). So I do suppose it's possible that is what was being used. But I'd be doubtful about it because to my knowledge, it was one of those things that sounded awesome in theory but never really took off.
Hmmm I did some googling and found the link below that may help.
Cheers... Rick
Copy link to clipboard
Copied
I worked for one company where the developers gave us a method for finding
their screen code. When they added screens they didn't have to give us any
info. It could be that's the system where you are and you haven't been told
by anyone.
Peter Grainge
www.grainge.org
@petergrainge
Copy link to clipboard
Copied
So weird you posted this! The developers have just made the decision to make the screen code visible in my test build release going forward. Yay! I really appreciate you proving this information in case they hadn't offered.
Copy link to clipboard
Copied
By chance, do you know of a magical API that will query the software, learn the code and automatically map?
Scenario: When a user is on a particular screen in the software, they press F1 and the appropriate topic displays.
Why I'm at a loss: 3rd week on the job taking up where someone else left off who left ZERO instrucitons or information. No one knew how she did what she did. My RH experience has been develop and pass along - not integrate into software.
Goal: There are many topics already working properly, but I have (5) new screens that I've created RH for, but need to be connected to the proper screen in the software.
My lead developer says: "The software will call the HtmlHelp api and pass the RoboHelp topic ID when F1 is pressed."
How do I set things up so the software will call the HtmlHelp api and pass the topic id when F1 is pressed?
Is this something RH handles or do I need a 3rd party software?
Copy link to clipboard
Copied
Based on the quote from your developer, the software is already set up to call the htmlhelp api. That call includes the location of the help, and the id of the screen where F1 was pressed. Assuming the ID is added to the map file and mapped to the correct topic in Robohelp, once you generate and publish to the correct location, F1 will open the correct topic.
Now, the problem you have is how to get that ID.
I'm not aware of any specific tool that can do this. The closest I'm aware of is Spy++ (which I linked in one of your other post) which I believe only works for programs written in certain programming languages. But even that is not guaranteed as it also depends on how the application has been developed.
Given that your developers say the other writer used some tool, it's possible that the application has been set up with the auto-csh method as described in the link Rick posted. Can you confirm you tried the steps in the last section of that page?
Copy link to clipboard
Copied
Hi there Amebr,
I have RH 2017. I'm trying the instructions Captiv8r​ provided. The instructions for Automated CSH Authoring intsruct to:
Click File > Context-Sensitive Help > Open Application... (From there the RoboHelp author chooses an EXE file for software created using C++. RoboHelp should open the application where mappings can be established.)
Unfortunately, if I can't make this happen in the next week or so, I'm fired/contract ended... any help is appreciated. I'm willing to pay for walk-through consultation.
I have everything ready, the topics are searchable in the software, but the new 4 screens do nothing when F1 is pressed.
Copy link to clipboard
Copied
Wow, I'm so very sorry to hear that. It's always unfortunate when you have a group of folks saying things like "well, the last person used some kind of tool that did that" and you aren't given any information whatsoever what happened. Never a good situation to be in.
Unfortunately, software companies never like to advertise that certain features have been actually removed. I'm guessing they feel it reflects badly on them. My own guess is that because this tool never really took off as they had hoped, it was removed. But only Adobe can answer that one fully. The rest of us are left with experimentation and drawing our own conclusions based on said experimentation.
Really wish I could be of more help. I'm not convinced that even if you were to get Adobe involved that they would be able to help in your situation.
Hopefully others have better information to offer.
Cheers... Rick
Copy link to clipboard
Copied
What do your current MapIDs look like? That might give you a hint as to what the developers are calling out with on the screens that do work when F1 is pressed. What type of output are you producing anyways? I don't recall you saying what flavor was being created - WebHelp, CHMs, Responsive HTML5, etc.
Copy link to clipboard
Copied
Hi there,
I'm creating a CHUM file that's added to the software folder. I followed instructions on p300 of the 2017 RH User Guide to Map an application dialog box with a topic. I opened the C++ software app via RH, navigated to a screen that requires mapping and no CSH Options dialog box displayed in RH, allowing me to perform mapping.
Here's what the current mapping looks like in RH. The developers say the "last writer" used a tool and didn't need anything from them other than to include the CHUM file.
Copy link to clipboard
Copied
Do those MapIDs look like something your developers are having the software pass over to the launching api? Or are they using the Map# within the software to make the connection to the help topic? You need to have a developer look at the program for a screen that is currently working to see what they are using and where it's coming from.
Copy link to clipboard
Copied
See if this helps. I googled robohelp 9 automated context sensitive help as that is the version that introduced this method. I don't know if the method is still supported.
See www.grainge.org for free RoboHelp and Authoring information.
Copy link to clipboard
Copied
Here's all I received from the developers about the past process: "You deliver one chm file. Point will call the HtmlHelp api and pass the topic id when F1 is pressed."
Automated CSH Authoring apparently doesn't work to Map an application dialog box with a topic. I tried and RH did not open the CSH Options dialog box to allow me to map. Others are having the same results: Has anyone used Tools | CSH | Open CSH Help successfully?
Copy link to clipboard
Copied
Yes, it looks like that auto-mapping tool doesn't work much anymore. I would get your developer to show you what topic id they are sending for a screen that is currently working - since you aren't sending them a list of Map IDs for them to use, they must be telling you what the program will send that you can use to build your .h file mappings.
Copy link to clipboard
Copied
Right. They really relied on the last person. They're not really sure what the screen IDs are - they've sent a few samples, but the IDs they've given don't work.
I'll ask them again to review items that are working and send me that information.
What's meant by: "Point will call the HtmlHelp api"?
Developer response when asked what he needs from me: "You deliver one chm file. Point will call the HtmlHelp api and pass the topic id when F1 is pressed."
Copy link to clipboard
Copied
Sooo, I'm wondering if the following idea may help. If you have already thought of this and tried, I offer my sincere apologies.
Perhaps consider taking one place that actually works. Some dialog where you press the F1 key and it links properly.
Then note the topic that appears.
Then look at the CSH mappings inside the RoboHelp application and find that mapping ID and make note of what RoboHelp is using.
Then have the developer look at that dialog code from his or her end. See if they can find the field where that identifier is listed. If so, that should give them a clue as to where to insert a similar code in the new dialog code.
Cheers... Rick
Copy link to clipboard
Copied
Great idea - it's a very sensible place to start - considering we have pre-existing that are working fine. I've sent the map file to the developer and they can't seem to locate the information and I can't provide them any help to view their end.
I just wanted to exhaust every option for automatically querying the software to find what I need and that hasn't been possible via Spy++ or the internal RH Automate CSH feature.
If the previous person used a special tool, I can't find a trace or anyone on the web who has used a tool to auto map to a C++ software.
Thanks to everyone for their help, but until the developers decide to get serious and help, my hands are tied - but the help file are all ready to go.
Copy link to clipboard
Copied
Sooo pondering as well if you can maybe glean some information by working the other way too.
When looking at the CSH mappings in RoboHelp, are you able to ascertain any sort of a pattern? For example, say you have a menu with 10 items on it in your app. You look and see that item 1 maps to a certain code or number. Item 2 maps to an incremental version of the code or number. And so on.
If that's possible, you may be able to determine what needs to be plugged into the CSH mappings to make it work.
Cheers... Rick
Copy link to clipboard
Copied
This may help as well. Moreso for the developer though.
Copy link to clipboard
Copied
Hmmm, after looking at your screen that was shared earlier, I'm wondering if perhaps the title bar of the window being mapped is what is being used. For example, "AddDocument" may be presented as "Add Document". And in this case, maybe the Map # is simply something you would just make up and assign, then choose the correct topic.
Might be worth trying.
Cheers... Rick
Copy link to clipboard
Copied
You'd think, huh... But the screen name the developer gave me is in the following formate: IDD_CLOSING_DISC_Tole 21896
This does not match the current naming convention and MAP IDs won't take spaces...
He says he can't find anything else for screen names...
Copy link to clipboard
Copied
So when you look at the screen where you would see it before pressing the F1 key, what does the actual Title Bar read? My thought is that you would type that, then use that 21896 value.
Copy link to clipboard
Copied
This is a good thought - I'll give it a shot. I think all that have been helping will fall under their desks if this is the answer. Myself included!!!!
I think I tried that earlier and it didn't work - you know how it is when you're trying a million things and not documenting...
Copy link to clipboard
Copied
The built in tool was introduced back in RoboHelp 9 and was little used. Maybe something in a later version is having an impact or something in a later version of the tool used by your developers. Did your predecessor have the same version of RoboHelp as you.
Either way, Adobe Support will be contacting you to see if they can help.
See www.grainge.org for free RoboHelp and Authoring information.
Copy link to clipboard
Copied
Okay, I think that code helps. I'm pretty sure it's the map ID and the map number.
The text part is the "map id". The number part is the "map number".
If this relates to a new screen that isn't in your .h file you can add it by opening the Edit Map IDs dialog box and clicking the Create Map ID icon at the bottom of the Map IDs box. Enter the text part in the Map ID field and the number in the Map Number field.
Then you can assign that number to the correct topic.
Assuming the application is set up right, then the F1 call will work for the new screen.
Side note: And this entry in the .h file looks like: #define IDD_CLOSING_DISC_Tole 21896
So if your developers have a file that contains that format (with the #define text), you could potentially get a fresh copy each release and just paste it over your existing copy. It won't wipe out the link to the robohelp topics, because that is maintained in a separate file. But handily, if you select the "Hide used IDs" checkbox, you can quickly see the new IDs and link them to the appropriate topics. The icons are also colour coded - blue for linked and yellow for unlinked.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now