Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

How do I make context-sensitive help work?

Guest
Jul 26, 2016 Jul 26, 2016

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?

TOPICS
Classic
5.2K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 24, 2018 Oct 24, 2018

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!

who.gif

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Oct 24, 2018 Oct 24, 2018

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.

http://whirltheworld.com/Salesbuilder-WebHelp/AUTHOR_INFO_READ_FIRST/All_about_the_AIR_Help/CSH_Info...

Cheers... Rick

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 24, 2018 Oct 24, 2018

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

Help others by clicking Correct Answer if the question is answered. Found the answer elsewhere? Share it here. "Upvote" is for useful posts.
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 24, 2018 Oct 24, 2018

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 25, 2018 Oct 25, 2018

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?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 25, 2018 Oct 25, 2018

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?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 30, 2018 Oct 30, 2018

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.)

  • I don't see the Context-Sensitive option under the File menu.
  • When I navigate to the Context-Sensitive Help Folder from the Output Set pod, the right-mouse options are Edit and Explore, Properties is grayed out.
  • I also see this: "Because creating CSH is a bit of a "closed loop" between the application developer and the help author, it is impossible to allow you to create new topics and assign them to new Map IDs, then see this in actual use." Not sure what this means based on "then see this in actual use"?. My scenario is that I am the new writer (the last writer used some "tool" and was able to by-pass the developers without getting ANY information from them - there were numerous help topics already created and mapped - in the software (C++), the user presses F1 and the correct help topic displays. There's a new release in November (tick, tock...) and there are 4 new screens, meaning I need 4 new topics. This seems to say it's impossible for me to add topics and map them?

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Oct 30, 2018 Oct 30, 2018

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

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 30, 2018 Oct 30, 2018

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 30, 2018 Oct 30, 2018

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.

MapIDs.png

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 30, 2018 Oct 30, 2018

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 30, 2018 Oct 30, 2018

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.

Context Sensitive Help


See www.grainge.org for free RoboHelp and Authoring information.

@petergrainge

Help others by clicking Correct Answer if the question is answered. Found the answer elsewhere? Share it here. "Upvote" is for useful posts.
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 30, 2018 Oct 30, 2018

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?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 30, 2018 Oct 30, 2018

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 30, 2018 Oct 30, 2018

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."

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Oct 30, 2018 Oct 30, 2018

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

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 30, 2018 Oct 30, 2018

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Oct 30, 2018 Oct 30, 2018

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

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Oct 30, 2018 Oct 30, 2018

This may help as well. Moreso for the developer though.

Using Visual C++ 6 - Kate Gregory - Google Books

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Oct 30, 2018 Oct 30, 2018

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

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 30, 2018 Oct 30, 2018

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...

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Oct 30, 2018 Oct 30, 2018

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 31, 2018 Oct 31, 2018

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...

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 31, 2018 Oct 31, 2018

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.

@petergrainge

Help others by clicking Correct Answer if the question is answered. Found the answer elsewhere? Share it here. "Upvote" is for useful posts.
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 30, 2018 Oct 30, 2018

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.

rh_map_number.png

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
RoboHelp Documentation
Download Adobe RoboHelp