[Kolab-devel] NEW KEP: KEP #14: Non-conflicting edits of RFC5228/Sieve scripts by multiple editors

Aleksander Machniak machniak at kolabsys.com
Thu Sep 1 20:35:40 CEST 2011


On 2011-08-31 20:10, Georg C. F. Greve wrote:
> 	KEP 14: Non-conflicting edits of RFC5228/Sieve scripts by multiple editors 

Forget my previous messages. After some thinking and brain-storming with
others I have new ideas. The KEP is not about assigning scripts to
client apps, it's about forbidding access to some scripts.

So, we have "generic-client" applications (Roundcube, Kontact, etc.) and
"dummy-client" applications (UCS, other management suites). Now,
dummy-clients are working with only one file and probably are not
activate that script via managesieve (it is a requirement if we want to
use MASTER file, which must be active and not replaced by other script).

Generic-clients must to know the list of existing scripts excluding
those from dummy-clients and understand KEP-specific MASTER file format.

How I see the format? Let's get a sample MASTER file.

require ["include"];

# Some global include for all users in the installation
include :global "all-users.siv";
# The script maintained by the general management system
include :personal :readonly "dummy1.siv";
# The script maintained by another management system
include :personal :readonly "dummy2.siv";
# The script(s) maintained by one or more editors available to the user
include :personal "generic1.siv";
# The script(s) maintained by one or more editors available to the user
include :personal "generic2.siv";

Here we have a new :readonly parameter which defines that specified
script belongs to dummy-client and cannot be edited by generic-clients.
(We can call this parameter :dummy or sth else).
I have no idea if this has a chance to be included in sieve's include
extension draft. We could change this to more generic solution:

include :personal :options ["readonly","UCS"] "dummy2.siv";

For now we could replace this with comment, e.g.:

include :personal "dummy2.siv"; #:readonly
or
include :personal /* readonly */ "dummy2.siv";

KEP also should define that generic-clients can change (in MASTER) only
the lines with :personal, but without :readonly. There should be at
least one non-readonly include. If there isn't, generic-client is
allowed to add it at the end of MASTER script.

-- 
Aleksander 'A.L.E.C' Machniak
LAN Management System Developer [http://lms.org.pl]
Roundcube Webmail Developer  [http://roundcube.net]
---------------------------------------------------
PGP: 19359DC1 @@ GG: 2275252 @@ WWW: http://alec.pl




More information about the devel mailing list