This content has been marked as final. Show 3 replies
Ok! I've got it.
I was completly out of ideas just looking around my webhelp's publish directory when suddenly I notice a certain file I hadn't seen before which might help me... "index_csh.htm", which has a basic frameset with "cshdat_webhelp.htm"
Inside cshdat_webhelp.htm, down on the mainline, I find some interesting comments,
// VH 05/16/00 now support
// and WindowsOptions
// with the format #a=xxx,b=xxx,c=xxx...
OOooOOo.... this looks to be exactly what I need.
So here's my example, a TopicID of "myMapId" with a topic url of "test.htm"
So, I try out a link to: http://www.server.com/webhelp/index_csh.htm#TopicID=myMapId
and it works almost as well as I'd hoped. it displays test.htm with the "show" link and no framset.
Looking through the code, I eventually find out what comment "and WindowOptions" means. Including a "," followed by any window options will load the window with desired options. What, might you ask, are the window options? well.... i'm not exactly sure what all the options are, but the one I could find is "withnavpane=true". Include that in the link and the navigation pane will display.....
will load tes.htm with the navigation pane.
A little more on context sensitive help.... I don't really have a place to post my findings in research, so here seems a good a place as any. I just hope I include enough keywords to help anyone else in the future trying to figure this damn thing out.
there's one thing I never got, if you look at the contents of the BSSCDefault.h file, it includes lines in the format:
#define [topicid] [mapid]
where are the mappings to the topics actually stored? The answer: [projecname].ali
This file includes a series of lines in the format,
Sooo.... if ever you want to get away from the annoying "All Map IDs" dialgoue, which I've found doesn't work entirely as well as it should, I believe you can manually edit the [projectname].ali and get the same result
Oh, one other thing. On Peter Grainge's site on using mapids with merged projects,
There's a big long instruction manual which includes a whole lot of copying and pasting and messing with the .H files.... I've found that I don't need to do any of that if I call the project from "index_csh.htm#topicId=[topicid],withnavpane=true" -- thanks to a few ingenious lines in "cshdat_webhelp.htm" in the master proejct...
e.g. SetCsh(x,[topicID],[mapID],[relativePath]); -- there's one of these for each MapID, i imagine it's populated upon generation
When there's merged projects involved, there's a call for each merged project,
this in turn picks up all the CSH data from the child projects and makes life much easier...... I think it may actually be theoretically possible to have a "remote project" that's not even a merged project. I'm not sure why you would want to do it, but in theory I think you can change the one parameter to be any URL
Bravo! Your find looks valuable and should save much time, if I understand it. Did it work in production as you intended?
I'll plan to use your method. We have merged RHx5 WebHelp, which is not CSH. Development uses C# for .NET. We're planning a spring CSH using WebHelp, NOT Pro/RoboEngine.
We want to use mapids to automatically get a list of all the asp pages being used. Also, it looks like we need to give dev the Microsoft download example for calling from C# .
Thanks for your post, and we look forward to any information you've learned since.