Bug#855023: kaddressbook: issues with vCard properties and CardDAV
Package: kaddressbook
Version: 4:16.04.3-3
Severity: important
Dear Maintainer,
In Kaddressbook it is not possible to manage the FN property (the formatted
name string associated with a vCard object) required by vCard version 3.0 and
version 4.0 [1] and this creates issues with shared CardDAV address books.
Also, the program does not use the properties FN and N (structured
representation of the name of the person associated with a vCard object)
as expected in showing contacts in the contacts list.
I'll make an example to explain the issue better.
# PROCEDURE 1
This is the vCard that I want to import with Kaddressbook in a CardDAV address
book:
BEGIN:VCARD
VERSION:3.0
N:Potter;Harry;;;
FN:Harry the Wizard
TEL;TYPE=CELL:+4400000
EMAIL;TYPE=INTERNET;TYPE=WORK:harry.potter@hogwarts.co.uk
END:VCARD
Once imported, in Kaddressbook the contact is displayed in the contact list
and in the preview panel (I don't know how it is called, it is the panel on
the right when using the two-columns or three-columns disposition) with the
content of the FN property as the name. Meaning that in the preview panel I
see this:
[contact picture] Harry the Wizard
mobile phone +4400000
e-mail harry.potter@hogwarts.co.uk
Here the N property is missing while I expect to see it along with the other
contact details.
Also, in Kaddressbook there is no way to change the FN property. The only way
is to delete the contact and import it back with a different FN property set
in the vCard. Or use the web interface of the CardDAV address book and change
there that property if it is possible.
# PROCEDURE 2
Another way to add this contact is to create it from Kaddrressbook without
importing the aforementioned vCard. This procedure seems to be more
problematic.
In doing so the FN property cannot be set, therefore the contact is displayed
in the contact list and in the preview panel with the name given in the N
property field, meaning that in the preview panel now I see this:
[contact picture] Harry Potter
mobile phone +4400000
e-mail harry.potter@hogwarts.co.uk
At this point I don't know if Kaddressbook set an FN property on its own but
the contact is registered in the shared address book with the FN property set
to the content of the EMAIL property. And if the EMAIL property is not set
then the FN property is not set at all (meaning that on the web interface I
see a contact entry with a blank name).
To make it clear, at this point Kaddressbook exports this vCard:
BEGIN:VCARD
VERSION:3.0
EMAIL;TYPE=WORK:harry.potter@hogwarts.co.uk
N:Potter;Harry;;;
TEL;TYPE=CELL:+4400000
UID:<long UID number here>
END:VCARD
while the web interface of the CardDAV address book exports this vCard:
BEGIN:VCARD
VERSION:3.0
N:Potter;Harry;;;
FN:harry.potter@hogwarts.co.uk
TEL;TYPE=CELL:+4400000
EMAIL;TYPE=INTERNET;TYPE=WORK:harry.potter@hogwarts.co.uk
END:VCARD
As you can see the FN property is missing in the former, while it is set to
the email address in the latter.
So on different devices the CardDAV address book is a total mess.
# SIDE NOTE
Lastly, when composing an e-mail in Kmail, if a contact has both the FN and
the N properties, Kmail will use the address in the format
<FN property><EMAIL property>, instead of <N property><EMAIL property>,
which is not really good:
To: Harry the Wizard <harry.potter@hogwarts.co.uk>
Instead I would expect to see:
To: Harry Potter <harry.potter@hogwarts.co.uk>
The problems described here are unfortunately really annoying when working
with CardDAV address books. Properly managing the FN property should solve
everything, I suppose. I hope a patch can be provided in time for the release
of Strecth.
Regards
Francesco
[1] https://en.wikipedia.org/wiki/VCard#Properties
-- System Information:
Debian Release: 9.0
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.9.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages kaddressbook depends on:
ii kio 5.28.0-1
ii libc6 2.24-9
ii libgcc1 1:6.3.0-6
ii libkf5akonadicontact5 4:16.04.2-2
ii libkf5akonadicore5 4:16.04.3-4
ii libkf5akonadisearchdebug5 16.04.3-1
ii libkf5akonadiwidgets5 4:16.04.3-4
ii libkf5completion5 5.28.0-1
ii libkf5configcore5 5.28.0-1
ii libkf5configgui5 5.28.0-1
ii libkf5configwidgets5 5.28.0-1
ii libkf5contacts5 16.04.2-1
ii libkf5coreaddons5 5.28.0-1
ii libkf5gpgmepp-pthread5 16.04.3-2
ii libkf5grantleetheme-plugins 16.04.3-1
ii libkf5grantleetheme5 16.04.3-1
ii libkf5i18n5 5.28.0-1
ii libkf5iconthemes5 5.28.0-1
ii libkf5itemmodels5 5.28.0-1
ii libkf5jobwidgets5 5.28.0-1
ii libkf5kaddressbookgrantlee5 4:16.04.2-2
ii libkf5kcmutils5 5.28.0-1
ii libkf5kdelibs4support5 5.28.0-1
ii libkf5kiocore5 5.28.0-1
ii libkf5kiowidgets5 5.28.0-1
ii libkf5kontactinterface5 16.04.2-1
ii libkf5libkdepim-plugins 4:16.04.2-3
ii libkf5libkdepim5 4:16.04.2-3
ii libkf5parts5 5.28.0-1
ii libkf5pimcommon-plugins 4:16.04.2-2
ii libkf5pimcommon5 4:16.04.2-2
ii libkf5qgpgme5 16.04.3-2
ii libkf5widgetsaddons5 5.28.0-1
ii libkf5xmlgui5 5.28.0-1
ii libqt5core5a 5.7.1+dfsg-3+b1
ii libqt5dbus5 5.7.1+dfsg-3+b1
ii libqt5gui5 5.7.1+dfsg-3+b1
ii libqt5printsupport5 5.7.1+dfsg-3+b1
ii libqt5widgets5 5.7.1+dfsg-3+b1
ii libstdc++6 6.3.0-6
kaddressbook recommends no packages.
kaddressbook suggests no packages.
-- no debconf information
Reply to: