Assign Numeric ID for Help Topics in OxygenXML

Post here questions and problems related to editing and publishing DITA content.
balajinrs
Posts: 16
Joined: Tue Nov 08, 2022 5:12 pm

Assign Numeric ID for Help Topics in OxygenXML

Post by balajinrs »

Trying to create CHM file using DITA file. Now I need to assign/map a numeric ID like 12345 to a DITA file. So that I can use that ID to display that specific topic.

it will be Helpfull if I get some clues
Radu
Posts: 8395
Joined: Fri Jul 09, 2004 5:18 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by Radu »

Hi,

I will describe how we do this for the Oxygen User's Guide.
So in the Oxygen XML Editor installation folder we have a "help.exe" and a "help.chm" containing the entire Oxygen user's manual in CHM format.
When somebody presses F1 in the application we run a command line like this:

Code: Select all

help.exe 9999 D:\path\to\OXYGEN_INSTALL_DIR\help.chm topics\lock-handler-factory.html
That "9999" needs to be some unique identifier specific to your application which will remain constant.
And the "topics\lock-handler-factory.html" is a reference to the HTML file inside the CHM file.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
balajinrs
Posts: 16
Joined: Tue Nov 08, 2022 5:12 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by balajinrs »

Thank you for your reply
Now my question is how to assign this ID for a topic in oxygenxml editor.
Here the topics will be in xml files.
Radu
Posts: 8395
Joined: Fri Jul 09, 2004 5:18 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by Radu »

Hi,

DITA topics allow the use of a <resourceid> element, something like this:

Code: Select all

<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
<topic id="introduction">
    <title>...</title>
	<prolog>
		<resourceid appid="1000"/>
	</prolog>
    <body>
        <p>....</p>
    </body> 
</topic>
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
balajinrs
Posts: 16
Joined: Tue Nov 08, 2022 5:12 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by balajinrs »

Thank you for your prompt reply Radu.
as per my understanding , 9999 is the application ID which will remain constant for all the topics
help.exe 9999 D:\path\to\OXYGEN_INSTALL_DIR\help.chm topics\lock-handler-factory.html

Now my requirement is I need to pass number instead of topic itself "topics\lock-handler-factory.html". Is there any way to do that?
Radu
Posts: 8395
Joined: Fri Jul 09, 2004 5:18 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by Radu »

Hi,
as per my understanding , 9999 is the application ID which will remain constant for all the topics
help.exe 9999 D:\path\to\OXYGEN_INSTALL_DIR\help.chm topics\lock-handler-factory.html
Yes, from what I remember in order to keep the same help dialog window opened when you invoke the help.exe multiple times you need to pass the same application ID to it.
Now my requirement is I need to pass number instead of topic itself "topics\lock-handler-factory.html". Is there any way to do that?
You probably need to create your own script in whatever programming language you are comfortable with which goes through all the DITA topics in the project and creates for example a ".properties" file mapping resource IDs to HTML topic paths. Then when you need to display a particular resource ID, you first go through the ".properties" file to find out the HTML location of the topic inside the CHM and then invoke help.exe with the HTML file location.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
balajinrs
Posts: 16
Joined: Tue Nov 08, 2022 5:12 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by balajinrs »

Will the alias.h and context.h help to achieve the following requirement

I need to assign map id to a topic . say 66571
After I generated CHM file (say toc.chm) I will VC++ api to call CHM file and pass the ID 66571, then it should directly open that page.

if so where I should keep these files. because when I generate CHM file oxygenxml is creating .hhp , .hhc and .hhk files
what should be the format of the files to map ID to a topic
Radu
Posts: 8395
Joined: Fri Jul 09, 2004 5:18 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by Radu »

Hi,

About the custom file mapping IDs to HTML file paths, you can define your own format, for example you can try to write it using the ".properties" file format:
https://en.wikipedia.org/wiki/.properties
and place the properties file next to the CHM.
Then you can try to load it in the C code to obtain the mappings, then use the mappings to start the help process.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
balajinrs
Posts: 16
Joined: Tue Nov 08, 2022 5:12 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by balajinrs »

I created a file called "toc.properties" has the following
66571=WELLMENU/Pore_Pressure_Spreadsheet.html
but unable to find the C code to generate the map file
Radu
Posts: 8395
Joined: Fri Jul 09, 2004 5:18 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by Radu »

Hi,
You probably need to write some custom code to parse the DITA topics and produce the ".properties" file, we do not have code to provide you with.
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
balajinrs
Posts: 16
Joined: Tue Nov 08, 2022 5:12 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by balajinrs »

HI Radu
Thank you for your prompt reply
One General question , is that really possible to embed the ID to a Help Topic as we do in RoboHelp.

After generating CHM it is not possible to assign as per my understanding. Moreover parsing the CHM to generate mapping file using C code is literally involves more steps.
As per all our conversation usign OxygenXML we will be not able to assign numeric IDs.
Radu
Posts: 8395
Joined: Fri Jul 09, 2004 5:18 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by Radu »

Hi,

We do not have out of the box support for what you want, a customization could me custom made (for example by a third party or a consultant) to achieve your objectives.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
balajinrs
Posts: 16
Joined: Tue Nov 08, 2022 5:12 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by balajinrs »

If we want that customization what is the procedure
Radu
Posts: 8395
Joined: Fri Jul 09, 2004 5:18 pm

Re: Assign Numeric ID for Help Topics in OxygenXML

Post by Radu »

Hi,
If you are willing to hire a third party consultant to create such a customization, you can either drop us an email (support@oxygenxml.com) and we can try to propose to you some consultants or you could register on the DITA Users List and ask there is there are others who have created such customizations and are willing to help with this: https://dita-users.groups.io/g/main
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
Post Reply