path: root/KEP-0012.txt
diff options
authorGeorg Greve <>2011-10-12 20:10:11 (GMT)
committerGeorg Greve <>2011-10-12 20:10:11 (GMT)
commit023c94b6bc1aecc99e7caf3d64afeb771ba73122 (patch)
tree8b207cddb44439851baceb2f0bc522ee08791a37 /KEP-0012.txt
parent68396ab88d7989be85b1d24746756c589637c88d (diff)
Allow disabling folder color functionality for a server
Diffstat (limited to 'KEP-0012.txt')
1 files changed, 5 insertions, 0 deletions
diff --git a/KEP-0012.txt b/KEP-0012.txt
index bc485eb..93de081 100644
--- a/KEP-0012.txt
+++ b/KEP-0012.txt
@@ -21,6 +21,7 @@ The following changes to the Kolab Format are part of the changeset against Kola
=== '/vendor/kolab/color' RFC 5464 folder annotation ===
Each folder '''MAY''' be annotated with an entry '/vendor/kolab/color' set to <color>, which is defined as follows:
* The annotation '''MAY''' be used in both 'private' and 'shared' namespace. When the annotation is set in both namespaces, 'private' '''SHALL''' be authoritative for display;
+* Clients '''SHALL''' provide measures for selectively disabling the functionality in the 'private' or 'shared' namespace by disabling the annotation for either namespace, or both;
* The value of <color> '''SHALL''' be a sRGB<ref name="srgb">Wikipedia: [ sRGB]</ref> color value expressed in a 6-digit hexadecimal web color<ref name="webcolors">Wikipedia: [ Web colors]</ref> with the magic value of 'XXXXXX' referring to an explicit 'No Color' selection;
* Where clients support the usage of colors for resources, they '''SHALL''' consider the value of '/vendor/kolab/color' annotation authoritative;
* Sub-folders '''SHALL''' inherit the <color> value of their parent folder. To break the inheritance chain a different color '''SHALL''' be specified or the magic value 'XXXXXX' '''SHALL''' be used for setting 'No Color';
@@ -30,6 +31,9 @@ Each folder '''MAY''' be annotated with an entry '/vendor/kolab/color' set to <c
* Where the user is not authorized to store color preferences in the 'shared' namespace, the client '''SHALL''' automatically fall back to the 'private' namespace;
* When '/vendor/kolab/color' is not set in a folder or any of its parent folders, clients '''MAY''' use their default colors/visualization schema, in which case they '''SHOULD''' store these preferences as appropriate by the rules defined above.
+==== Disabling folder color functionality ====
+Administrators of the Kolab servers '''MAY''' disable the '/vendor/kolab/color' RFC 5464 folder annotation in the IMAP server configuration for the 'private' or 'shared' namespace, or both.
=== 'category' object configuration ===
==== Recital ====
Categories are freely user defined. Their hierarchy is expressed through the special character ':' which separates the parent category name from the sub-category. There is no limit to the nesting level. An object can have an unlimited number of categories, which are storied in the 'categories' field with comma-separation.
@@ -97,6 +101,7 @@ Microsoft maintains a mapping table for its color names to Web colors in the MSD
Authors of other clients '''SHOULD''' default to the Microsoft color table<ref name="mscolors"></ref> to promote consistency across clients. Clients '''MAY''' allow custom color definitions and tables.
If a category is defined in a configuration object according to this KEP and this category is '''not''' currently assigned to any object in the users data set, clients '''SHOULD''' present it along with all other categories in the appropriate dialog(s) that are used to assign categories.
+{{note|How to detect that folder colors have been disabled|When attempting to retrieve an annotation that is not defined for this namespace, RFC 5464 specifies a response 'BAD' for 'GETMETADATA'. It is recommended that clients request the value of the annotation for both namespaces by default (e.g. through 'GETMETADATA "INBOX" /private/vendor/kolab/color /shared/vendor/kolab/color') and then try to retrieve the annotation for each namespace individually to detect whether one of them is still available. This test can be done once and the result cached at least for the session.}}
== Upgrade Path ==
This KEP adds new functionality and folder types that will not be understood by older clients.