Difference between revisions of "Mac Addressbook"

From BITPlan Wiki
Jump to navigation Jump to search
(Created page with "<uml> class ZABCDALERTTONE { Z_PK Z_ENT Z_OPT ZOWNER Z22_OWNER ZTONEDATA ZTYPE ZUNIQUEID } class ZABCDCALENDARURI { Z_PK Z_ENT Z_OPT ZISPRIMARY ZISPRIVATE ZORDER...")
 
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
Synching a Mac Addressbook with NextCloud is not as easy as it might seem.
 +
 +
Theoretically the CardDAV CalDAV Standards should make things easy. In practice it's a nightmare.
 +
See e.g.
 +
* https://help.nextcloud.com/t/getting-nextcloud-to-work-with-mac-os-x-adress-book/2269/21
 +
* https://unterwaditzer.net/2015/kill-webdav.html
 +
 +
Here you'll find some technical details that might help you debug your situation.
 +
 +
= Links =
 +
* https://github.com/andrewlkho/icloud-addressbook-query/blob/master/icloud-addressbook-query.py
 +
* https://apple.stackexchange.com/questions/222619/using-sqlite-browser-to-extract-osx-contacts
 +
= Timestamps =
 +
* https://www.epochconverter.com/coredata
 +
 +
= Database schema =
 
<uml>
 
<uml>
 +
hide circle
 
class ZABCDALERTTONE {
 
class ZABCDALERTTONE {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZOWNER
+
INTEGER ZOWNER
Z22_OWNER
+
INTEGER Z22_OWNER
ZTONEDATA
+
VARCHAR ZTONEDATA
ZTYPE
+
VARCHAR ZTYPE
ZUNIQUEID
+
VARCHAR ZUNIQUEID
 
}
 
}
 
class ZABCDCALENDARURI {
 
class ZABCDCALENDARURI {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZOWNER
+
INTEGER ZOWNER
Z22_OWNER
+
INTEGER Z22_OWNER
ZLABEL
+
VARCHAR ZLABEL
ZUNIQUEID
+
VARCHAR ZUNIQUEID
ZURL
+
VARCHAR ZURL
 
}
 
}
 
class ZABCDCONTACTDATE {
 
class ZABCDCONTACTDATE {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZDATEYEAR
+
INTEGER ZDATEYEAR
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZOWNER
+
INTEGER ZOWNER
Z22_OWNER
+
INTEGER Z22_OWNER
ZDATE
+
TIMESTAMP ZDATE
ZDATEYEARLESS
+
FLOAT ZDATEYEARLESS
ZLABEL
+
VARCHAR ZLABEL
ZUNIQUEID
+
VARCHAR ZUNIQUEID
 
}
 
}
 
class ZABCDCONTACTINDEX {
 
class ZABCDCONTACTINDEX {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZCONTACT
+
INTEGER ZCONTACT
Z22_CONTACT
+
INTEGER Z22_CONTACT
ZSTRINGFORINDEXING
+
VARCHAR ZSTRINGFORINDEXING
 
}
 
}
 
class ZABCDCUSTOMPROPERTY {
 
class ZABCDCUSTOMPROPERTY {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZVALUETYPE
+
INTEGER ZVALUETYPE
ZPROPERTYNAME
+
VARCHAR ZPROPERTYNAME
ZRECORDTYPE
+
VARCHAR ZRECORDTYPE
 
}
 
}
 
class ZABCDCUSTOMPROPERTYVALUE {
 
class ZABCDCUSTOMPROPERTYVALUE {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZDATEVALUEYEAR
+
INTEGER ZDATEVALUEYEAR
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZCUSTOMPROPERTY
+
INTEGER ZCUSTOMPROPERTY
ZOWNER
+
INTEGER ZOWNER
Z16_OWNER
+
INTEGER Z16_OWNER
ZDATEVALUE
+
TIMESTAMP ZDATEVALUE
ZDATEVALUEYEARLESS
+
FLOAT ZDATEVALUEYEARLESS
ZNUMBERVALUE
+
FLOAT ZNUMBERVALUE
ZLABEL
+
VARCHAR ZLABEL
ZSTRINGVALUE
+
VARCHAR ZSTRINGVALUE
ZUNIQUEID
+
VARCHAR ZUNIQUEID
ZDATAVALUE
+
BLOB ZDATAVALUE
 
}
 
}
 
