f7cloud_client/core/doc/admin/groupware/contacts.html
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

372 lines
24 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="readthedocs-addons-api-version" content="1"><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Contacts / CardDAV &mdash; F7cloud latest Administration Manual latest documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=8ff6e0db" />
<link rel="stylesheet" type="text/css" href="../_static/dark_mode_css/general.css?v=c0a7eb24" />
<link rel="stylesheet" type="text/css" href="../_static/dark_mode_css/dark.css?v=70edf1c7" />
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=f4332903"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
<script src="../_static/copybutton.js?v=f281be69"></script>
<script src="../_static/dark_mode_js/default_light.js?v=c2e647ce"></script>
<script src="../_static/dark_mode_js/theme_switcher.js?v=358d3910"></script>
<script src="../_static/js/theme.js"></script>
<script src="../_static/js/versions.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Mail" href="mail.html" />
<link rel="prev" title="Calendar / CalDAV" href="calendar.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../contents.html">
<img src="../_static/logo-white.png" class="logo" alt="Logo"/>
</a>
<div class="switch-menus">
<div class="version-switch"></div>
<div class="language-switch"></div>
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Getting Started</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release_schedule.html">Maintenance and release schedule</a></li>
<li class="toctree-l1"><a class="reference internal" href="../gdpr/index.html">GDPR-compliance</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Release notes</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../release_notes/index.html">Critical changes</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Installation</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../installation/index.html">Installation and server configuration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../configuration_database/index.html">Database configuration</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Configuration</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../configuration_server/index.html">F7cloud configuration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../occ_command.html">Using the occ command</a></li>
<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference management</a></li>
<li class="toctree-l1"><a class="reference internal" href="../webhook_listeners/index.html">Webhook Listeners</a></li>
<li class="toctree-l1"><a class="reference internal" href="../windmill_workflows/index.html">Windmill Workflows</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Files</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../configuration_files/index.html">File sharing and management</a></li>
<li class="toctree-l1"><a class="reference internal" href="../file_workflows/index.html">Flow</a></li>
<li class="toctree-l1"><a class="reference internal" href="../configuration_mimetypes/index.html">Mimetypes management</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Apps</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../apps_management.html">Apps management</a></li>
<li class="toctree-l1"><a class="reference internal" href="../exapps_management/index.html">ExApps management</a></li>
<li class="toctree-l1"><a class="reference internal" href="../ai/index.html">Artificial Intelligence</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Users</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../configuration_user/index.html">User management</a></li>
<li class="toctree-l1"><a class="reference internal" href="../desktop/index.html">Desktop Clients</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Groupware</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Groupware</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="calendar.html">Calendar / CalDAV</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Contacts / CardDAV</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#system-address-book">System Address Book</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#command-line">Command Line</a></li>
<li class="toctree-l4"><a class="reference internal" href="#administration-interface">Administration interface</a></li>
<li class="toctree-l4"><a class="reference internal" href="#privacy-and-user-property-scopes">Privacy and User Property Scopes</a></li>
<li class="toctree-l4"><a class="reference internal" href="#address-book-sync">Address Book Sync</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#shared-items">Shared items</a></li>
<li class="toctree-l3"><a class="reference internal" href="#rate-limits">Rate limits</a></li>
<li class="toctree-l3"><a class="reference internal" href="#example-contact">Example contact</a></li>
<li class="toctree-l3"><a class="reference internal" href="#data-retention">Data retention</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#sync-tokens">Sync tokens</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="mail.html">Mail</a></li>
<li class="toctree-l2"><a class="reference internal" href="out_of_office.html">Out-of-office feature</a></li>
<li class="toctree-l2"><a class="reference internal" href="troubleshooting.html">Troubleshooting</a></li>
</ul>
</li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Office</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../office/index.html">Office</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Maintenance</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../maintenance/index.html">Maintenance</a></li>
<li class="toctree-l1"><a class="reference internal" href="../issues/index.html">Issues and troubleshooting</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Links</span></p>
<ul>
<li class="toctree-l1"><a class="reference external" href="https://help.f7cloud.com/">Community Help Forum</a></li>
<li class="toctree-l1"><a class="reference external" href="https://docs.f7cloud.com/">User Manuals</a></li>
<li class="toctree-l1"><a class="reference external" href="https://docs.f7cloud.com/">Developer Manuals</a></li>
<li class="toctree-l1"><a class="reference external" href="https://f7cloud.com/install/">Download</a></li>
<li class="toctree-l1"><a class="reference external" href="https://apps.f7cloud.com">App Store</a></li>
<li class="toctree-l1"><a class="reference external" href="https://help.f7cloud.com/t/translation-knowledge-valid-for-the-entire-f7cloud-project-wiki/51550">Translations</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/f7cloud/">GitHub</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/f7cloud/server/wiki/Maintenance-and-Release-Schedule">Supported versions</a></li>
<li class="toctree-l1"><a class="reference external" href="https://f7cloud.com/enterprise/">F7cloud Enterprise</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/f7cloud/server/blob/master/COPYING-README">License</a></li>
<li class="toctree-l1"><a class="reference external" href="https://f7cloud.com/">F7cloud GmbH</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../contents.html">F7cloud latest Administration Manual</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content style-external-links">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../contents.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html">Groupware</a></li>
<li class="breadcrumb-item active">Contacts / CardDAV</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/f7cloud/documentation/edit/master/admin_manual/groupware/contacts.rst" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="contacts-carddav">
<h1>Contacts / CardDAV<a class="headerlink" href="#contacts-carddav" title="Link to this heading"></a></h1>
<p>F7cloud ships a CardDAV backend for users to store and share their address books and contacts.</p>
<section id="system-address-book">
<span id="id1"></span><h2>System Address Book<a class="headerlink" href="#system-address-book" title="Link to this heading"></a></h2>
<div class="versionchanged">
<p><span class="versionmodified changed">Changed in version 27: </span>The system address book is now accessible to all F7cloud users</p>
</div>
<p>F7cloud maintains a read-only address book containing contact information of all users of the instance.</p>
<p>Disabled users are removed from this address book.</p>
<p>You can disable or enable access to the system address book by using the administration interface or with a command line command.</p>
<p>Please note that this does not influence <a class="reference internal" href="../configuration_files/federated_cloud_sharing_configuration.html#label-direct-share-link"><span class="std std-ref">Federated sharing</span></a>.</p>
<section id="command-line">
<h3>Command Line<a class="headerlink" href="#command-line" title="Link to this heading"></a></h3>
<p>Run <code class="docutils literal notranslate"><span class="pre">occ</span> <span class="pre">config:app:set</span> <span class="pre">dav</span> <span class="pre">system_addressbook_exposed</span> <span class="pre">--value=&quot;no&quot;</span></code> to disable access to the system address book for all users.</p>
</section>
<section id="administration-interface">
<h3>Administration interface<a class="headerlink" href="#administration-interface" title="Link to this heading"></a></h3>
<p>Navigate to <em>Administration Settings</em> -&gt; <em>Groupware</em> -&gt; <em>System Address Book</em> section and toggle the <em>Enable system address book</em> option.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>If clients have already connected to the CalDAV endpoint, the clients might experience sync issues after system address book access was disabled. This can often be remedied by choosing a different default address book on the client and forcing a resync.</p>
</div>
</section>
<section id="privacy-and-user-property-scopes">
<h3>Privacy and User Property Scopes<a class="headerlink" href="#privacy-and-user-property-scopes" title="Link to this heading"></a></h3>
<p>Contact information in the system address book is taken from users <a class="reference internal" href="../configuration_user/profile_configuration.html#profile"><span class="std std-ref">profile information</span></a>. Profile properties are only written to the system contact if the <a class="reference internal" href="../configuration_user/profile_configuration.html#profile-property-scopes"><span class="std std-ref">scope</span></a> is set to <em>Local</em> or higher.</p>
<p>Users who set all their property scopes to <em>Private</em> are removed from the system address book and therefore not seen by other users.</p>
<p><a class="reference internal" href="../configuration_files/file_sharing_configuration.html#file-sharing-configuration"><span class="std std-ref">File sharing settings</span></a> controls the enumeration of other users.</p>
<ul class="simple">
<li><p>If username autocompletion is not allowed, the system address book will only show users own system contact but no other contacts.</p></li>
<li><p>If username autocompletion is allowed, users will see contact cards for all other users.</p>
<ul>
<li><p>If autocompletion is limited to users within the same groups, users will see contact cards for other users in shared groups.</p></li>
<li><p>If autocompletion is limited to matching phone numbers, the system address book will only show users own system contact but no other contacts.</p></li>
<li><p>If autocompletion is limited to users within the same groups <strong>and</strong> matching phone numbers, users will see contact cards for other users in shared groups.</p></li>
</ul>
</li>
</ul>
</section>
<section id="address-book-sync">
<h3>Address Book Sync<a class="headerlink" href="#address-book-sync" title="Link to this heading"></a></h3>
<p>The address book is updated automatically with every added, modified, disabled or removed user. Admins can also trigger a full rewrite of the address book <a class="reference internal" href="../occ_command.html#dav-sync-system-address-book"><span class="std std-ref">with occ</span></a>.</p>
</section>
</section>
<section id="shared-items">
<h2>Shared items<a class="headerlink" href="#shared-items" title="Link to this heading"></a></h2>
<div class="versionadded">
<p><span class="versionmodified added">Added in version 5.5.0.</span></p>
</div>
<p>For this feature, the shipped <a class="reference external" href="https://apps.f7cloud.com/apps/related_resources">related resources app</a> needs to be enabled.</p>
</section>
<section id="rate-limits">
<h2>Rate limits<a class="headerlink" href="#rate-limits" title="Link to this heading"></a></h2>
<p>F7cloud rate limits the creation of address books and how many can be created in a short period of time. The default is 10 address books per hour. This can be customized as follows:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Set limit to 15 items per 30 minutes</span>
<span class="n">sudo</span> <span class="o">-</span><span class="n">E</span> <span class="o">-</span><span class="n">u</span> <span class="n">www</span><span class="o">-</span><span class="n">data</span> <span class="n">php</span> <span class="n">occ</span> <span class="n">config</span><span class="p">:</span><span class="n">app</span><span class="p">:</span><span class="nb">set</span> <span class="n">dav</span> <span class="n">rateLimitAddressBookCreation</span> <span class="o">--</span><span class="nb">type</span><span class="o">=</span><span class="n">integer</span> <span class="o">--</span><span class="n">value</span><span class="o">=</span><span class="mi">15</span>
<span class="n">sudo</span> <span class="o">-</span><span class="n">E</span> <span class="o">-</span><span class="n">u</span> <span class="n">www</span><span class="o">-</span><span class="n">data</span> <span class="n">php</span> <span class="n">occ</span> <span class="n">config</span><span class="p">:</span><span class="n">app</span><span class="p">:</span><span class="nb">set</span> <span class="n">dav</span> <span class="n">rateLimitPeriodAddressBookCreation</span> <span class="o">--</span><span class="nb">type</span><span class="o">=</span><span class="n">integer</span> <span class="o">--</span><span class="n">value</span><span class="o">=</span><span class="mi">1800</span>
</pre></div>
</div>
<p>Additionally, the maximum number of address books a user may create is limited to 10 items. This can be customized too:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Allow users to create 50 addressbooks</span>
<span class="n">sudo</span> <span class="o">-</span><span class="n">E</span> <span class="o">-</span><span class="n">u</span> <span class="n">www</span><span class="o">-</span><span class="n">data</span> <span class="n">php</span> <span class="n">occ</span> <span class="n">config</span><span class="p">:</span><span class="n">app</span><span class="p">:</span><span class="nb">set</span> <span class="n">dav</span> <span class="n">maximumAdressbooks</span> <span class="o">--</span><span class="nb">type</span><span class="o">=</span><span class="n">integer</span> <span class="o">--</span><span class="n">value</span><span class="o">=</span><span class="mi">50</span>
</pre></div>
</div>
<p>or:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Allow users to create address books without restriction</span>
<span class="n">sudo</span> <span class="o">-</span><span class="n">E</span> <span class="o">-</span><span class="n">u</span> <span class="n">www</span><span class="o">-</span><span class="n">data</span> <span class="n">php</span> <span class="n">occ</span> <span class="n">config</span><span class="p">:</span><span class="n">app</span><span class="p">:</span><span class="nb">set</span> <span class="n">dav</span> <span class="n">maximumAdressbooks</span> <span class="o">--</span><span class="nb">type</span><span class="o">=</span><span class="n">integer</span> <span class="o">--</span><span class="n">value</span><span class="o">=-</span><span class="mi">1</span>
</pre></div>
</div>
</section>
<section id="example-contact">
<h2>Example contact<a class="headerlink" href="#example-contact" title="Link to this heading"></a></h2>
<div class="versionadded">
<p><span class="versionmodified added">Added in version 32.0.0.</span></p>
</div>
<p>When a user logs in for the first time an example contact is created in the users address book.</p>
<p>To disable the example contact feature:</p>
<ol class="arabic simple">
<li><p>Navigate to the Groupware settings in the admin settings.</p></li>
<li><p>Scroll down to the “Example content” section.</p></li>
<li><p>Disable the “Add example contact …” setting with the checkbox</p></li>
</ol>
<p>If you want to set a specific contact that should be created.</p>
<ol class="arabic simple" start="4">
<li><p>Press the “Import contact” button.</p></li>
<li><p>Choose a vCard file (.vcf) that should be imported as an example contact.</p></li>
</ol>
<p>Switching back to the default example contact provided by f7cloud is possible by pressing the
“Reset to default” button next to the import button.</p>
</section>
<section id="data-retention">
<span id="carddav-data-retention"></span><h2>Data retention<a class="headerlink" href="#data-retention" title="Link to this heading"></a></h2>
<div class="versionadded">
<p><span class="versionmodified added">Added in version 26.0.0.</span></p>
</div>
<p>You can configure how long F7cloud keeps some of the contacts sync tokens.</p>
<section id="sync-tokens">
<h3>Sync tokens<a class="headerlink" href="#sync-tokens" title="Link to this heading"></a></h3>
<p>The CardDAV backend keeps track of any modifications of address books. That is anything added, modified or removed. The data is used for differential synchronization of offline clients like Thunderbird. At a certain point in time, the data can be considered outdated assuming there will be no more client needing it. This can help keep the database table <cite>addressbookchanges</cite> small:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="o">-</span><span class="n">E</span> <span class="o">-</span><span class="n">u</span> <span class="n">www</span><span class="o">-</span><span class="n">data</span> <span class="n">php</span> <span class="n">occ</span> <span class="n">config</span><span class="p">:</span><span class="n">app</span><span class="p">:</span><span class="nb">set</span> <span class="n">totalNumberOfSyncTokensToKeep</span> <span class="o">--</span><span class="n">value</span><span class="o">=</span><span class="mi">30000</span>
</pre></div>
</div>
<p>The default is keeping 10,000 entries. This option should be set adequate to the number of users. E.g. on an installation with 5000 active synced addressbooks the system would only keep an average of 10 changes per sync. This will lead to premature data deletion and synchronization problems.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>This setting will also influence <a class="reference internal" href="calendar.html#caldav-data-retention"><span class="std std-ref">CalDAV data retention</span></a>.</p>
</div>
</section>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="calendar.html" class="btn btn-neutral float-left" title="Calendar / CalDAV" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="mail.html" class="btn btn-neutral float-right" title="Mail" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2016-2026 F7cloud GmbH and F7cloud contributors.</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
☁️ latest
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
<dl>
<dt>☁️ Versions</dt>
<dd style="width: 32%">
<a href="https://docs.f7cloud.com/server/latest/admin_manual"
style="color: var(--dark-link-color);"
>
latest
</a>
</dd>
<dd style="width: 32%">
<a href="https://docs.f7cloud.com/server/stable/admin_manual"
>
stable
</a>
</dd>
<dd style="width: 32%">
<a href="https://docs.f7cloud.com/server/31/admin_manual"
>
31
</a>
</dd>
<dd style="width: 32%">
<a href="https://docs.f7cloud.com/server/30/admin_manual"
>
30
</a>
</dd>
<dd style="width: 32%">
<a href="https://docs.f7cloud.com/server/29/admin_manual"
>
29
</a>
</dd>
</dl>
</div>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>