prev
Issue 105
6th April 2008
by Danny Allen
next


This Week...
General improvements in Kickoff, KRunner, and assorted Plasma applets. Integration of Marble into Digikam for geolocation of photos. Configuration of fullscreen mode in Gwenview. KHTML fully passes "selector" test. An automation GUI for KLinkStatus. A database connection plugin for the Kommander scripting framework. Tutorials and examples added to Step, which moves from kdereview to kdeedu. More maps for KGeography. Various enhancements in the new KBlocks game, which moves to from playground/games to kdereview. Get Hot New Stuff becomes functional in the now-feature-complete KDiamond game. Various work in Kate. Improved file tagging mechanics in Dolphin. Improvements in context menu sharing between Konqueror and Dolphin. Beginnings of a Windows/WMI backend for Solid. Work to integrate PcmIO into Phonon. Improved hyperlink creation support in composition across KDE-PIM. Work on user data/statistics migration issues between Amarok 1.x and the upcoming version 2.0. Group policies in KTorrent. The Glimpse scanning application is renamed "Skanlite". Redesigns and refactoring in NEPOMUK. Okteta moves to kdereview.

Sebastian Trueg writes an update about NEPOMUK:
The NEPOMUK Server Redesign
There were many problems with the NEPOMUK server and all NEPOMUK services being KDED modules. Whenever there was some bug in one of the services, KDED would crash completely and maybe even more importantly, KDED would be totally blocked during heavy database activity. In the end I learned that KDED was never intended to host arbitrary services but only small, stable ones.

Thus, I decided to give the NEPOMUK server its own process including its own service handling. The result is a much cleaner design than before. The NEPOMUK server itself does not host the data repository anymore. That has also been moved to a service. Using the server's automatic service dependency handling, other NEPOMUK services will not be started until the data repository is ready (this might take a while in case some conversion has to be done, think of Soprano backend changes).

The server itself is started as a normal KDE autostart service at login time and can still be controlled the same way as before. It also provides a legacy D-Bus interface to access the data repository (although that is running in an extra service now). And by "running", I really mean as in an extra process. This might scare some people, since for each NEPOMUK service a child process is spawned, but this has the advantage that buggy services will not bring down the whole system (thank you Akonadi for the design idea).

Now, the whole system is much cleaner and more responsive as services won't block the storage anymore. It took quite a long time to get here but I think that the NEPOMUK server can be regarded as "done" now (except for bug fixes and improvements of course).

The best way to access the data storage is still Nepomuk::ResourceManager::mainModel() as it connects through a local socket instead of D-Bus (which is faster) and re-connects if necessary.

The old D-Bus way still works though:

Soprano::Client::DBusClient client( "org.kde.NepomukStorage" );
Soprano::Model* model = client.createModel( "main" );

The NEPOMUK Services
As already mentioned the most important service is the storage, as it hosts the Soprano data repository which contains all the NEPOMUK data.

Apart from that, there is the Strigi service which controls Strigi, i.e. does file indexing using a NEPOMUK backend. The ontology loader makes sure installed ontologies are up to date in the data repository. This is important for type and property information.

Playground holds more services, most importantly the file watch service, which updates the metadata when files are moved or deleted. This is a feature that I really want to have in KDE 4.1. But the problem is that it depends on inotify at the moment, since FAM does not support the moving of files. You do not know the original URL of a moved file.

Any input would be appreciated!

The NEPOMUK Social Query Daemon service is the one I blogged about before. It is a demo service that is supposed to attract developers. I don't think it really did its job yet though. ;)

Current Development
My latest commits to playground today introduce the "real NEPOMUK". Only dealing with tags, ratings, and flat file indexing, we would not really need RDF. But now we bring arbitrary classes and relations into the mix. The PIMOShell is the first tool that supports creating new classes and properties. It is intended as a maintainer and debugging tool for all NEPOMUK data as it lists all available types, their instances and the instances' properties and allows to modify them. It may be worth playing with!

Carsten Niehaus reports on recent KDE-Edu developments:
In the last few days, many important developments happened in the KDE-Edu department...

Step
Vladimir Kuznetsov moved Step from kdereview to kdeedu. This means that KDE 4.1 will ship it! Last week Step was demonstrated to several of Carsten's students (7th and 10th grade) resulting in a little feedback. This feedback already resulted in several changes, including the ability to easily modify the speed of the simulation:

Download Step Speedsetting video (641 KB, AVI)

Other recent changes include the tutorials. Aliona, Vladimir's wife, added five tutorials. The following video shows one of them (the second) and also demonstrates how easy it is to "play" with Step: I added a rectangule to the simulation to see what happens when the ball bounces against it...

Download Step Example video (1.0 MB, AVI)

We hope to get more bug reports and ideas for Step, now that it is inside an official KDE module. What we currently would like to get from users is more tutorials and more examples. So, we ask you, dear reader, to test Step and construct one interesting file and send it to us (kde-edu@kde.org) with the permission to share it under the GPL or another free licence. For example, why don't you create a tutorial demonstrating advanced graphs or perhaps create a Billards-like situation on a "table" to demonstrate the physics of Billards?

If you have great ideas for simulations but do not have either time or the ability to create them for Step, please add those ideas to our Step Wiki. We will try to create them for you!

