KDE Traffic #22 For 18�Oct�2001

By Aaron J. Seigo

Table Of Contents

Introduction

Welcome to KC KDE! KDE3 development is progressing at a fine pace as KDE turns 5 years old. Watching the cvs commit logs, one realizes how much of the effort is aimed at polishing KDE to a high gloss with this release. Core libraries are getting facelifts, Qt3 integration continues in an effort to provide a perfect transition, and important bugfixes are to be found throughout the code base. Some of the more interesting things that are occuring include a new javascript API (which will be covered in next week's KC KDE), a renewed effort in the KDE PIM project both on the internals as well as the interface, a rewrite of the Kate text part aimed at cleaning up the old code base, the templatization and merging of the various core library loaders and new printing extensions.

It is never easy to guess where a project will end up, and usually best not to. But is seems pretty clear at this point that KDE3 will deliver a tighter, cleaner and more polished version of the desktop that millions have come to enjoy in KDE2.

Outside of core KDE development there is more and more third party development to be seen. Particularly interesting is the explosion of IOSlaves that are now available outside of the main KDE source tree. This is a testament not only to the popularity of KDE, but also the quality of the IOSlave design and concept. apps.kde.com has many of the new IOSlaves in its index, but trying to get a comprehensive listing of all third-party IOSlaves from there (or any other index site) can be difficult. As more IOSlaves appear it would be very useful to have a central index of all available slaves. Another option is to see as many of the production quality IOSlaves as possible imported into one of the newer "add-on" KDE modules.

Finally with regard to KC KDE, if there is anyone out there who would like to summarize some of the many email lists that your editor doesn't have time to, please email me. I'm already subscribed to nearly a dozen lists and get an ungodly amount of email each week. But as KDE is growing, so is the number of email lists. To widen KC KDE coverage will require more eyes and hands.

1. IRIX and aRts Support

8�Oct�2001�-�11�Oct�2001 (4 posts) Archive Link: "first stab at IRIX audio support for arts"

Topics: IRIX, aRts, Operating Systems

People: Jesse Barnes

As KDE depends on aRts for multimedia support, those systems that aren't yet supported by aRts are largely left out in the cold in this respect. Perhaps somewhat ironically, IRIX is one of those operating systems, but perhaps for not much longer. Jesse Barnes posted a patch to the list saying, "This file is supposed to provide audio support for IRIX platforms, and it somewhat works in that it opens the audio device and sets some parameters. 'write()' is never called however. I was hoping someone who's done one of these AudioIO classes before could tell me what the problem is. Btw, thanks a lot Stephan, for writing the AudioIO class. It looks like a nice interface." . Stephan Westerfeld replied with some pointers and Carsten Kroll took a crack at it as well and reported success with many of the remaining issues. With just a few more unresolved problems left, IRIX support in aRts looks to be close.

2. CNRP IOSlave

8�Oct�2001�-�11�Oct�2001 (1 post) Archive Link: "New: Common Name Resolution Protocol (CNRP) I/O Slave"

Topics: IOSlave

People: Ben Schepens

In the "yet another IOSlave" category, Ben Schepens announced the creation of an IOSlave for the Common Name Resolution Protocol. Thanking the KDE developers for providing an excellent set of tools to work with, Ben said:

I have written a CNRP I/O slave for Konqueror and posted it on freshmeat.net. It allows one to resolve Common Name URIs which are a standardized form of "Internet Keywords". Anyone can set up their own CNRP service for the Common Names they wish to support.

Please try it out and send me feed back (schepens@mindspring.com (mailto:schepens@mindspring.com) ) or feed back to the CNRP Development Mailing List (cnrp-devel@verisignlabs.com (mailto:cnrp-devel@verisignlabs.com) )

I have tried to make the INSTALL file clear and the project clean, but I would appreciate any constructive feedback on how to improve my code/project.

This is an early release. There are several things left on the TO DO list.

3. SSH KIO Slaves

9�Oct�2001�-�14�Oct�2001 (8 posts) Archive Link: "SSH kioslave"

Topics: KIO, IOSlave

People: J�rg Walter,�George Staikos

There seems to be a natural affinity between ssh and IOSlaves. There are at least three ssh-based IOSlave projects underway, including the sftp ioslave. The latest of these projects recently debuted at version 1.0 when J�rg Walter wrote an email to the KDE development list saying:

Many people asked and searched for it, me too, and after hours of futile searching, I did such a thing myself, and it actually works! ;)

