How to create your own properties and services
==============================================

From an abstract POV a contact entry consists of several properties,
e.g. email address, postal address, name, note, etc.
Some property types are obligatory, others optional, some can have several
items, some only one.

Most property types are connected to one or several systems,
e.g. the email address to the email system, the postal address to the postal system,
the im address to the im system, etc.
There are services using the system, e.g. sending an email, uploading some data, showing the state
or requests by the system.

For now three types of services are identified:
* action service
* data action service
* status service



Adding a property
-----------------

A property describes a type of data.
Whatever makes sense to be connected to a contact/entity.


Properties are described by a property adapter. For this two things are needed:
* a .desktop file describing the type
* a module with the adapter

The adapter offers access to the property:
* in a general way, returning a PropertyItem by implementing "propertyItemOf()"
  so viewers like the PersonCards server or tooltips could display text and icons
* in a special way, returning the by a 


Adding an action service
------------------------








Adding a data action service
----------------------------






Adding a status service
-----------------------



To have your property and services loaded, add a file named "khalkhirc"
to "$HOME/.kde/share/config" with this content:
------
[General]
Properties=birthday,imaddress,emailaddress,homepageurl,phonenumber,address,note,shellname,yourtype

[Property:yourtype]
ActionServices=youraction,youraction2
DefaultActionServices=youraction,youraction2
DataActionServices=yourdataaction,yourdataaction2
DefaultDataActionServices=yourdataaction2,yourdataaction2
StatusServices=yourstatus, yourstatus2
------
with "your*" adopted to your property and the optional services...
