Imported Upstream version 1.4.99.2
[platform/upstream/syncevolution.git] / src / syncevo / configs / datatypes / 00vcard-fieldlist.xml
index f60560a..c8f586e 100644 (file)
@@ -3,6 +3,13 @@
       <field name="SYNCLVL" type="integer" compare="never"/>
       <field name="REV" type="timestamp" compare="never" age="yes"/>
 
+      <!-- If we knew that both sides have reliable UID support, we could use
+       it for pairing. But we don't know that and thus cannot rely on it. -->
+      <field name="UID" type="string" compare="never"/>
+
+      <!-- The group tags used to combine instances of different repeating properties. -->
+      <field name="GROUP_TAG" array="yes" type="string" compare="never"/>
+
       <!-- Name elements -->
       <field name="N_LAST" type="string" compare="always"/>
       <field name="N_FIRST" type="string" compare="always"/>
       <field name="ORG_TEAM" type="string" compare="conflict" merge="fillempty"/>
       <field name="ROLE" type="string" compare="conflict" merge="fillempty"/>
 
-      <!-- birthday and anniversary (not necessarily the same) -->
+      <!-- Birthday and anniversary (not necessarily the same). BDAY is always used,
+           ANNIVERSARY only by some profiles. -->
       <field name="BDAY" type="date" compare="conflict" merge="fillempty"/>
       <field name="ANNIVERSARY" type="date" compare="conflict" merge="fillempty"/>
 
+      <!-- Generic storage for special dates, including anniversary. Mapped to X-ABDATE + X-ABLabel. -->
+      <!-- Beware, don't use "DATE", it conflicts with builtin function name. -->
+      <field name="XDATE" array="yes" type="date" compare="conflict"/>
+
       <!-- telephone numbers -->
       <field name="TEL"         array="yes" type="telephone" compare="conflict"/>
-      <field name="TEL_FLAGS"   array="yes" type="integer"   compare="conflict"/> <!-- offset 0 -->
-      <field name="TEL_LABEL"   array="yes" type="string"    compare="conflict"/> <!-- offset 1 -->
-      <field name="TEL_ID"      array="yes" type="integer"   compare="conflict"/> <!-- offset 2 -->
-      <field name="TEL_SLOT"    array="yes" type="integer"   compare="never"/>    <!-- offset 3 -->
+      <field name="TEL_FLAGS"   array="yes" type="integer"   compare="conflict"/>
+      <field name="TEL_SLOT"    array="yes" type="integer"   compare="never"/>
 
       <!-- emails -->
       <field name="EMAIL"       array="yes" type="multiline" compare="conflict"/>
-      <field name="EMAIL_FLAGS" array="yes" type="integer"   compare="conflict"/> <!-- offset 0 -->
-      <field name="EMAIL_LABEL" array="yes" type="string"    compare="conflict"/> <!-- offset 1 -->
-      <field name="EMAIL_ID"    array="yes" type="integer"   compare="conflict"/> <!-- offset 2 -->
-      <field name="EMAIL_SLOT"  array="yes" type="integer"   compare="never"/>    <!-- offset 3 -->
+      <field name="EMAIL_FLAGS" array="yes" type="integer"   compare="conflict"/>
+      <field name="EMAIL_SLOT"  array="yes" type="integer"   compare="never"/>
 
       <!-- web addresses -->
       <field name="WEB"         array="yes" type="string" compare="conflict"/>
-      <field name="WEB_FLAGS"   array="yes" type="integer"   compare="conflict"/> <!-- offset 0 -->
-      <field name="WEB_LABEL"   array="yes" type="string"    compare="conflict"/> <!-- offset 1 -->
-      <field name="WEB_ID"      array="yes" type="integer"   compare="conflict"/> <!-- offset 2 -->
+      <field name="WEB_FLAGS"   array="yes" type="integer"   compare="conflict"/>
 
       <!-- would be nicer to have as part of WEB, but parser/encoder does not support mapping
            with more than one property per field -->
@@ -58,6 +64,9 @@
       <field name="BLOGURL"     array="yes" type="string" compare="conflict"/>
       <field name="VIDEOURL"    array="yes" type="string" compare="conflict"/>
 
+      <!-- generic replacement for MANAGER/ASSISTANT/SPOUSE -->
+      <field name="RELATEDNAMES" array="yes" type="string" compare="conflict"/>
+
       <!-- related persons: should be turned into array, like WEB and CALURI/FBURL -->
       <field name="MANAGER"    type="string" compare="conflict"/>
       <field name="ASSISTANT"  type="string" compare="conflict"/>
            type would be useful, maybe add that later. -->
       <field name="WANTS_HTML"  type="string" compare="conflict"/>
 
-      <!-- chat handles: should be turned into one array, like WEB and CALURI/FBURL -->
+      <!-- RFC 4770 chat handles, used internally *instead* of the individual handles below. -->
+      <field name="IMPP" array="yes" type="string" compare="conflict"/> <!-- includes protocol: xmpp:google%20talk -->
+      <field name="IMPP_SERVICE" array="yes" type="string" compare="conflict"/> <!-- GoogleTalk -->
+      <field name="IMPP_SLOT" array="yes" type="string" compare="conflict"/> <!-- Evolution UI slot -->
+
+      <!-- Individual chat handles: used as temporary storage when exchanging data via legacy profiles. -->
       <field name="AIM_HANDLE"        array="yes" type="string" compare="conflict"/>
       <field name="AIM_SLOT"          array="yes" type="string" compare="conflict"/>
       <field name="GADUGADU_HANDLE"        array="yes" type="string" compare="conflict"/>
       <!-- home address -->
       <field name="ADR_STREET"        array="yes" type="multiline" compare="conflict"/>
       <field name="ADR_ADDTL"         array="yes" type="multiline" compare="conflict"/>
-      <field name="ADR_STREET_FLAGS"  array="yes" type="integer"   compare="conflict"/> <!-- offset 0 (from ADR_STREET_FLAGS) -->
-      <field name="ADR_STREET_LABEL"  array="yes" type="string"    compare="conflict"/> <!-- offset 1 -->
-      <field name="ADR_STREET_ID"     array="yes" type="integer"   compare="conflict"/> <!-- offset 2 -->
+      <field name="ADR_STREET_FLAGS"  array="yes" type="integer"   compare="conflict"/>
       <field name="ADR_POBOX"         array="yes" type="multiline" compare="conflict"/>
       <field name="ADR_CITY"          array="yes" type="multiline" compare="conflict"/>
       <field name="ADR_REG"           array="yes" type="multiline" compare="conflict"/>
       <field name="CRYPTOSIGNPREF" type="string" compare="conflict"/>
       <field name="OPENPGPFP" type="string" compare="conflict"/>
 
+      <!-- Custom labels. Mapped to either X-ABProperty via group tag (WebDAV) or X-ABLabel parameter (internal). -->
+      <field name="LABEL" array="yes" type="string" compare="conflict"/>
+
       <!-- store extensions that don't match any of the other fields -->
       <field name="XPROPS" array="yes" type="string" compare="never"/>
     </fieldlist>