kio_fish implements the FISH protocol, as seen in Midnight Commander's #sh VFS handler. This is basically shell-over-ssh access, only that it is possible to provide a dedicated server on the remote machine to speed things up. (Though my tests show no immediate need for that.)

kio_fish works with any remote OS, as long as it has a bourne style /bin/sh (bash is fine, a real bourne shell works, too) available (need not be login shell) and has a set of common UNIX utilities.

By now it should be stable, it was tested on several types of remote machines with lots of stuff done (reorganizing remote home directories, editing web server files, up/downloading large files).

It is full-featured, even thumbnail previews work like locally (if remote mime type detection is possible, see README). All KIO::SlaveBase methods are implemented, only resume is still on the TODO list. Password queries and "host key not found. are you sure you want...?" queries are passed on to the user.

Speed is great, on slow links (128kbit/s) it is faster than NFS - unless you are uploading (still working on that problem). If the remote machine runs at more than 300MHz, a 128kbit (compressed) ssh link is saturated. Download/stat/list/... performance is great with any remote machine. On the negative side, it has only been tested with openssh, I have no idea if it works with commercial ssh. Moreover, it might not compile out-of-the-box on non-Linux systems, patches welcome. Success reports welcome, too ;)

The first release can be found here: http://ich.bin.kein.hoschi.de/fish/

Btw, I think this would make a nice addition to kdebase or kdenetwork. If anyone wants to add it, e.g. to the kioslaves collection, just go ahead.

The slave does indeed work as advertised, allowing transparent remote access to file systems via ssh. There have been reports of minor compile-time errors on some distributions and no binaries have yet been made available.

George Staikos also warned that this is a very powerful ioslave and so should be treated with care. With yet another ssh ioslave on the scene, discussion of cooperation and code sharing between the projects has occurred.

4. Another KDE XML Editor

10�Oct�2001 (1 post) Archive Link: "XMElegance - XML editor"

Topics: XML, New Application

People: Richard Moore

KXMLEditor is a very nifty KDE2 program for editing XML files that has been around for a while. It recently got some friendly competition when Richard Moore announced his XMElegance project. Richard is leveraging some of the many components available in KDE2 to more quickly create a full featured and robust XML editor with native support for several well known formats. Richard provided a link to the project page as well as a quick summary of the project saying:

I've been working on an XML editor for KDE/Qt. I've stuck a few pictures online at: http://www.ipso-facto.demon.co.uk/development/xmelegance/xmelegance.html (http://www.ipso-facto.demon.co.uk/development/xmelegance/xmelegance.html)

Here's a brief description:

XMElegance is an XML editor designed to make maximum use of the facilities offered by KDE and Qt. It is sensitive to the document type it is editing, and makes use of KParts to allow for maximum flexibility and extensibility. It is currently very pre-alpha, so I'm not releasing anything yet but it already has the beginning of a decent framework, and loads different configurations for RDF, HTML, QML (Qt's internal markup) and DocBook files. In addition, it embeds the KJS engine from Konqueror to provide an internal script engine (DCOP scipting will be added soon too), to which I've added a bridge giving it access to the properties of QObjects and the ability to use the new QWidgetFactory dialog loader that has been added to Qt in the version 3.0 betas.

5. New KDE Website for PIM Project

11�Oct�2001�-�15�Oct�2001 (12 posts) Archive Link: "[Kde-pim] new on pim.kde.org"

Topics: KDE PIM, New Website

People: Klaus Staerk,�Kristof Borrey

