Skip to content

Contacts#

Defaults#

contacts.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- Describes a contacts setup -->
<contacts version="1.34.0">
  <!-- Describes a ldap setup -->
  <ldap>
    <!-- use this service or not
         type: boolean -->
    <active>false</active>
    <!-- ldap server address fqdn or ip address
         type: string -->
    <server>ldap.example.org</server>
    <!-- ldap lts modes
         type: enum
         accepted values:
           ldap
           ldapStartTls
           ldaps -->
    <ldapProtocol>ldap</ldapProtocol>
    <!-- ldap server port 389 or 636 (LDAPS)
         type: integer
         minimum: 1
         maximum: 65535 -->
    <port>389</port>
    <!-- ldap protocol version 2 or 3
         type: enum
         accepted values:
           two
           three -->
    <ldapVersion>three</ldapVersion>
    <!-- username to login
         type: string -->
    <username>telephoneNumber=1234, dc=example</username>
    <!-- The password to authenticate the for the ldap server
         type: string -->
    <password></password>
    <!-- name filter according to RFC2254
         type: string -->
    <nameFilter>(|(cn=%*)(cn=* %*)(sn=%*)(sn=* %*)(givenName=%*)(givenName=* %*))</nameFilter>
    <!-- number filter according to RFC2254 for reverse number lookup
         type: string -->
    <numberFilter>(|(telephoneNumber=*%)(mobile=*%)(homePhone=*%))</numberFilter>
    <!-- number filter according to RFC2254 for the number suggestion list in the dialer
         type: string -->
    <dialerNumberFilter>(|(telephoneNumber=*%*)(mobile=*%*)(homePhone=*%*))</dialerNumberFilter>
    <!-- scope that will be searched
         type: string -->
    <baseDN>dc=example</baseDN>
    <!-- maximum size of a result list for a filtered search
         type: integer
         minimum: 1
         maximum: 32000 -->
    <maxHits>20</maxHits>
    <!-- Maximum size of a result list for an unfiltered search when
         starting the contacts app
         type: integer
         maximum: 32000 -->
    <maxEntriesOnStart>100</maxEntriesOnStart>
    <!-- what names are you looking for
         type: string -->
    <nameAttributes>cn sn givenName company o</nameAttributes>
    <!-- what numbers are you looking for
         type: string -->
    <numberAttributes>mobile telephoneNumber homePhone</numberAttributes>
  </ldap>
  <!-- set of smoothSync configuration parameters
       type: list -->
  <smoothSync>
    <!-- a single smoothSync configuration parameter
         parameters:
           name: the name of this smooth Sync config
                 type: string -->
    <smoothSyncConfiguration name="">
      <!-- username to login on the server
           type: string -->
      <username></username>
      <!-- password to login on the server
           type: string -->
      <password>secretPassword</password>
      <!-- whether the services are read-only or not
           type: boolean -->
      <readonly>false</readonly>
      <!-- type: list -->
      <services>
        <smoothSyncService>
          <!-- Type of service.
               type: enum
               accepted values:
                 CalDAV
                 CardDAV -->
          <serviceType>CardDAV</serviceType>
          <!-- The URL of the service
               type: string -->
          <uri></uri>
        </smoothSyncService>
      </services>
    </smoothSyncConfiguration>
  </smoothSync>
  <!-- name sorting order for contact query results
       type: enum
       accepted values:
         orderByFirstname
         orderByLastname -->
  <orderBy>orderByFirstname</orderBy>
  <!-- name format for contact query results
       type: enum
       accepted values:
         givenNameFirst
         surnameFirst -->
  <nameFormat>givenNameFirst</nameFormat>
  <!-- List of all Google accounts.
       type: list -->
  <googleAccounts>
    <!-- a single Google account
         parameters:
           id: primary key
               type: string -->
    <googleAccount id="">
      <!-- Google account name (freely usable name, does not have to be the email address)
           type: string -->
      <name></name>
      <!-- authorization state
           type: enum
           accepted values:
             todo
             pending
             done -->
      <authorization>todo</authorization>
      <!-- if no group is defined, all contacts are synced, otherwise only those of the specified group are synced
           type: string -->
      <googleGroup>contactGroups/all</googleGroup>
      <!-- activate periodical sync
           type: boolean -->
      <autoSync>true</autoSync>
      <!-- interval of periodical sync in hours
           type: integer
           minimum: 1
           maximum: 168 -->
      <syncInterval>24</syncInterval>
      <!-- timestamp when the last sync was done (Format = 2023-01-17 13:05)
           type: string -->
      <lastUpdateTime></lastUpdateTime>
      <!-- state of the last update/sync
           type: enum
           accepted values:
             notDone
             successful
             incomplete -->
      <lastUpdateState>notDone</lastUpdateState>
    </googleAccount>
  </googleAccounts>
</contacts>