<?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>