Difference between revisions of "Mac Addressbook"
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.
- 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
Database schema
