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 1920 - [Help Handbooks] Update kcontrol protocols module search code to use DocPath
Summary: [Help Handbooks] Update kcontrol protocols module search code to use DocPath
Status: RESOLVED FIXED
Alias: None
Product: TDE
Classification: Unclassified
Component: tdebase (show other bugs)
Version: R14.0.0 [Trinity]
Hardware: Other Linux
: P5 normal
Assignee: Darrell
URL:
Depends on:
Blocks:
 
Reported: 2014-02-08 20:02 CST by Darrell
Modified: 2014-02-11 19:19 CST (History)
4 users (show)

See Also:
Compiler Version:
TDE Version String:
Application Version:
Application Name:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Darrell 2014-02-08 20:02:49 CST
Currently all *.protocol files are installed to $PREFIX/share/services. Each *.protocol file contains a DocPath key.

The DocPath key is queried and used by the help handbook navigator code but is not used in the kcontrol protocols module. Instead the protocols module code looks for the existence of a docbook file.

With the recent overhaul of the handbook system, several handbooks were merged. For example:

http and https
imap and imaps
ldap and ldaps
pop3 and pop3s
webdav and webdavs

Whereas individual *.protocol files exist for each of the above pairs, the DocPath key is the same. The help handbook navigator correctly detects this and when the user selects either option in the above pairs, the handbook points to the same handbook document.

The protocols module cannot do this. Thus, for the "*s" handbooks above, the result is a "Help Documentation Not Found" page.

A cheap trick would be to install sym links but for future maintenance the correct approach is to use the built-in DocPath key.

Further, there is no good reason other than very old code (I think the protocols module code is from KDE 2.x) and laziness that the protocols module displays the html pages with the html stripped. The result is unprofessional and  kind of silly when much of the page display in kcontrol is already html.

I looked into the option of merging the protocol and tdeioslave files because there is overlap --- which could eliminate the protocols module altogether, but I did not succeed in finding a solution.
Comment 1 Michele Calgaro 2014-02-09 06:14:03 CST
I will work on this bug this week, probably from Tuesday or Wednesday
Comment 2 Michele Calgaro 2014-02-09 08:26:42 CST
I had a first quick look.

Question! What is the purpose of having the Protocols module in Control center -> I&N?

IMO Control Center is a place where the user can change settings and control the behavior of TDE.
The Protocols module only reports a short unprofessional description of some ioslaves (for many of them the documentation is missing) and there is NOTHING that can be set.
If a user is interested in TDE protocol documentation, he can (and should) use the help center, not the control center. Besides, the TDE protocol documentation is quite poor :( If a user is REALLY interested, he would probably googled that :)

I propose the following:
1) completely remove the Protocols modules from Control center -> I & S. This removes functionality duplication and makes the Control Center more consistent (i.e. it only contains modules that can be used to tweak the system)
2) Rename the section "TDEIOSlaves" to "TDE Protocols" in the main help index page.

Darrell, Slavek, what do you think? I doubt people used the Protocol modules in I&N, and in any case we could simple highlight in the R14 release notes that the module was removed and the same documentation is available through the help center main index.
Comment 3 Darrell 2014-02-09 14:36:17 CST
>What is the purpose of having the Protocols module in Control center -> I&N?
The history: the Protocols module originally was part of kinfocenter. All of the kinfocenter modules were moved to kcontrol in the very early days of Trinity. (I don't know why.) All but two kinfocenter modules are now found in Peripherals->Information. The exceptions are Protocols and Samba Status. Both are found in Internet & Network.

That very early removal of kinfocenter was incomplete. Recently I completed bug 289, which I filed more than 3 years ago, as the low bug report number indicates. Recently, after resolving 289 I then filed bug 1910. Resolving bug 1910 should completely purge the remaining remnants of kinfocenter.

>IMO Control Center is a place where the user can change settings and control
>the behavior of TDE.
I agree. I had no problems with kinfocenter. Yet what is done is done. We move forward.

>The Protocols module only reports a short unprofessional description of some
>ioslaves (for many of them the documentation is missing) and there is NOTHING
>that can be set.
Much of the documentation has always been missing. This is the way documentation was always treated in the old KDE days. People want to hack, they don't want to add polish. Slowly we are trying to update the documentation problems. We have a long way to go but after the past month we now are in better shape than the KDE3 days.

>If a user is interested in TDE protocol documentation, he can (and should) use
>the help center, not the control center.
That is what I started to look into, as shared in the last comment of my original post. The idea makes more sense to me, but is beyond my skills. I know what needs to be done --- I just can't hack in C++.

>1) completely remove the Protocols modules from Control center
I'm fine with that. That was my first preference until I ran into my skill limitations.
Comment 4 Darrell 2014-02-09 15:42:32 CST
>I propose the following:
This conversation revealed to me a simple solution that I can handle with no C++ skills. :)

I ran a proof-of-concept test updating the contents of tdeioslaves.desktop from ioslaveinfo.desktop. In the handbook, the "new" Protocols category is identical to the existing TDEIOSlaves category. Of course, the category is populated from extracting the DocPath from the *.protocol files. All I need to is add a DocPath key as needed. I tested that too. File by file I can get the help handbook list to be identical to the kcontrol Protocols list.

My simple solution:

* Update the contents of tdeioslaves.desktop from ioslaveinfo.desktop. (Done)
* Add a DocPath key to all *.protocol files. (Started and proven)
* Add "We Apologize" handbook pages as needed. (Requires about 5 minutes per item --- grunt work)
* Rebuild all affected packages and verify.

All of this I can do. At this point the help handbook will have a new Protocols category that replaces the TDEIOSlaves category and will be fully populated the same as the kcontrol Protocols module.

We still need to work on adding useful information to the protocol handbooks, but this is a huge start toward fixing the handbooks and basically resolves this bug report.

The nice part is no C++ hacking required. :)

After I complete those changes I then rip the Protocols module from kcontrol and the source tree. I believe I can do that as well. Again, no C++ hacking required.

In parallel, I'll take a jab at resolving bug 1910.

I've taken the liberty of reassigning the report. Should I stumble I'll be sure to wimper and cry and let you know. That leaves you available to work on something requiring your valuable C++ skills.

Your questions prmpted me to tinker, which then revealed the simpler solution. Thank you. :)
Comment 5 Darrell 2014-02-09 17:14:25 CST
Quick report: I rebuilt tdebase as described. The kcontrol Protocols module is gone and the help center table of contents now lists Protocols rather than tdeioslaves. The protocol files that are in the tdebase sources all now have a usable handbook or the "We Apologize" handbook.

This solution is going to work just fine. :)

Yes, we have much work to provide handbooks with usable information, but that is true of the entire handbook system. One step at a time....
Comment 6 Michele Calgaro 2014-02-09 23:21:13 CST
> Quick report: I rebuilt tdebase as described. The kcontrol Protocols module is
> gone and the help center table of contents now lists Protocols rather than
> tdeioslaves
Ok, good :) If you post the patch I will test.
Comment 7 Darrell 2014-02-10 00:49:28 CST
There is nothing to test. This is much like most of the other help patches: grunt work.

I have tdebase updated and will push the patch soon. Then I'll start on the other modules. Just grunt work.

Consider this report resolved after I push the patches. Everything looks nice.
Comment 8 Darrell 2014-02-11 13:28:30 CST
The bulk of this resolution was pushed to git in commit 50741cc5. A few more patches are required, but the core problem of the protocols module is resolved. All protocol help handbooks are transferred to the help handbook system.
Comment 9 Michele Calgaro 2014-02-11 19:19:55 CST
Well done Darrell