Wednesday, September 30, 2009

KNewStuff3

In the past couple days I've been playing with the code, and have reached a couple conclusions. First, KNS::Engine isn't an engine, it's an interface the apps use to interact with the engine. Apps don't need to know anything about the engine though (and currently don't/can't anyway). Also this interface class has no signaling mechanism, so it would be good to derive it from QObject so it can send out signals and apps can connect to them. In other words some binary incompatible changes will be necessary and I'm on the way to make them happen by creating knewstuff3. Because of this decision we have the chance to make some binary incompatible changes in the library itself which I believe will help keep the design cleaner and make it easier to maintain as a whole.

I had a discussion on irc today about what to name the interface class, and after a few suggestions settled on the name KNS::Client. I'll be getting that going this week, and hope to have something basic working by next week. We'll see.

This coming saturday we'll have another meeting on #ghns on freenode if anyone else wants to come along and share their 2c with the rest of us. As I blogged last time, last weekends meeting was productive. We've got a plan and are on the road to better things.

4 comments:

Unknown said...

that sounds just great :-) what i've been wondering is if there is any purely qt based implementation of ghns.. been trying to port khns but that's quite a task :D

Fabien said...

sometime a big refactoring can be valuable...
Maybe you could propose a API review on kde-core-devel. That could bring interesting comments, and avoid having to create KNewStuff4 in a couple of months ;)

Unknown said...

What I miss is the possibility to automatically update the stuff which I can install via the Knewstuff. From my opinion it would be the best if the server which provides the files at the same time could function as a repository for the packagemanagement. So after installing, it would add its line to the sources.list (or equivalent) and the files then would be updated the same way as the rest of the system.

Anonymous said...

Hey! Great to see KNewStuff is getting some attention again! :D

Would you mind looking at these ideas though:
http://forum.kde.org/brainstorm.php#idea38928
https://bugs.kde.org/show_bug.cgi?id=182044