Early in October Klaus Staerk announced the arrival of a new member in the KDE web site family: pim.kde.org (http://pim.kde.org) . Klaus outline the basic structure of the site saying:

our new PIM-Webpage is up and running. You can visit it at http://pim.kde.org At the moment, you'll find two parts:

Part 1: Overview over PIM-apps. This part will be rather static and for the moment kept as it is right now.

Part 2: Developper-part. Here, you can find at the moment "only" the two roadmaps that Cornelius posted to the list in September. There's quite some material I still have to add here. And once again a call for material to app-maintainers: please send me material that isn't published on the app-individual webpage but is meant to be addressed to pim-developpers, e.g. information about libraries, documentation, roadmaps or whatever might be of interest for the developpers.

Just as the PIM project itself has been seeing strong activity, so has the website. A week after the initial announcement, Klaus detailed updates that had been made to pim.kde.org (http://pim.kde.org) saying, "I've put up a new page about "KSync" on pim.kde.org The page about KPilot (where I published Adriaan's changelog-posting) has been deleted as the KPilot-changelog seems to be the only one that's kept up to date. Maybe we can put that page up again when there exist changelogs for all pim-apps :-? One thing about icons: Kristof Borrey just creates new icons for KPilot, Kandy and KOrganizer. I attached his proposal for the new KPilot-icon which is IMHO great !"

This sparked some conversation regarding the relationship between KNotes, KMail and KDE-PIM as well as discussion as to renaming KDE PIM to something more end-user friendly. With the amount of new development (and developers) in the KDE PIM project, this is one area of KDE3 to keep your eyes on.

6. New Address Book for KDE3

13�Oct�2001�-�14�Oct�2001 (14 posts) Archive Link: "Request for comments: New address book API"

Topics: KDE PIM, KAddressbook

People: Cornelius Shumacher,�Cornelius Schumacher,�Ellis Whitehead

A fundamental part of workgroup software is the address book. While useable, the address book in KDE2 has several known limitations. KDE3 offers the chance to address many of these issues and Cornelius Shumacher, one of the primary members of the KDE PIM project, is doing just that. Cornelius cross posted these details on a new KDE address book API:

in kdepim/kabc there is a new address book API for KDE. It is meant as replacement for libkab (in kdelibs/kab). The new API should solve most of the problems of the old one. I propose to do the following:

  1. Fix remaining problems of the new API (I need your input here :-)
  2. Move new API to kdelibs.
  3. Adapt applications to use the new API.
Please have a look at the new API and send me your comments.

Key features of the new API:

Comments and feature requests quickly flooded in, including requests for SQL and LDAP backends and CSV importing. Ellis Whitehead asked how independent of X the API was and Cornelius answered, " The dialog for selecting address book entries is the only class in the API that requires X. All other classes are completely independent. You should be able to use them for your application right out of the box."

7. Kate Text Part Rewrite

13�Oct�2001�-�14�Oct�2001 (1 post) Archive Link: "Kate: IMPORTANT NOTE"

Topics: Kate

People: Cristoph Cullmann

Explaining the concept of "bit rot" to a non-programmer can be a bit difficult. After all bits don't actually deteriorate, right? But as any coder can tell you, a sufficiently large piece of code that is left long enough, passed through enough hands and has enough features added to it over time will become more and more difficult to maintain. Developers forget some of the intricacies of the code, or simply leave the project for others. Hack upon hack starts to pile up. Code paths mount and it starts to look more like a good Italian pasta dinner than inspired craftsmanship. What does one do at that point? Well, refactor of course! But sometimes that isn't even enough and the dreaded rewrite becomes the last best hope.

Kate hacker Cristoph Cullmann reached this point with the text part used in KWrite, Kate and many other KDE applications. He announced his resolve saying:

I will rewrite the most stuff of Kate's internal document and view class this weekend and next week (has allready started, but will need a bit ;) During this time Kate in CVS will still compile (won't break compilation, believe me ;), but it will be mostly completly unusable.

Probs at the moment

It will be hard but must be done, or I will never understand the code and be able to fix the many remaining bugs (like crashs on delete/insert of huge textblocks).

Cristoph has since been steadily committing improvements to the new code base to bring it to stability and feature completeness.

Sharon And Joy

Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0.