They call it evolutionary prototype, I think. Starting from the Contacts menu for Kicker the code is steadily evolving into a general framework for properties of a contact and services upon them. It’s still based upon KDE3, but once the architecture looks okay I hope it can be integrated with Akonadi and what there will be else. Concerning Akonadi I am already bugging Tobias now and then, thankfully he is always present at the meetings of the LUG Dresden. 😉
Like I wrote in a recent blog entry I very much favour a plugin approach for all properties of a contact. This approach is deeply reflected in the framework. So if one likes to add a new property and to have it and services on it appear in all programs, now, all she would need to do is adding:
- a property service for en-/de-coding the data from the db* and display it
- optionally some action services for performing something based on the property entry
- optionally also some data action services, which offer service for given data, like from a drop
- optionally also some status services, which show some state in systems using the given property
* For now via
For testing the framework a lot of property types and services are already in place (for the price that framework changes are heavy work). Sending a link or a file to a friend already has become dragging it to his card or kicker contact button and choosing whether to do it via email or im for me 🙂
Going the way of plugins enables everyone to do quick additions:
Are looking for a property describing the login name for shells and showing the login state? Two plugins, a custom entry with KAddressbook, and soon it is supported everywhere, like in a contact card:
Interested to play with it? Please go ahead and get the code from “/trunk/playground/pim/contactsapplet”. For doing your own property type and services see “contactproperties/example/” for some templates.
Yes, Josef, also you. I am waiting for your plugins for the GGZ Gaming Zone 🙂
Update: For your convenience the source is also available at KDE-Look.org.
Everybody’s feedback is very much welcome!
I am especially interested what kind of notifications are needed and how they could be done/integrated with KDE’s notification system. E.g. I would perfectly like it to have Kopete’s bubble “Susi says: Marble…” coming from Susi’s kicker contact button…