<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet href="https://dev.horde.org/themes/horde//default/feed-rss.xsl" type="text/xsl"?> 
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> 
 <channel> 
  <title>No UID field returned on vCards</title> 
  <pubDate>Fri, 10 Apr 2026 18:48:34 +0000</pubDate> 
  <link>https://bugs.horde.org/ticket/12427</link> 
  <atom:link rel="self" type="application/rss+xml" title="No UID field returned on vCards" href="https://bugs.horde.org/ticket/12427/rss" /> 
  <description>No UID field returned on vCards</description> 
 
   
   
  <item> 
   <title>I&#039;ve been having trouble syncing Turba&#039;s address books with </title> 
   <description>I&#039;ve been having trouble syncing Turba&#039;s address books with Mac OSX &quot;Address Book&quot; application. The console log indicates that the UID field is missing. Now I&#039;m noticing that none of the vCards that come over CardDAV include a UID field.

For example, in my LDAP address book I created a new contact and then fetched the vCard via curl:

$ curl -u username:password &#039;http://example.com/rpc/addressbooks/username/contacts%3alocalldap/cn%3dTest%20Testington%2cou%3dGlobal%20Directory%2cdc%3dexample%2cdc%3dcom.vcf&#039;

BEGIN:VCARD
VERSION:3.0
FN:Test Testington
EMAIL;TYPE=INTERNET:test@email.com
TEL;TYPE=HOME,VOICE:
TEL;TYPE=WORK,VOICE:
TEL;TYPE=CELL,VOICE:
LABEL;TYPE=HOME:
N:Testington;Test;;;
ADR;TYPE=HOME:;;;;;;
END:VCARD


I made sure that my backends.local.php includes a map for __uid =&gt; dn. This is the complete config for this address book:

