Hello. Would like to get some hint on how to create context sensitive help in FrameMaker.
What version of FM & what type of output are you looking at creating?
I am using FM 12 and I try to create CSH with Responsive HTML5 output. I was not able to locate the _Generated.h file to use it as a reference and to verify if I am creating my own .h file correctly.
I haven't experimented much with HTML5 output (in either RH or FM) but I know that my technique in creating CSH WebHelp using a customized Marker that contains the Map ID probably won't work. I don't see where you indicate a Marker type to be used for CSH (like you do in the RH Conversion Settings screen) in the FM Publish - edit Settings screen.
Found this in the FM2017 help files - Publish options - it talks about using CSH markers in the FM content and then manually creating your own .h file containing entries in a specific syntax (#define <map ID> <map number>). Supposedly a sample file is created too when you Publish -
For reference, the FrameMaker publish procedure also creates a sample map file:
a)Run the publish procedure for your document.
b)In Windows Explorer, go to the output folder.
If your source content has CSH markers defined, a <source book or document name>_Generated.h file is created at the same folder level as the output folder.
Example: For the output of a book named framemaker-publisher.book, the map file is framemaker-publisher_Generated.h.
You can use this _Generated.h file as a reference to create your map file.
You need to create your map file in the same format as this _Generated.h file.
important: The <source book or document name>_Generated.h file is created at the same level as the output folder and not inside the output folder.
FM very well supports Context - sensitive- help generation. You need to put a special TopicAlias marker with text as it's ID. FM create a map between ID, the target topic and a number. Your application can call the help with the ID or the number. FM is by default generates a sequential numbers in publishing.
You can also override the number by duplicating the <source book or document name>_Generated.h and updating the number as developer suggested. and keep source folder as guided by help documentation.
We are also planning to write an blog on this to explain the steps. please stay tuned.
That would be very helpful Amit, because the process is as clear as mud right now ;>)
does this mean that every time I (re)publish the HTML file I have to manually insert the numbers supplied by my developers? Or is there a way to make my Framemaker files "remember" which ID belonged to which TopicAlias marker?
We need to put the updated .h file in content source folder as mentioned in help
Copying the help snippet here
1)Add the CSH markers in the FrameMaker source.
2)Create a text file in any text editor and name the file as:
<source book or document name>.h
3)Place the map file in the FrameMaker source folder.
4)For each CSH marker that you apply in your document, you need to create one line item in the map file as follows:
#define <map ID> <map number>
Thanks for your reply.
A few more questions though:
Thanks for queries,
1. Yes, "FrameMaker source folder" is the folder where the book files are located
2. When FM is publishing it look for the ".h" in Source folder and find the marker reference and get the number from the file to encode output with that. If not found then it will create an ID by auto numbering it. The Output ".h" is just for reference for publisher to know what is going in output or want to use it to update Source Folder ".h". You can simply add new marker as per CSH marker rule and similar syntax. Hope this answer your questions.
my FM does not generate the .h file in the output and I cannot find the error.
Ich have created the <name_of_the_book>.h file in the source folder (within the folder where the .book file lies). I entered the lines:
#define fd_login_standard 0
#define fd_add_edit_server 1
Please tell me what it is that do wrong....
Looking forward to your answer
Thanks in advance!
If you have your .h file in your directory with your source files, that should be all you require. The information from your .h file gets incorporated into the published output. A folder is created along with the HTML 5 output, without the HTML5 ending which contains the log file and a copy of the .h file (on 2015/17/19 versions anyway).
We keep our .h file static, and as the Author, I add the markers as I add new content. As long as your developers are consistent with their numbering, they could give you the numbers, but they must be unique.
How do the developers call the Context sensitive topics.