composer.json for https://plugins.roundcube.net/
[roundcube-nextcloud_sql_addressbook.git] / README.rst
1 ***********************************************
2 NextCloud SQL address book plugin for Roundcube
3 ***********************************************
4
5 Roundcube__ plugin that allows access to NextCloud__ address books.
6 Uses direct database access (SQL), which is much faster than accessing the
7 address book entries via the `CardDAV plugin`__.
8
9 __ https://roundcube.net/
10 __ https://nextcloud.com/
11 __ https://plugins.roundcube.net/packages/roundcube/carddav
12
13
14 Features
15 ========
16 - List all user's NextCloud address books
17 - Search
18 - Autocomplete
19
20 Missing features
21 ----------------
22 - Access to address books shared by other people in NextCloud
23 - Access to more fields than "email" and "name" (full name)
24 - Updating/adding address book entries (not planned)
25
26
27 Prerequisites
28 =============
29 - Read-only SQL database access from Roundcube to the NextCloud database.
30   Read access to the following tables needed:
31
32   - ``oc_addressbooks``
33   - ``oc_cards_properties``
34 - Roundcube user login e-mail addresses must equal the username in NextCloud
35   (Users log in with `alice@example.org` in both Roundcube and NextCloud)
36 - Known to work with:
37   - PHP 7.3.0
38   - NextCloud 14
39   - Roundcube 1.4.0
40
41
42 Installation
43 ============
44 #. Clone the git repository into the roundcube ``plugins/`` directory as
45    ``nextcloud_sql_addressbook``.
46 #. Copy ``config.inc.php.dist`` to ``config.inc.php`` and adjust it:
47
48    #. Database connection
49    #. Table prefix (defaults to ``oc_``)
50 #. Enable the plugin in roundcube's ``config/config.inc.php`` file by
51    adding it to the ``$config['plugins']`` array.
52
53
54 Debugging
55 =========
56 If you do not see any address books:
57 The address books are only found if the ``principaluri`` in the ``oc_addressbooks``
58 table equals ``principals/users/`` + ``$useremailaddress``.
59
60 If you do not see all contacts: Only contacts with an e-mail address are shown.