$cfgSources[&#039;localldap&#039;][&#039;disabled&#039;] = false;
$cfgSources[&#039;localldap&#039;][&#039;title&#039;] = &#039;Shared Contacts&#039;;
$cfgSources[&#039;localldap&#039;][&#039;params&#039;][&#039;server&#039;] = &#039;localhost&#039;;
$cfgSources[&#039;localldap&#039;][&#039;params&#039;][&#039;root&#039;] = &#039;ou=Global Directory,dc=example,dc=com&#039;;
$cfgSources[&#039;localldap&#039;][&#039;params&#039;][&#039;bind_dn&#039;] = &#039;cn=Manager,dc=example,dc=com&#039;;
$cfgSources[&#039;localldap&#039;][&#039;params&#039;][&#039;bind_password&#039;] = &#039;*****&#039;;
$cfgSources[&#039;localldap&#039;][&#039;params&#039;][&#039;sizelimit&#039;] = 0;
$cfgSources[&#039;localldap&#039;][&#039;params&#039;][&#039;checkrequired&#039;] = true;
$cfgSources[&#039;localldap&#039;][&#039;params&#039;][&#039;objectclass&#039;][] = &#039;turbaContact&#039;;
$cfgSources[&#039;localldap&#039;][&#039;params&#039;][&#039;objectclass&#039;][] = &#039;calEntry&#039;;
$cfgSources[&#039;localldap&#039;][&#039;map&#039;][&#039;__uid&#039;] = &#039;dn&#039;;
$cfgSources[&#039;localldap&#039;][&#039;map&#039;][&#039;__type&#039;] = &#039;turbaType&#039;;
$cfgSources[&#039;localldap&#039;][&#039;map&#039;][&#039;__members&#039;] = &#039;turbaMembers&#039;;
$cfgSources[&#039;localldap&#039;][&#039;map&#039;][&#039;freebusyUrl&#039;] = &#039;calFBURL&#039;;


This behaviour occurs in *all* of my address books shared via CardDAV, though. They all have __uid mapped to some field and yet *none* of them provide a UID field in the vCard. This makes the OSX Address Book app fail to add them.

</description> 
   <pubDate>Wed, 03 Jul 2013 17:15:34 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/12427#t79135</link> 
  </item> 
   
  <item> 
   <title>I am having exactly the same issue myself.

I have tried d</title> 
   <description>I am having exactly the same issue myself.

I have tried digging around in the code and noticed that the toVcard function in turba/lib/Driver.php has no reference at all to UIDs. If my understanding that that is the function responsible for generating the vcard&#039;s text is correct, it should be a matter of adding appropriate code there.</description> 
   <pubDate>Sat, 06 Jul 2013 23:31:06 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/12427#t79154</link> 
  </item> 
   
  <item> 
   <title>Thanks for that, Alberto. That&#039;s exactly the lead I needed t</title> 
   <description>Thanks for that, Alberto. That&#039;s exactly the lead I needed to patch the issue. I&#039;ve attached a patch that should fix it.</description> 
   <pubDate>Wed, 10 Jul 2013 05:51:35 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/12427#t79211</link> 
  </item> 
   
  <item> 
   <title>Hello and thanks for your reply. I&#039;m finding Horde extremely</title> 
   <description>Hello and thanks for your reply. I&#039;m finding Horde extremely useful so far, so I&#039;m glad to be of assistance.

Your patch has indeed fixed the missing UID issue, however OSX&#039;s address book still cannot sync.
I am attaching the relevant logs from OSX&#039;s console below.

10/07/2013 21:17:11.990 Contacts[234]: [CardDAVPlugin-ERROR] -_handleAddsOrModifies: exception processing addsOrModifies The value for &#039;scheme&#039; should be non-nil and non-empty

10/07/2013 21:17:11.992 Contacts[234]: [CardDAVPlugin-ERROR] Error in _handleAddsOrModifies:removes:inFolderWithURL: The value for &#039;scheme&#039; should be non-nil and non-empty

10/07/2013 21:17:11.993 Contacts[234]: [CardDAVPlugin-ERROR] -_handleAddsOrModifies:https://&lt;myserveraddress&gt;/rpc.php/addressbooks/alberto/contacts%3adjMHDzbdTiZHr86hrpZTLQ2/ Error Domain=CoreDAVErrorDomain Code=1 &quot;The operation couldn?t be completed. (CoreDAVErrorDomain error 1.)&quot;

10/07/2013 21:17:11.997 Contacts[234]: [CardDAVPlugin-ERROR] Exception caught while running sync with server: Error Domain=CoreDAVErrorDomain Code=1 &quot;The operation couldn?t be completed. (CoreDAVErrorDomain error 1.)&quot;

Unfortunately I have no idea what&#039;s going on this time, so I&#039;m afraid I won&#039;t be of much assistance.</description> 
   <pubDate>Wed, 10 Jul 2013 20:28:02 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/12427#t79219</link> 
  </item> 
   
  <item> 
   <title>&gt; Hello and thanks for your reply. I&#039;m finding Horde extreme</title> 
   <description>&gt; Hello and thanks for your reply. I&#039;m finding Horde extremely useful 
&gt; so far, so I&#039;m glad to be of assistance.
&gt;
&gt; Your patch has indeed fixed the missing UID issue, however OSX&#039;s 
&gt; address book still cannot sync.
&gt; I am attaching the relevant logs from OSX&#039;s console below.
&gt;
&gt; 10/07/2013 21:17:11.990 Contacts[234]: [CardDAVPlugin-ERROR] 
&gt; -_handleAddsOrModifies: exception processing addsOrModifies The value 
&gt; for &#039;scheme&#039; should be non-nil and non-empty
&gt;
&gt; 10/07/2013 21:17:11.992 Contacts[234]: [CardDAVPlugin-ERROR] Error in 
&gt; _handleAddsOrModifies:removes:inFolderWithURL: The value for &#039;scheme&#039; 
&gt; should be non-nil and non-empty
&gt;
&gt; 10/07/2013 21:17:11.993 Contacts[234]: [CardDAVPlugin-ERROR] 
&gt; -_handleAddsOrModifies:https://&lt;myserveraddress&gt;/rpc.php/addressbooks/alberto/contacts%3adjMHDzbdTiZHr86hrpZTLQ2/ Error Domain=CoreDAVErrorDomain Code=1 &quot;The operation couldn?t be completed. (CoreDAVErrorDomain error 
&gt; 1.)&quot;
&gt;
&gt; 10/07/2013 21:17:11.997 Contacts[234]: [CardDAVPlugin-ERROR] 
&gt; Exception caught while running sync with server: Error 
&gt; Domain=CoreDAVErrorDomain Code=1 &quot;The operation couldn?t be 
&gt; completed. (CoreDAVErrorDomain error 1.)&quot;
&gt;
&gt; Unfortunately I have no idea what&#039;s going on this time, so I&#039;m afraid 
&gt; I won&#039;t be of much assistance.

Hi Alberto,

Can you tell me what version of OSX you&#039;re running? I noticed during some of my testing that Address Book refuses to add any contacts if it gets an error from the server during any of its requests. In particular, I had trouble with a testing Horde deployment that included the Favourites backend with no data (it caused an HTTP 500 status code). Once that error was returned, AB simply refused to continue requesting.

Perhaps your Horde or Apache logs may indicate what has happened? You might also try to request the vCard or DAV properties via a cURL call.

To get a list of contacts, try a command like:
&gt; curl -u username:password -X PROPFIND &#039;http://server.com/yourcarddavurl/contacts%3aabcdef1234567&#039;

I&#039;ve also seen some chatter online suggesting: http://support.apple.com/kb/TS2481 and http://support.apple.com/kb/TS1627 as possible troubleshooting solutions.</description> 
   <pubDate>Thu, 11 Jul 2013 02:11:18 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/12427#t79227</link> 
  </item> 
   
  <item> 
   <title>&gt;&gt; Hello and thanks for your reply. I&#039;m finding Horde extrem</title> 
   <description>&gt;&gt; Hello and thanks for your reply. I&#039;m finding Horde extremely useful
&gt;&gt; so far, so I&#039;m glad to be of assistance.
&gt;&gt;
&gt;&gt; Your patch has indeed fixed the missing UID issue, however OSX&#039;s
&gt;&gt; address book still cannot sync.
&gt;&gt; I am attaching the relevant logs from OSX&#039;s console below.
&gt;&gt;
&gt;&gt; 10/07/2013 21:17:11.990 Contacts[234]: [CardDAVPlugin-ERROR]
&gt;&gt; -_handleAddsOrModifies: exception processing addsOrModifies The value
&gt;&gt; for &#039;scheme&#039; should be non-nil and non-empty
&gt;&gt;
&gt;&gt; 10/07/2013 21:17:11.992 Contacts[234]: [CardDAVPlugin-ERROR] Error in
&gt;&gt; _handleAddsOrModifies:removes:inFolderWithURL: The value for &#039;scheme&#039;
&gt;&gt; should be non-nil and non-empty
&gt;&gt;
&gt;&gt; 10/07/2013 21:17:11.993 Contacts[234]: [CardDAVPlugin-ERROR]
&gt;&gt; -_handleAddsOrModifies:https://&lt;myserveraddress&gt;/rpc.php/addressbooks/alberto/contacts%3adjMHDzbdTiZHr86hrpZTLQ2/ Error Domain=CoreDAVErrorDomain Code=1 &quot;The operation couldn?t be completed. (CoreDAVErrorDomain 
&gt;&gt; error
&gt;&gt; 1.)&quot;
&gt;&gt;
&gt;&gt; 10/07/2013 21:17:11.997 Contacts[234]: [CardDAVPlugin-ERROR]
&gt;&gt; Exception caught while running sync with server: Error
&gt;&gt; Domain=CoreDAVErrorDomain Code=1 &quot;The operation couldn?t be
&gt;&gt; completed. (CoreDAVErrorDomain error 1.)&quot;
&gt;&gt;
&gt;&gt; Unfortunately I have no idea what&#039;s going on this time, so I&#039;m afraid
&gt;&gt; I won&#039;t be of much assistance.
&gt;
&gt; Hi Alberto,
&gt;
&gt; Can you tell me what version of OSX you&#039;re running? I noticed during 
&gt; some of my testing that Address Book refuses to add any contacts if 
&gt; it gets an error from the server during any of its requests. In 
&gt; particular, I had trouble with a testing Horde deployment that 
&gt; included the Favourites backend with no data (it caused an HTTP 500 
&gt; status code). Once that error was returned, AB simply refused to 
&gt; continue requesting.
&gt;
&gt; Perhaps your Horde or Apache logs may indicate what has happened? You 
&gt; might also try to request the vCard or DAV properties via a cURL call.
&gt;
&gt; To get a list of contacts, try a command like:
&gt;&gt; curl -u username:password -X PROPFIND 
&gt;&gt; &#039;http://server.com/yourcarddavurl/contacts%3aabcdef1234567&#039;
&gt;
&gt; I&#039;ve also seen some chatter online suggesting: 
&gt; http://support.apple.com/kb/TS2481 and 
&gt; http://support.apple.com/kb/TS1627 as possible troubleshooting 
&gt; solutions.

Hello again.

I&#039;m using the latest version of OSX Mountain Lion, fully patched.
For more background information, I am hosting horde using NGINX in the domain&#039;s root (I have read not doing so can cause issues).

I tried using curl -X PROPFIND as you indicated on the address book&#039;s collection and individual vcf addresses, but every HTTP status code returned was 200. Directly accessing individual vcards also worked (UIDs were present).

I disabled the Favourites backend and would have tried syncing again if OSX didn&#039;t start creating Google accounts instead of Carddav ones when I entered my server info. I honestly don&#039;t know what&#039;s up with that.
</description> 
   <pubDate>Thu, 11 Jul 2013 22:34:31 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/12427#t79254</link> 
  </item> 
   
  <item> 
   <title>Changes have been made in Git (master):

commit 87436085086c</title> 
   <description>Changes have been made in Git (master):

commit 87436085086ce875c352d41f8d9ff3fe2f10b3d5
Author: Jan Schneider &lt;jan@horde.org&gt;
Date:   Tue Jul 16 18:27:48 2013 +0200

    [jan] Import and export UID vCard attributes (Bug #12427).

 turba/docs/CHANGES   |    1 +
 turba/lib/Driver.php |    8 ++++++++
 turba/package.xml    |    2 ++
 3 files changed, 11 insertions(+), 0 deletions(-)

http://git.horde.org/horde-git/-/commit/87436085086ce875c352d41f8d9ff3fe2f10b3d5</description> 
   <pubDate>Tue, 16 Jul 2013 16:28:12 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/12427#t79353</link> 
  </item> 
   
  <item> 
   <title>With those changes the OSX addressbook on 10.7 works perfect</title> 
   <description>With those changes the OSX addressbook on 10.7 works perfectly fine.</description> 
   <pubDate>Tue, 16 Jul 2013 16:28:47 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/12427#t79354</link> 
  </item> 
   
   
 
 </channel> 
</rss> 
