By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 1839

Summary: [Help Handbooks] Create new help handbook page for non-existent handbooks
Product: TDE Reporter: Darrell <darrella>
Component: tdelibsAssignee: Michele Calgaro <michele.calgaro>
Status: RESOLVED FIXED    
Severity: normal CC: bugwatch, darrella, michele.calgaro
Priority: P5    
Version: R14.0.0 [Trinity]   
Hardware: Other   
OS: Linux   
Compiler Version: TDE Version String:
Application Version: Application Name:
Bug Depends on:    
Bug Blocks: 2014    
Attachments: Screen grab of new replacement page
tdelibs: Patch to use new replacement page
tdebase: Patch to add new replacement page

Description Darrell 2014-01-20 20:00:21 CST
Work is underway to prevent missing handbooks from populating the main handbook table of contents. This involves only commenting out the DocPath key in the app's respective *.desktop file. A verbose comment is added to each of these affected *.desktop files for future restoration when a handbook becomes available.

This method prevents blank handbook pages with the unprofessional message of "Could not find filename xxx.html....," but does not prevent users from trying to open non-existent help files from the app's Help menu.

Rather than presenting the unprofessional message in the handbook, a Sorry! KDialog would add a tad more professionalism and polish when no handbook exists.

The error message is in tdelibs/kdoctools/tdeio_help.cpp:319, but the underlying global Help function needs to intercept the request for opening a handbook, determine none exists, and then present the KDialog.
Comment 1 Darrell 2014-01-21 15:08:45 CST
Created attachment 1876 [details]
Screen grab of new replacement page

This new replacement page looks great. We now need translations or those users will still see the unprofessional blank page and error message.
Comment 2 Darrell 2014-01-23 14:56:56 CST
Created attachment 1887 [details]
tdelibs: Patch to use new replacement page

This patch is functional. I'd like to add a snippet to force the use of the English page when i18n versions are not found. Basically that means copying the code from a few lines previous in the code, but I don't know how to force that to the 'en' path.
Comment 3 Darrell 2014-01-23 14:57:45 CST
Created attachment 1888 [details]
tdebase: Patch to add new replacement page
Comment 4 Darrell 2014-01-24 14:24:10 CST
I pushed both patches to git.

tdelibs: commit 123c26a0
tdebase: commit 358b9d8a

We still need to add a snippet in tdelibsthat forces i18n users to view the English page when an equivalent i18n page does not exist.

I am in the process of updating all incomplete (that is, nothing but a template) and non-existent help handbooks to a new default template that should limit when the new 'Not found" page is seen, but we still need that page for future changes to Trinity.
Comment 5 Michele Calgaro 2014-04-30 02:29:52 CDT
Fixed in commit 37906b5.
The problem was not in the 'lookupFile' function, which already looks in the default English location if documentation is not found in any localized language, but in an incorrect previous patch.
Now the code works as follow:
1) look for documentation in localized language. If available display it.
2) if not available, look for documentation in English. If available display it.
3) if no documentation is available in any language, but the "help not found" page in localized language is available, display it.
4) if the localized "help not found" page is not available, but the English version is available, display the English "help not found" page
5) if nothing is available, display an empty page with the message "Sorry, there is no documentation available at all for <searched string>".

Basically unless the user tampers with installed files, one of the first 4 options is *always* selected.
If the user deletes some of the documentation files, option 5 may get chosen as a "last resource" message, but it would clearly be a consequence of a user mistake.