class ZABCDDATECOMPONENTS {
 
class ZABCDDATECOMPONENTS {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZDAY
+
INTEGER ZDAY
ZERA
+
INTEGER ZERA
ZISLEAPMONTH
+
INTEGER ZISLEAPMONTH
ZMONTH
+
INTEGER ZMONTH
ZYEAR
+
INTEGER ZYEAR
ZCONTACT
+
INTEGER ZCONTACT
Z22_CONTACT
+
INTEGER Z22_CONTACT
ZCALENDARIDENTIFIER
+
VARCHAR ZCALENDARIDENTIFIER
ZUNIQUEID
+
VARCHAR ZUNIQUEID
 
}
 
}
 
class ZABCDDELETEDRECORDLOG {
 
class ZABCDDELETEDRECORDLOG {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZADDRESSBOOKSOURCE
+
INTEGER ZADDRESSBOOKSOURCE
ZDELETEDRECORDUNIQUEID
+
VARCHAR ZDELETEDRECORDUNIQUEID
ZUNIQUEID
+
VARCHAR ZUNIQUEID
 
}
 
}
 
class ZABCDDISTRIBUTIONLISTCONFIG {
 
class ZABCDDISTRIBUTIONLISTCONFIG {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZADDRESS
+
INTEGER ZADDRESS
ZCONTACT
+
INTEGER ZCONTACT
Z22_CONTACT
+
INTEGER Z22_CONTACT
ZEMAIL
+
INTEGER ZEMAIL
ZGROUP
+
INTEGER ZGROUP
Z18_GROUP
+
INTEGER Z18_GROUP
ZPHONE
+
INTEGER ZPHONE
ZPROPERTYNAME
+
VARCHAR ZPROPERTYNAME
 
}
 
}
 
class ZABCDEMAILADDRESS {
 
class ZABCDEMAILADDRESS {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZOWNER
+
INTEGER ZOWNER
Z22_OWNER
+
INTEGER Z22_OWNER
ZADDRESS
+
VARCHAR ZADDRESS
ZADDRESSNORMALIZED
+
VARCHAR ZADDRESSNORMALIZED
ZLABEL
+
VARCHAR ZLABEL
ZUNIQUEID
+
VARCHAR ZUNIQUEID
 
}
 
}
 
class ZABCDLIKENESS {
 
class ZABCDLIKENESS {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZKIND
+
INTEGER ZKIND
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZOWNER
+
INTEGER ZOWNER
Z22_OWNER
+
INTEGER Z22_OWNER
ZLABEL
+
VARCHAR ZLABEL
ZUNIQUEID
+
VARCHAR ZUNIQUEID
ZVERSION
+
VARCHAR ZVERSION
ZDATA
+
BLOB ZDATA
 
}
 
}
 
class ZABCDMESSAGINGADDRESS {
 
class ZABCDMESSAGINGADDRESS {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZOWNER
+
INTEGER ZOWNER
Z22_OWNER
+
INTEGER Z22_OWNER
ZSERVICE
+
INTEGER ZSERVICE
ZADDRESS
+
VARCHAR ZADDRESS
ZBUNDLEIDENTIFIERSSTRING
+
VARCHAR ZBUNDLEIDENTIFIERSSTRING
ZLABEL
+
VARCHAR ZLABEL
ZTEAMIDENTIFIER
+
VARCHAR ZTEAMIDENTIFIER
ZUNIQUEID
+
VARCHAR ZUNIQUEID
ZUSERIDENTIFIER
+
VARCHAR ZUSERIDENTIFIER
 
}
 
}
 
class ZABCDNOTE {
 
class ZABCDNOTE {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZCONTACT
+
INTEGER ZCONTACT
Z22_CONTACT
+
INTEGER Z22_CONTACT
ZTEXT
+
VARCHAR ZTEXT
ZRICHTEXTDATA
+
BLOB ZRICHTEXTDATA
 
}
 
}
 
