[Kolab-devel] Horde preferences: LDAP or IMAP?
Martin Konold
martin.konold at erfrakon.de
Tue Oct 2 23:28:21 CEST 2007
Am Dienstag 02 Oktober 2007 schrieb Gunnar Wrobel: out
Hi Gunnar,
thanks for taking up with this initiative.
I am also not very happy with the current LDAP approach which clutters up the
LDAP namespace very much and looks more like an abuse than like a useful
directory. (e.g. many unused empty entries)
> I regard LDAP as a bad storage place for the web client preferences
> and wrote a new preferences driver for Horde that uses an IMAP folder
Why did you rule out the simple option to use a plain file for each user? If
this plain file is protected using Apache access control it would be trivial
to make it available anywhere whithin a Kolab server cluster. E.g. you could
store the file on the kolabHomeServer and use a URL like
https://kolabhomeserver.domain.tld/config/horde-preferences. Because horde
knows the users credentials it would be trivial to provide them to Apache.
Using these credentials Apache or some php script could internally use the
correct user specific file
If figuring out the kolabhomeserver via LDAP is not an option it could be
handled trivially by the php script running on any server in a transparent
manner.
> The advantages of this driver: The LDAP schemas don't have to be
> modified and the users can be plain KolabInetOrgPerson objects. In
> addition this reduces LDAP read/write operations.
I fully agree!
> The disadvantages: There is a new folder type and the other clients
> might display a "Preferences"-Folder with mails they can't really use.
Well, you would still have the option of "hiding" this special folder from
other clients using ACLs and subscription state.
> 1) Do people regard it as a desired alternative to store the
> preferences on IMAP? Any specific drawbacks or advantages I missed?
I think that IMAP is an option while a plain URL pointing at some trivial PHP
script is better. This script could provide transparency in case of a
clustering setup and as an added bonus it could allow trivial REST features.
This means that calling the script without parameters e.g.
https://kolabhomeserver.domain.tld/config/horde-preferences will provide a
single document with some trivial file format (e.g. key=value or some simple
XML). E.g. in doing a HTTP GET to
https://kolabhomeserver.domain.tld/config/hordePrefs would provide something
like:
[...]
summary_refresh_time=10
show_sidebar=true
sidebar_width=40
menu_refresh_time=100
[...]
On the other hand
https://kolabhomeserver.domain.tld/config/hordePrefs?action=get&key=show_sidebar
would return a document only containing the string "true". If the
implementation benefits returning "show_sidebar=true" is also an option.
In this simple model it would be the job of the horde application to know that
the string "true" refers to a bool. Doing so is imho trivial in case of
horde. This would allow to limit the capabilities of the preference storage
service to simple strings.
The php script hordePrefs.php would trivially be able to distinguish the users
from the mandatory credentials.
The actual backend used (e.g. a flat file or a small berkley DB) is then a
simple opaque implementation detail.
Storing a single key would be done using an URL like
https://kolabhomeserver.domain.tld/config/hordePrefs?action=set&key=show_sidebar&value=false
> 2) If this driver should be available what should be the default
> option?
IMAP is definetly better than LDAP but imho other options like my proposal
should be considered.
> The second question is important since we would need to ship the
> driver with the earliest release possible. Otherwise we might get
> people running this in production that will have to run "preferences
> conversion scripts" (that would have to be written) if we ever change
> the default option.
Regards,
-- martin konold
--
e r f r a k o n
Erlewein, Frank, Konold & Partner - Beratende Ingenieure und Physiker
Sitz: Adolfstraße 23 Stuttgart - Partnerschaftsregister Stuttgart PR 126
http://www.erfrakon.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.kolab.org/pipermail/devel/attachments/20071002/0651f41c/attachment.sig>
More information about the devel
mailing list