Server: Show system address book as ready-only address book in contacts

Created on 21 Feb 2020  路  3Comments  路  Source: nextcloud/server

In organizations it is quite common that you want to have a shared address book with the contact data of all your colleagues.

Today you can achieve this with a address book created within the contacts app and shared with all others. But this has some issues:

  1. If you share it read-only someone has to be in charge to keep it up to date
  2. If you share it read-write so that everyone can add their own contact data people have to maintain their information twice, once in "contacts" and once in the personal settings.
  3. If you share it read-write you risk that people delete contacts by accident, add contacts which doesn't belong to the address book, etc

All information from the personal settings are already written to a carddav system address book. So technically we already have everything we need in the back-end. The idea is to expose it to the contacts app for all users and via carddav in a read-only mode. This way:

  1. Every time someone updates their personal settings or if they are updated in a central user management like LDAP the address book will be updated as well.
  2. People don't have to maintain their information in multiple places
  3. You don't risk that people delete contacts by accident or add personal contacts which doesn't belong to the address book.

Of course there should be a Admin switch to enable/disable this behavior. In most organizations this will be quite useful but of course a shared hoster for example doesn't want to present all users in a address book to all the other users (Although keep in mind that they do it already though the "people menu" which can not be disabled so the feature suggested here has no additional impact on the users privacy).

3. to review enhancement

Most helpful comment

I agree that 'just' solving this basic case is legit. It doesn't have the privacy issue (as it can and should respect the privacy settings in the user settings) and provides a useful feature on internal/private instances while it can be disabled (or should be off by default?) on public/hosting provider instances. We might be able to get away without a setting as we have other settings for hosting provider like instances already, in sharing (don't auto-complete or something like that).

All 3 comments

People think it makes more sense to have it in the server repo, although from my understanding it is mainly a contacts-app question if and how the app exposes the address book which already exists in the server. Nevertheless I will let others figure it out.

I think it is a well defined use case which makes sense to discuss independent from https://github.com/nextcloud/server/issues/693 which went in many different directions. That's why I prefer to keep it as a separate issue.

I don't see a privacy issue here because the exact same information are already exposed over the "people menu" which is always enabled (no way to disable it) while the suggested feature here would be opt-in.

I agree that 'just' solving this basic case is legit. It doesn't have the privacy issue (as it can and should respect the privacy settings in the user settings) and provides a useful feature on internal/private instances while it can be disabled (or should be off by default?) on public/hosting provider instances. We might be able to get away without a setting as we have other settings for hosting provider like instances already, in sharing (don't auto-complete or something like that).

Was this page helpful?
0 / 5 - 0 ratings