Framework for contacts and services slowly getting shapes…

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 KABC::Addressee::custom().

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:
Before: konquicard1.png After: Contact card for Konqui

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

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…


2 thoughts on “Framework for contacts and services slowly getting shapes…

  1. Will there be any kind of a web interface for this? I would love to use an address book like this, but if you can only get your contacts when you are on your main machine, it is not so convenient.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.