class ZABCDPHONENUMBER {
 
class ZABCDPHONENUMBER {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZOWNER
+
INTEGER ZOWNER
Z22_OWNER
+
INTEGER Z22_OWNER
ZAREACODE
+
VARCHAR ZAREACODE
ZCOUNTRYCODE
+
VARCHAR ZCOUNTRYCODE
ZEXTENSION
+
VARCHAR ZEXTENSION
ZFULLNUMBER
+
VARCHAR ZFULLNUMBER
ZLABEL
+
VARCHAR ZLABEL
ZLASTFOURDIGITS
+
VARCHAR ZLASTFOURDIGITS
ZLOCALNUMBER
+
VARCHAR ZLOCALNUMBER
ZUNIQUEID
+
VARCHAR ZUNIQUEID
 
}
 
}
 
class ZABCDRECORD {
 
class ZABCDRECORD {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZCREATIONDATEYEAR
+
INTEGER ZCREATIONDATEYEAR
ZDISPLAYFLAGS
+
INTEGER ZDISPLAYFLAGS
ZMODIFICATIONDATEYEAR
+
INTEGER ZMODIFICATIONDATEYEAR
ZADDRESSBOOKSOURCE
+
INTEGER ZADDRESSBOOKSOURCE
ZISALL
+
INTEGER ZISALL
ZINFO
+
INTEGER ZINFO
ZME
+
INTEGER ZME
Z22_ME
+
INTEGER Z22_ME
ZBIRTHDAYYEAR
+
INTEGER ZBIRTHDAYYEAR
ZPREFERREDFORLINKNAME
+
INTEGER ZPREFERREDFORLINKNAME
ZPREFERREDFORLINKPHOTO
+
INTEGER ZPREFERREDFORLINKPHOTO
ZPRIVACYFLAGS
+
INTEGER ZPRIVACYFLAGS
ZADDRESSBOOKSOURCE1
+
INTEGER ZADDRESSBOOKSOURCE1
ZCONTACTINDEX
+
INTEGER ZCONTACTINDEX
ZLUNARBIRTHDAYCOMPONENTS
+
INTEGER ZLUNARBIRTHDAYCOMPONENTS
ZNOTE
+
INTEGER ZNOTE
ZSOURCEWHERECONTACTISME
+
INTEGER ZSOURCEWHERECONTACTISME
ZASSISTANTSYNCANCHOR
+
INTEGER ZASSISTANTSYNCANCHOR
ZSHARECOUNT
+
INTEGER ZSHARECOUNT
ZSYNCCOUNT
+
INTEGER ZSYNCCOUNT
ZVERSION
+
INTEGER ZVERSION
ZADDRESSBOOKSOURCE2
+
INTEGER ZADDRESSBOOKSOURCE2
ZCREATIONDATE
+
TIMESTAMP ZCREATIONDATE
ZCREATIONDATEYEARLESS
+
FLOAT ZCREATIONDATEYEARLESS
ZMODIFICATIONDATE
+
TIMESTAMP ZMODIFICATIONDATE
ZMODIFICATIONDATEYEARLESS
+
FLOAT ZMODIFICATIONDATEYEARLESS
ZBIRTHDAY
+
TIMESTAMP ZBIRTHDAY
ZBIRTHDAYYEARLESS
+
FLOAT ZBIRTHDAYYEARLESS
ZUNIQUEID
+
VARCHAR ZUNIQUEID
ZNAME
+
VARCHAR ZNAME
ZNAMENORMALIZED
+
VARCHAR ZNAMENORMALIZED
ZTMPREMOTELOCATION
+
VARCHAR ZTMPREMOTELOCATION
ZNAME1
+
VARCHAR ZNAME1
ZREMOTELOCATION
+
VARCHAR ZREMOTELOCATION
ZSERIALNUMBER
+
VARCHAR ZSERIALNUMBER
ZDEPARTMENT
+
VARCHAR ZDEPARTMENT
ZFIRSTNAME
+
VARCHAR ZFIRSTNAME
ZIDENTITYUNIQUEID
+
VARCHAR ZIDENTITYUNIQUEID
ZIMAGEREFERENCE
+
VARCHAR ZIMAGEREFERENCE
ZJOBTITLE
+
VARCHAR ZJOBTITLE
ZLASTNAME
+
VARCHAR ZLASTNAME
ZLINKID
+
VARCHAR ZLINKID
ZMAIDENNAME
+
VARCHAR ZMAIDENNAME
ZMIDDLENAME
+
VARCHAR ZMIDDLENAME
ZNICKNAME
+
VARCHAR ZNICKNAME
ZORGANIZATION
+
VARCHAR ZORGANIZATION
ZPHONEMEDATA
+
VARCHAR ZPHONEMEDATA
ZPHONETICFIRSTNAME
+
VARCHAR ZPHONETICFIRSTNAME
ZPHONETICLASTNAME
+
VARCHAR ZPHONETICLASTNAME
ZPHONETICMIDDLENAME
+
VARCHAR ZPHONETICMIDDLENAME
ZPHONETICORGANIZATION
+
VARCHAR ZPHONETICORGANIZATION
ZPREFERREDAPPLEPERSONAIDENTIFIER
+
VARCHAR ZPREFERREDAPPLEPERSONAIDENTIFIER
ZPREFERREDLIKENESSSOURCE
+
VARCHAR ZPREFERREDLIKENESSSOURCE
ZSORTINGFIRSTNAME
+
VARCHAR ZSORTINGFIRSTNAME
ZSORTINGLASTNAME
+
VARCHAR ZSORTINGLASTNAME
ZSUFFIX
+
VARCHAR ZSUFFIX
ZTITLE
+
VARCHAR ZTITLE
ZTMPHOMEPAGE
+
VARCHAR ZTMPHOMEPAGE
ZASSISTANTVALIDITY
+
VARCHAR ZASSISTANTVALIDITY
ZCREATEDVERSION
+
VARCHAR ZCREATEDVERSION
ZLASTDOTMACACCOUNT
+
VARCHAR ZLASTDOTMACACCOUNT
ZLASTSAVEDVERSION
+
VARCHAR ZLASTSAVEDVERSION
ZSYNCANCHOR
+
VARCHAR ZSYNCANCHOR
ZMODIFIEDUNIQUEIDSDATA
+
BLOB ZMODIFIEDUNIQUEIDSDATA
ZSEARCHELEMENTDATA
+
BLOB ZSEARCHELEMENTDATA
 
}
 
}
 
