Jul 232008
 
No Gravatar

Last night I finished the code for kde3to4 version 0.0.2. This release will mark a major leap ahead in the race from a newly implemented idea to a genuinely solid and useful program.

The first major change is that it now uses kioclient rather than shell cp as it’s backend for copying files and directories. This is a major improvement over the previous one for many reasons. Kioclient is graphical and has things like progressbars working out of the box. Overwrite’s are handled sanely in the way users are already used to and error handling is well implemented.
It basically makes the entire user experience a huge deal better than it used to be. I highly recommend it (or for KDE3 apps it’s parent utilities integrated in kfmclient).

An even more important change is the new all_apps plugin which uses a fairly standard formula to try and migrate any and all apps it finds. This one is still very experimental and marked as such, but it should work very well since the vast majority of apps will play happily with the formula it uses. For the rest it contains a double-level of protection to reduce the risk of breakage.

1) It deliberately ignores any program for which an existing script exists. In other words, it gives precedence to specialized plugins rather than it’s own formulaic approach.
2) It has an internal blacklist of programs to ignore.

This gives quite a bit of power to the protection scheme. Amarok for example is safe to migrate for 1.x versions, but 2.x is not compatible with 1.x settings. A migration tool for amarok is on their TODO list but not finished. So what I did was to blacklist amarok in the all_apps plugin, and provide an amarok1.x plugin that you can use if you are not using amarok2 yet. When amarok2 has a safe way to import amarok1 settings, we can build another plugin for upgraders and handle each edge-case.

This morning I sent a mail to the kde-devel mailing list asking developers to let me know about apps that should be pointedly ignored by all_apps or provide plugins/documentation where specialized plugins could work instead. It got me some very useful feedback. At time of writing this post (less than an hour after the mail) the blacklist has been updated to include mailody and kdevelop. In the former case because it is completely incompatible (I will look at the possibility of a specialized plugin when I have time) and in the latter because the settings are so vastly different that an import makes no sense.
I also have specific confirmation from Boudewijn that krita should work perfectly with this setup.

All in all, kde3to4 is coming along very nicely and I have solid hopes that it may be included with KDE4.2 (a point where many people have already indicated they will switch and thus a point where it’s usefulness will likely peak).

——-
UPDATE: The new release is now available from the application page (link in the menu on the left)