DocBook to WebHelp Classic big problem

Ordinant
Posts: 5

DocBook to WebHelp Classic big problem

Sat Mar 16, 2019 1:21 am

We use Oxygen 18.1, 19, and now 21.0 to generate WebHelp Classic from a DocBook 4 <book>. It has worked well, and looks great.

However, a customer discovered that if a search engine returns a link to a single frame of our WebHelp site, only that frame is returned as a result of that link, without the TOC and header panels at all.

By contrast, testing with the sample DITA-based WebHelp you provide at https://www.oxygenxml.com/samples/DITA- ... -Feedback/, I see the behavior we want but do not have. The Safari browser provides a right-click "Open Frame in New Tab" option. Using that option on any page in your sample shows me that page still wrapped in three panels with TOC visible and usable. In fact, we can right-click a page's entry in the TOC and "Open Link in New Tab." This opens the requested page, retaining the TOC and header panels as expected.

Trying the same thing on our published WebHelp returns only the document panel. There is no way to recover from this bogus single-frame view back to the standard three-panel view.

Try this yourself. Here is the top level of our WebHelp book: https://docs.tibco.com/pub/str/10.4.2/d ... index.html
You can navigate around in the Webhelp exactly as expected from the TOC and from the Next and Previous links.

However, if you use one of the "in New Tab" methods described above, or if a search engine incorrectly returns a link to a single page, you get into an unrecoverable situation. Try this:
https://docs.tibco.com/pub/str/10.4.2/d ... -client_ed

The AMS documentation I'm showing you here was a prototype for us using Oxygen to produce WebHelp for all books in our very large doc set. I was prepared to talk my managers into spending big bucks for your XML WebHelp product so that we could automate this conversion as part of our doc build system.

But that purchase -- indeed, our future of using Oxygen-generated WebHelp at all -- is now in danger if we can't get this issue fixed of breaking out of the three-panel WebHelp enclosure.

I understand that you and the entire world are turning towards DITA and that you think of DocBook as a legacy albatross around your necks. While I don't completely disagree, we also have a 3000 page doc set, a very active continuing release cycle, and nowhere near enough personnel. That's why I was so eager to let Oxygen do the heavy lifting of making us nice-looking WebHelp instead of crafting it all from scratch.

So, is this panel breakout problem fixable for DocBook, as you already fixed for DITA? If so, please fix this ASAP.

However, if you take the also reasonable position that you don't have resources to devote to DocBook work, please let me know ASAP, so that my group can go in a different direction.

Thank you!
bogdan_cercelaru
Posts: 208

Re: DocBook to WebHelp Classic big problem

Tue Mar 19, 2019 3:57 pm

Hello,

Thank you for reporting this. I've tested and I can confirm this behavior.
Also, I've registered an issue in our issue tracking system to be addressed by our developers.
In the meantime, to fix this issue, you could edit the "${OXYGEN-DIR}/frameworks/docbook/xsl/com.oxygenxml.webhelp.classic/oxygen-webhelp/resources/js/webhelp_topic.js" file and replace the

Code: Select all

if ($('#permalink').length > 0) {
if (window.top !== window.self) {
try {
if (window.parent.location.protocol != 'file:' && typeof window.parent.location.protocol != 'undefined') {
$('#permalink>a').attr('href', window.parent.location.pathname + '?q=' + window.location.pathname);
$('#permalink>a').attr('target', '_blank');
} else {
$('#permalink').hide();
}
} catch (e) {
error(e);
}
} else {
window.location.href=getPath(location.pathname);
}
}
with the following one:

Code: Select all

if (window.top !== window.self) {
try {
if (window.parent.location.protocol != 'file:' && typeof window.parent.location.protocol != 'undefined') {
$('#permalink>a').attr('href', window.parent.location.pathname + '?q=' + window.location.pathname);
$('#permalink>a').attr('target', '_blank');
} else {
$('#permalink').hide();
}
} catch (e) {
error(e);
}
} else {
window.location.href=getPath(location.pathname);
}
Please note that this fix applies to Oxygen XML Editor version 21.0 and will be overwritten by future updates.

Regards,
Bogdan
Bogdan Cercelaru
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com

Return to “DocBook”

Who is online

Users browsing this forum: No registered users and 0 guests