Kalzium
Last week, Marcus D. Hanwell (last year's Google Summer of Code student for Kalzium) ported the 3D Viewer of Kalzium to use the latest released version of Avogadro. This move enables us to use several advanced features which have been added to libavogadro after KDE 4.0 was frozen. For KDE 4.2 we now plan to stop using a local snapshot and use the version of (lib)Avogadro installed on the system.

For KDE 4.0 this was not possible as the Avogadro API was still under heavy development. For KDE 4.1 the API is unlikely to change very much, but the hard freeze for KDE 4.1 is a little too close. Marcus' Summer of Code project last year was a huge success. It resulted in many improvements to the Avogadro library itself, but, even more importantly, where he ported Kalzium to use an early snapshot of the Avogadro library. Marcus has continued working on the Avogadro library and recently was able to begin working on KDE trunk again (after a trans-atlantic move, laptop breakage, and many delays in shipping his desktop).

Now that Kalzium has been ported to the latest Avogadro snapshot, Marcus will continue working on exposing more of the features he implemented during his Google Summer of Code project. He has also expressed an interest in mentoring students for this year's Google Summer of Code (if any suitable applications are accepted).

If you want to discuss Step with us, please visit us in our new IRC channel, #step on irc.freenode.net.


Statistics
Commits: 2302 by 224 developers, 5049 lines modified, 1353 new files.
Open Bugs: 16467
Open Wishes: 13899
Bugs Opened: 306 in the last 7 days.
Bugs Closed: 198 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
831
/trunk/l10n-kde4
357
/trunk/playground
173
/trunk/extragear
168
/branches/stable
119
/trunk/www
107
/branches/work
96
/trunk/koffice
88
/branches/extragear
84
/trunk/kdereview
79
Lines Developer Commits
167
Laurent Montel
72
133
Gilles Caulier
54
50
Malcolm Hunter
50
129
Pino Toscano
50
131
Allen Winter
43
99
Aurelien Gateau
42
69
Sébastien Renard
42
73
Adriaan de Groot
40
87
Boudewijn Rempt
34
74
Anne-Marie Mahfouf
34

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
99%
Greek
97%
Swedish
92%
Japanese
92%
Ukrainian
88%
Dutch
88%
German
86%
Brazilian Portuguese
85%
Polish
85%
Low Saxon
84%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Aaron J. Seigo
29
David Faure
18
Pino Toscano
16
Maks Orlovich
11
Luboš Luňák
11
Thomas McGuire
9
Peter Penz
8
A. Spehr
8
Urs Wolfer
7
Oliver Putz
6

Program Buzz
Amarok
  9815
K3B
  4875
KMail
  4840
Kopete
  3320
KDevelop
  2595
Plasma
  2489
Kaffeine
  2037
Kate
  2001
Solid
  1873
Kontact
  1790


Person Buzz
David Faure
  2110
Stephan Kulow
  1749
Aaron Seigo
  1390
Torsten Rahn
  1367
Jonathan Riddell
  1132
Laurent Montel
  1030
Stephan Binner
  782
Thiago Macieira
  668
Zack Rusin
  638
Adriaan de Groot
  631
Commit Countries

Commit Demographics
Sex
94.7 %       Male
7.25 %       (unknown)
1.72 %       Female
Motivation
50.5 %       Volunteer
40.3 %       (unknown)
12.7 %       Commercial
 
Ages
60.7 %       (unknown)
23.8 %       25 to 34
7.90 %       18 to 24
7.37 %       35 to 44
3.35 %       45 to 54
0.491 %       Under 18


Contents
  Bug Fixes Features Optimise Security Other
Accessibility
Development Tools [*] [*] [*]
Educational [*] [*]
Graphics [*] [*] [*]
KDE-Base [*] [*] [*] [*]
KDE-PIM [*] [*] [*]
Office [*]
Konqueror
Multimedia [*] [*] [*] [*]
Networking Tools [*]
User Interface [*]
Utilities [*]
Games [*] [*] [*]
Other [*] [*]


Bug Fixes
Games
Nicolas Roffet committed changes in /trunk/KDE/kdegames/kmines:
There was a bug in KMines: the program was freezing in a custom game if you chose to put in the field so many mines that there was not at least 9 free positions. Now, it's working.

New to avoid trivial games, KMines now constrains the user to let at least 10 (-> one more than 9) positions free.

Note: I'm not sure it's a good idea to avoid to put mines on neighbor positions to the start position... To discuss...
Diffs: 1, 2, 3 Revision 793377

Graphics
Gilles Caulier committed changes in /trunk/extragear/graphics/digikam/utilities/searchwindow:
digiKam from trunk : fix Crash when starting new Advanced Search tool from Marcel...

This is the same problem here than from Statusbar : KLineEdit. Using QLineEdit instead work fine !!!

Problem is relavnt of stylesheet applied to KLineEdit with Qt4.3. Note than QT 4.2, no crash appears...

There is a _serious_ problem here which must be fixed in KDELibs before next stable KDE release.
Diffs: 1, 2 Revision 792471

KDE-Base
Maksim Orlovich committed changes in /branches/KDE/4.0/kdelibs/khtml:
Properly close DOM-created nodes. Fixes CNN.com election tracker, and 3 Acid3 tests (more like 3.5, actually --- gets one further).

It also makes Acid3 look uglier, since it exposes a bug in rendering of alternate content (it didn't show up before since the object was plain not getting loaded).

I know what's wrong just need to <strike>Bug dfaure for a solution</strike>figure out how to fix it.
Bug 156947: Konqueror 4 fails Acid3 test
Diffs: 1, 2 Revision 792683

David Faure committed a change to /trunk/KDE/kdelibs/kfile/kfileplacesitem.cpp:
Fix error dialog box on dolphin startup if trash:/ isn't available (I had a very limited kdebase-trunk install)

But this still seems like overkill (and slowing down dolphin/konq/kde startup), what about special-casing trash and reading trashrc instead?
Diff Revision 792855

Germain Garand committed changes in /trunk/KDE/kdelibs/khtml/css:
fix parsing of the argument of the functional :not() selector to obey CSS3's definition of a simple selector.

KHTML now fully passes Daniel Glazman's selector test!

http://disruptive-innovations.com/zoo/css3tests/selectorTest.html#target