I got asked to integrate RoboHelp search into an external search and now I am looking for an endpoint on RoboHelp to trigger such a search, get some responses in a defined format (JSON?) to be able to consume that then. But I could not yet find an API for that. Anyone around who could help me with that? Is there an API that I can call with "curl" to get some responses? Essentially I have a search term, want to get the top X search results from RoboHelp along with the URL on RoboHelp and then render this for the enduser.
The API docs I got sent are for showing RoboHelp from different digital entities (web, Java app, C# app, ...), but not a generic API for me to call into.
This is the API I got sent to:
Is there something better around? Some Swagger doc or so? Some other developer documentation? They surely have that around in 2021 ...
Your link is for the different tools used by software packages to call/invoke the HTML to display a specific topic in the output (that's called Context Sensistive Help or CSH).
How are you trying to use RH's output?
It's for a community like this here. You see a search box at the top. When you search there I want to show RoboHelp search results there as well. And when clicked on it redirect to the RoboHelp page.
I suspect you'd need to import the HTML content into your forum software for that to work. Depending on the version of RH you've got, you can produce a "raw HTML" version for consumption in other systems.
Unless you can tweak your forum search engine to "crawl" the other spot's RH-produced HTML site.
We once made a concept for something that's similar to what you're looking for. We wanted to integrate a help search into our flagship application, so that users could search for something they're having trouble with and get results directly within our application.
For this concept, I investigated a tool called ZoomSearch search engine. It indexes all html files on a given location (directory, web directory, etc.) and creates a search index. It also generates a search field that looks through the search index and a result page that displays the results. Maybe this could be relevant for you.
I think it's a pity that RoboHelp doesn't provide some kind of API that lets you directly retrieve data from the help.
But this would mean essentially investing into a separate search engine, indexing RoboHelp separately and then using THAT search engine instead of the RoboHelp internal one. Seems a bit overkill to me so far ... and I guess it'll get a bit expensive as well using a third system here ...
Well, let's see if someone else comes along and has a better idea. For now I have to tell my client this does not seem to be possible from what we see here ...
Umm, aren't they already using a third-party search in their forum software anyways?
No, the forum has its own search engine integrated. That is specific to the forum ... and not available to any other entity. We cannot use it to crawl a different system.
Correct, but they do not want to migrate the Help Content into the forum ...
But what would be potentially a possibility is to use Google as intermediate ... scope the search with "site:<helpsite> search term" and we could query that. Not sure about the legality of that though, don't want to get my client into hot water because of that ...
Just curious - what would be the legality of that? If the site content is public, Google's going to eventually crawl it anyways.
Well, if we query Google and then add the results to our own search engine without mentioning Google they might be sueing us. It's about how to represent this. I found https://developers.google.com/custom-search/v1/site_restricted_api though which would make this legal, programmable but a bit pricey ...
Ok - my understanding was that a simple Google site search was free, but as my father used to say "fill yer boots!"
Ouptut generated from RoboHelp runs in the browser even for search, these can't be called using API. A server is needed for API endpoints. RoboHelp Server is designed for this purpose which has Search API.
Can you point me to the API documentation of RoboHelp Server then? I need to check if my client is using that though ...
You can download the RoboHelp Server 11 online help here:
See Page 36 for info on the REST Web Services and specifically on Page 37 for forming a Search Query. More broadly, there is also information on using RoboHelp's Context Sensitive Help (CSH) APIs for various languages on page 38.
This may not be exactly what you're looking for, but might give you some insights to a solution.
Is there a possibility to identify which version my client is using? So if they use the server or not? Read: I want to know if it's worth pursuing this further or not.
Just ask them - "did you drop a bucket of cash on RH Server and is it hosting your output on your web server?" 😁
Done already, just did not get an answer yet. I might have phrased it a bit differently though ...