class Z_17PARENTGROUPS {
 
class Z_17PARENTGROUPS {
Z_17CHILDGROUPS
+
INTEGER Z_17CHILDGROUPS
Z_18PARENTGROUPS
+
INTEGER Z_18PARENTGROUPS
 
}
 
}
 
class Z_22PARENTGROUPS {
 
class Z_22PARENTGROUPS {
Z_22CONTACTS
+
INTEGER Z_22CONTACTS
Z_18PARENTGROUPS1
+
INTEGER Z_18PARENTGROUPS1
 
}
 
}
 
class ZABCDRELATEDNAME {
 
class ZABCDRELATEDNAME {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZOWNER
+
INTEGER ZOWNER
Z22_OWNER
+
INTEGER Z22_OWNER
ZLABEL
+
VARCHAR ZLABEL
ZNAME
+
VARCHAR ZNAME
ZUNIQUEID
+
VARCHAR ZUNIQUEID
 
}
 
}
 
class ZABCDREMOTELOCATION {
 
class ZABCDREMOTELOCATION {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZOWNER
+
INTEGER ZOWNER
Z16_OWNER
+
INTEGER Z16_OWNER
ZLABEL
+
VARCHAR ZLABEL
ZUNIQUEID
+
VARCHAR ZUNIQUEID
ZURL
+
VARCHAR ZURL
 
}
 
}
 
class ZABCDSERVICE {
 
class ZABCDSERVICE {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZSERVICENAME
+
VARCHAR ZSERVICENAME
 
}
 
}
 
class ZABCDSHARINGACCESSCONTROLENTRY {
 
class ZABCDSHARINGACCESSCONTROLENTRY {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZOWNER
+
INTEGER ZOWNER
ZREADACLSOURCE
+
INTEGER ZREADACLSOURCE
ZREADWRITEACLSOURCE
+
INTEGER ZREADWRITEACLSOURCE
ZACCOUNTNAME
+
VARCHAR ZACCOUNTNAME
ZLABEL
+
VARCHAR ZLABEL
ZUNIQUEID
+
VARCHAR ZUNIQUEID
 
}
 
}
 
