contacts
contacts copied to clipboard
Support Mac groups vCards
Steps to reproduce
- Setup CardDAV Sync in MacOS
- Create a group in MacOS Contact app
or
- Create a group in Nextcloud
Expected behaviour
Groups created in Contacts app should appear as groups in Nextcloud. Groups created in Nextcloud should appear as groups in Contacts app.
Actual behaviour
A group created in Contacts app appears as a normal contact in Nextcloud. Nextcloud groups are not represented in Contacts app.
Server configuration
Operating system: Nextcloud official Docker
Web server: Nginx Proxy
Database: MariaDB
Nextcloud version: 11.0.3
Contacts version: 1.5.3
Updated from an older Nextcloud or fresh install: Updated, but contacts cleared
Client configuration
Operating system: MacOS 10.12.4
CardDAV-clients: MacOS Contacts app
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Same issue with Nextcloud 12
Server configuration
Operating system: Debian GNU/Linux 8.8 (jessie) x86_64
Web server: Apache/2.4.10 (Debian) (apache2handler)
Database: mysql 5.5.55
PHP version: 5.6.30-0+deb8u1 Modules loaded: Core, date, ereg, libxml, openssl, pcre, zlib, bcmath, bz2, calendar, ctype, dba, dom, hash, fileinfo, filter, ftp, gettext, SPL, iconv, mbstring, session, posix, Reflection, standard, shmop, SimpleXML, soap, sockets, Phar, exif, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlwriter, zip, apache2handler, PDO, apcu, curl, gd, imagick, intl, json, mcrypt, memcache, mysql, mysqli, pdo_mysql, pdo_sqlite, pspell, readline, recode, sqlite3, tidy, xmlrpc, xsl, mhash, apc, Zend OPcache
Nextcloud version: 12.0.0 - 12.0.0.29
Are you using external storage, if yes which one: files_external is disabled
Are you using encryption: no
Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...
Client configuration
Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.1 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.1
Operating system:
- macOS Sierra version 10.12.6 Beta (16G8c) and Contacts version 10.0 (1756.20)
- iOS 10.3.3 (14G5037b)
Updated from an older Nextcloud/ownCloud or fresh install: Updated from last release of NextCloud 11
List of activated apps:
App list
``` Enabled: - activity: 2.5.2 - bruteforcesettings: 1.0.2 - calendar: 1.5.3 - comments: 1.2.0 - contacts: 1.5.3 - dav: 1.3.0 - federatedfilesharing: 1.2.0 - federation: 1.2.0 - files: 1.7.2 - files_pdfviewer: 1.1.1 - files_sharing: 1.4.0 - files_texteditor: 2.4.1 - files_trashbin: 1.2.0 - files_versions: 1.5.0 - files_videoplayer: 1.1.0 - firstrunwizard: 2.1 - issuetemplate: 0.2.1 - logreader: 2.0.0 - lookup_server_connector: 1.0.0 - nextcloud_announcements: 1.1 - notifications: 2.0.0 - oauth2: 1.0.5 - password_policy: 1.2.2 - provisioning_api: 1.2.0 - serverinfo: 1.2.0 - sharebymail: 1.2.0 - survey_client: 1.0.0 - systemtags: 1.2.0 - theming: 1.3.0 - twofactor_backupcodes: 1.1.1 - updatenotification: 1.2.0 - workflowengine: 1.2.0Disabled:
- admin_audit
- encryption
- files_external
- gallery
- user_external
- user_ldap
</details>
Could you create a new contact on your Mac and sync it to nextcloud, then export it from nextcloud and post the result here please.
Afaik MacOS (and/or Apple in general) stores groups as vcards and not as property in a vcard, like we do it in the contacts app. When configuring davDroid (for Android) you can choose between those two options, I'm not sure if this is also possible for apple products.
If we want to implement this, this won't be a priority then :/
Hi @skjnldsv, I've created a group "macOS" and a contact in that group. As expected, mac OS Contacts creates 2 cards:
-
one declaring the group with
X-ADDRESSBOOKSERVER-KIND:groupand the IDX-ADDRESSBOOKSERVER-MEMBER:urn:uuid:8a3da972-8df0-4e5a-a572-bdd4621abc39. Apple usesX-ADDRESSBOOKSERVER-KINDinstead ofKIND, which is to my understanding acceptable according to RFC 6350. -
one declaring the contact and attaching the card to the group using the ID with
UID:8a3da972-8df0-4e5a-a572-bdd4621abc39
After syncing with Nextcloud, I get two non-grouped new cards (attached). It would really be great that the Nextcloud Contacts app accepts X-ADDRESSBOOKSERVER-KIND as well as KIND for identifying vCard representing a group of persons or entities.
Isn't there an option to change this behavior on Mac?
On macOS 10.12, the user can choose between the vCard formats 2.1 and 3.0 (and the vCard encoding format for 2.1). He/she can also enable/disable the export of notes and photos in vCards and the use of a private me card.
As shown for example here, the property KIND is not supported in 3.0 (only in 4.0).
MacOS does not have option to change how the vCard are synced. Even if there was a hack via some config file, this would not be user-friendly at all. Their solution corresponds to the KIND/MEMBER fields of vCard 4.0, without breaking the older standards. So the logic is the same as in the 4.0 standard.
How does Nextcloud store groups - as a name in the Categories field? What would happen, if a vCard 4.0 using the standardized KIND/MEMBER fields is sent?
I would assume the version option exposed to the user only affects the export functionality.
We support iCloud contact groups with X-ADDRESSBOOKSERVER-KIND:group also now for mapping Outlook Distribution Lists to contact groups in OutlookCalDavSynchronizer
So would be really useful if the contact app could show the members of the group for a better Nextcloud and Outlook integration! Now the group is only visible as a normal contact with the name of the group and no members but atleast can be synced back to (another) Outlook or macOS instance.
Let's go! Adding this to the 2.1 milestone! We'll try implementing that!
Great! Do you have a plan already how to handle this vCard "dialect" and potential other ones?
Maybe nice to know: DAVdroid has a nice comparison table of both methods. They also document the limited group support in nextcloud app.
@skjnldsv Did you have any success with this? Is it still ongoing or stale?
It's still ongoing. Can some of you try a vcard 4 group with the real KIND and not X-ADDRESSBOOK-KIND property on mac to see if it works?
Hi @skjnldsv, is does not work for me with the following adjustments:
Original:
VERSION:3.0 PRODID:-//Apple Inc.//AddressBook 11.0//EN N:Test-Group;;;; FN:Test-Group X-ADDRESSBOOKSERVER-KIND:group X-ADDRESSBOOKSERVER-MEMBER:urn:uuid:909c0bfb-9a8b-4514-b7d4-0b41ba7b11d2 REV:2018-04-07T20:45:06Z UID:b450093e-e90c-45f6-8bd4-3b91facd123 END:VCARD
Adjustment:
VERSION:3.0 PRODID:-//Apple Inc.//AddressBook 11.0//EN N:Test-Group;;;; FN:Test-Group KIND:group MEMBER:urn:uuid:909c0bfb-9a8b-4514-b7d4-0b41ba7b11d2 REV:2018-04-07T20:45:06Z UID:b450093e-e90c-45f6-8bd4-3b91facd123 END:VCARD
Strangely enough, KIND/MEMBER are supposed to be supported for v4+ only :) I guess we'll try to add a support for both then.
Yes a vcard with VERSION:3.0 is not valid with KIND/MEMBER, that's the reason for X-ADDRESSBOOKSERVER prefix. Only with VERSION:4.0 KIND/MEMBER are allowed, so the adjustment above is an invalid vcard. You really should support both, since there is no support for v4+ cards in many clients/servers.
Hi, since I'd love to see this feature implemented, I'd like to help by testing with NC (latest version that I can install via Softaculous on my cPanel) in conjunction with two mac clients: Contacts.app on Mac OSX 10.11 (El Capitan) and macOS 11.13 (High Sierra)
What is the recommended testing procedure? I assume to connect NC CardDAV with both clients and then add a contact on each client and on NC, then create a group on each client and on NC, then sync them all and post the result here?
Whatever makes sense to contribute, please let me know. I will be gladly helping here as a tester with the above mentioned Mac-clients :-)
Hey @sushinger :) We do not require testing yet because this feature is not implemented yet and will require a lot of changes on the server.
Nonetheless, we'd gladely need help when we'll start working on this ;)
Whenever you need tester, I'll be available too ;)
You folks are amazing! :D
Just chiming in to tell you that Busycontacts also expect the server to support cards with X-ADDRESSBOOKSERVER-KIND:group... As does eM Client.
So as I understand it this feature is needed to allow regular clients like emClient to display groups/categories correctly? That's quite a missing feature at the moment... Is there any roadmap about when this could be implemented?
Process:
- [ ] Migration path
- [ ] Warning to the admin Extensive process
- [ ] Notify the user
- If any davx was used lately, show documentation for it
- [ ] Support mac groups
- [ ] Add delete support nextcloud/server#1175
- [ ] Add rename support
Is it possible that something changed in iOS 13 (possible even on macOS Catalina - not tested) on how groups are handled? All of the group vcards that have X-ADDRESSBOOKSERVER-KIND:group are shown as contacts and do not show in the groups.
Here's what I am seeing:
- Groups created in Nextcloud do not appear on MacOS or iOS
- Groups created on MacOS or iOS do show up as regular contacts on Nextcloud
Any news on this? I have a lot of contacts not showing up which should show up in contacts.app on macOS Catalina.
@microfx as you can see in the first post, no progress has been made. I have other priorities and no other dev started working on it :)
Thanks for letting me know. This is a pretty severe problem imho since it makes nextcloud not usable for a team and shared contact groups in an Apple ecosystem right now. So if there is a manual workaround it would be very nice to know.
Or do I misunderstand this issue - could you shortly explain what groups vCards are? My problem is that not all contacts are shown on iOS which were shared from another user/group in nextcloud.
Am 02.01.2020 um 10:15 schrieb John Molakvoæ [email protected]:
 @microfx as you can see in the first post, no progress has been made. I have other priorities and no other dev started working on it :)
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.