Closed dilyanpalauzov closed 1 year ago
You can set the fixed attributes in the preset config, the user will then see disabled input elements. They cannot change them. I have no intention of changing this.
Read-only addressbooks are a UI tweak in roundcube, and only available for preset addressbooks. If you want to make sure addressbooks are read only, the correct way is server-side ACLs.
In RCMCardDAV 5, you can have one setting for all the discovered addressbooks, and a different setting for extra addressbooks that are specified directly by their URL. The latter is meant to be used for public addressbooks not found by the discovery. I am not aware of any server apart from yours that serves multiple addressbook home URIs, including that of public addressbooks. The servers I am aware of that allow addressbook sharing would not add shared addressbooks to a collection reported as addressbook home. Btw, which server are you using?
Setting 'fixed' => [ 'username', 'password' ],
does disable editing of the username and password by the user. The content of the fields is now rendered as text, password is ***
. This is good. I would suggest to include in config.php.inc.dist the example 'fixed' => [ 'username', 'password' ]
as this is supposed to be often used and the example will suggest to use this actively.
If you want to make sure addressbooks are read only, the correct way is server-side ACLs.
I do have server-side ACL for read-only addressbooks. Does rcmcarddav fetch the ACLs to determine the read-only status? In such a case, why does the system allow me to select a read-only CardDAV AB as Default Addressbook, or Trusted Senders/Collected senders addressbook? Does RoundCube lack the notion of a read-only addressbook?
In RCMCardDAV 5, you can have one setting for all the discovered addressbooks, and a different setting for extra addressbooks that are specified directly by their URL. The latter is meant to be used for public addressbooks not found by the discovery.
Can extra addressbooks overwrite settings of discovered addressbook, like read-only status (if rcmcarddav does not detect this itself)?
I am not aware of any server apart from yours that serves multiple addressbook home URIs, including that of public addressbooks. The servers I am aware of that allow addressbook sharing would not add shared addressbooks to a collection reported as addressbook home. Btw, which server are you using?
I am using a patched version of Cyrus IMAP, upstream Cyrus IMAP does not have anonymous CardDAV access.
The discovery of shared/public addressbooks/calendars has the advantage that in applications as DAVx⁵ or Evolution users can enter only aegee.org
as domain, without providing username/password, and the application shows the public data (vCards, events, tasks). With provided username, the applications show public (or shared) and private data. I think this is a very good feature of server and clients.
Please add an option to hide the username, password and URL from the UI for addressbooks from a preset. Showing the users URL http://127.0.0.4/dav/addressbooks/user/cal/bodies/
does not help them anyhow, rendering this URL just irritates.
username
and password
are already included in the preset examples in ADMIN_SETTINGS.md.readonly
setting is set by the admin. However, this will only disable the UI elements in the frontend, for example, a readonly addressbook will not be available for selection when creating a new contact. There is no check in the backend, however, if you send a (forged) request to insert a contact to a readonly addressbook.I would be good if RCMCardDAV evaluates the ACLs to determine, if a collection is read-only. This way some discovered addressbooks will be handled as read-only (if the server says so), and others discovered addressbooks will be read-write. My understanding is that currently it is not possible to have some discovered addressbooks as read-only, and others as read-write.
I use version 4.4.4 and install over a single preset several addressbooks for each user. Under Settings → CardDAV the users see for each addressbook the fields Username (with value %u) and Password (without value).
If the password is
%p
its value shall be shown in the UI.If the addressbooks are loaded over a preset, the UI shall not show the fields Username and Password to the user. The users have no impact on the preset and shall not change the username / password.
Currently some of the addressbooks loaded over presets are read-only, others are read-write. While the server can enforce the read-only status for some addressbooks, the user shall be able to mark additional addressbooks as read-only. DAVx⁵ has the option to force read-only for collections, for which the server does not force read-only.