class ZABCDSOCIALPROFILE {
 
class ZABCDSOCIALPROFILE {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZOWNER
+
INTEGER ZOWNER
Z22_OWNER
+
INTEGER Z22_OWNER
ZBUNDLEIDENTIFIERSSTRING
+
VARCHAR ZBUNDLEIDENTIFIERSSTRING
ZDISPLAYNAME
+
VARCHAR ZDISPLAYNAME
ZLABEL
+
VARCHAR ZLABEL
ZSERVICENAME
+
VARCHAR ZSERVICENAME
ZTEAMIDENTIFIER
+
VARCHAR ZTEAMIDENTIFIER
ZUNIQUEID
+
VARCHAR ZUNIQUEID
ZURLSTRING
+
VARCHAR ZURLSTRING
ZUSERIDENTIFIER
+
VARCHAR ZUSERIDENTIFIER
ZUSERNAME
+
VARCHAR ZUSERNAME
ZCUSTOMVALUESDATA
+
BLOB ZCUSTOMVALUESDATA
 
}
 
}
 
class ZABCDUNKNOWNPROPERTY {
 
class ZABCDUNKNOWNPROPERTY {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZOWNER
+
INTEGER ZOWNER
Z16_OWNER
+
INTEGER Z16_OWNER
ZPROPERTYNAME
+
VARCHAR ZPROPERTYNAME
ZORIGINALLINE
+
BLOB ZORIGINALLINE
 
}
 
}
 
class ZABCDURLADDRESS {
 
class ZABCDURLADDRESS {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZOWNER
+
INTEGER ZOWNER
Z22_OWNER
+
INTEGER Z22_OWNER
ZLABEL
+
VARCHAR ZLABEL
ZUNIQUEID
+
VARCHAR ZUNIQUEID
ZURL
+
VARCHAR ZURL
 
}
 
}
 
class Z_PRIMARYKEY {
 
class Z_PRIMARYKEY {
Z_ENT
+
INTEGER Z_ENT
Z_NAME
+
VARCHAR Z_NAME
Z_SUPER
+
INTEGER Z_SUPER
Z_MAX
+
INTEGER Z_MAX
 
}
 
}
 
class Z_METADATA {
 
class Z_METADATA {
Z_VERSION
+
INTEGER Z_VERSION
Z_UUID
+
VARCHAR(255) Z_UUID
Z_PLIST
+
BLOB Z_PLIST
 
}
 
}
 
class Z_MODELCACHE {
 
class Z_MODELCACHE {
Z_CONTENT
+
BLOB Z_CONTENT
 
}
 
}
 
class ZABCDPOSTALADDRESS {
 
class ZABCDPOSTALADDRESS {
Z_PK
+
INTEGER Z_PK
Z_ENT
+
INTEGER Z_ENT
Z_OPT
+
INTEGER Z_OPT
ZISPRIMARY
+
INTEGER ZISPRIMARY
ZISPRIVATE
+
INTEGER ZISPRIVATE
ZORDERINGINDEX
+
INTEGER ZORDERINGINDEX
ZOWNER
+
INTEGER ZOWNER
Z22_OWNER
+
INTEGER Z22_OWNER
ZCITY
+
VARCHAR ZCITY
ZCOUNTRYCODE
+
VARCHAR ZCOUNTRYCODE
ZCOUNTRYNAME
+
VARCHAR ZCOUNTRYNAME
ZLABEL
+
VARCHAR ZLABEL
ZREGION
+
VARCHAR ZREGION
ZSAMA
+
VARCHAR ZSAMA
ZSTATE
+
VARCHAR ZSTATE
ZSTREET
+
VARCHAR ZSTREET
ZSUBLOCALITY
+
VARCHAR ZSUBLOCALITY
ZUNIQUEID
+
VARCHAR ZUNIQUEID
ZZIPCODE
+
VARCHAR ZZIPCODE
ZCUSTOMVALUESDICTIONARY
+
BLOB ZCUSTOMVALUESDICTIONARY
 
}
 
}
 
</uml>
 
</uml>

Latest revision as of 10:05, 8 April 2020

Synching a Mac Addressbook with NextCloud is not as easy as it might seem.

Theoretically the CardDAV CalDAV Standards should make things easy. In practice it's a nightmare. See e.g.

Here you'll find some technical details that might help you debug your situation.

Links

Timestamps

Database schema