Pre-KEP Request for Input: Storage of categories & colors

Shawn Walker swalker at bynari.net
Tue Jun 7 18:01:05 CEST 2011


On 6/7/2011 9:48 AM, Georg C. F. Greve wrote:
> Hi Shawn,
> 
> Thanks a lot for sharing how Outlook handles this!
> 
> On Tuesday 31 May 2011 21.36:25 Shawn Walker wrote:
>> There are two parts to how Outlook handle Categories and Colors.  Outlook
>> has 21 defined colors that the user can assign to each category.  One of
>> the color can be "None" to assign no colors to a category.  The user
>> cannot modify the colors.
> 
> Do you know whether that list is available anywhere? It might be worth 
> consideration to have Outlook, Kontact & the web use the same colors by 
> default.

Outlook has the colors hard-coded, here is the list with the number assigned to those colors (I have
provided Outlook's XML file below that show the color with the assigned number value below).

Red		0
Orange		1
Peach		2
Yellow		3
Green		4
Teal		5
Olive		6
Blue		7
Purple		8
Maroon		9
Steel		10
Dark Steel	11
Gray		12
Dark Gray	13
Black		14
Dark Red	15
Dark Orange	16
Dark Peach	17
Dark Yellow	18
Dark Green	19
Dark Teal	20
Dark Olive	21
Dark Blue	22
Dark Purple	23
Dark Maroon	24

> 
>  
>> Outlook uses a multi-string value to store categories names to support
>> multiple categories for a single object.
> 
> Are there any limits on the characters allowed in those strings?

255 characters.

> 
>  
>> The KEP should defined that the category to allow a multi-value string with
>> a HTML Hex color for each category, if there isn't a color for a category,
>> then that category will have "no color" assigned to the category.  Since
>> Outlook allow multiple category names, I suggest that we allow multiple
>> xml metadata.
> 
> Sounds reasonable.
> 
> One question that I still have in my mind: Where do we store this? Which 
> object type should carry this kind of information? In which folder? 

Outlook store the category strings and what color is assigned to those categories in a hidden
message in the default calendar folder.  We need to store this file in a hidden area of Kolab that
the user should not have access to.  Also, the category need to be able to be used for any objects,
that include emails.

Maybe use the METADATA (ANNOTATE) to store the categories in a default folder, doesn't have to be
calendar folder, could use INBOX.

As a reference, this is the XML file that is stored in Outlook default calendar folder.  The XML
file only contain the category that the user selected to display in the category list.  They can
remove to display what they like to see and rename them, rename "Red Category" to "Important Stuff".
 This XML data also has three categories that I added (Board Meeting, Meeting, and Vacation).

<?xml version="1.0"?>
<categories default="Red Category" lastSavedSession="1" lastSavedTime="2011-06-07T15:47:51.401"
xmlns="CategoryList.xsd">
	<category name="Red Category" color="0" keyboardShortcut="0" usageCount="7"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.965" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.965" lastSessionUsed="2"
guid="{3598052C-E66B-41D5-95A9-D632F14D8FA4}"/>
	<category name="Orange Category" color="1" keyboardShortcut="0" usageCount="12"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="2010-06-30T17:57:17.807" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="2011-06-07T15:39:30.629"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{BF97006B-F4B5-4811-8182-F9B09C9930F0}"/>
	<category name="Peach" color="2" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{6CF15B73-36CD-4EA0-A3CB-E5BBF2BF7C6C}"/>
	<category name="Yellow Category" color="3" keyboardShortcut="0" usageCount="7"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{1DB70594-8595-4B89-A984-0B59730A950D}"/>
	<category name="Green Category" color="4" keyboardShortcut="0" usageCount="11"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="2010-06-30T17:57:15.807" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{ADBC00FE-6F39-4A7C-9B44-5A4DD5E5CDEF}"/>
	<category name="Teal" color="5" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{1A4B450D-4A4E-473F-82AD-F869B88AAE17}"/>
	<category name="Olive" color="6" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{2C6E600B-3536-493A-8ABF-EE2209FA6B87}"/>
	<category name="Blue Category" color="7" keyboardShortcut="0" usageCount="13"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="2010-06-30T17:57:13.689" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{754376F2-22FB-40B9-B6D8-4088476464B3}"/>
	<category name="Purple Category" color="8" keyboardShortcut="0" usageCount="7"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{0255E2CA-4034-4814-AA14-BA4557C31834}"/>
	<category name="Maroon" color="9" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{33E84CEF-13E9-4697-994A-88014803CB8E}"/>
	<category name="Steel" color="10" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.965" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.965" lastSessionUsed="2"
guid="{EA006909-B542-4957-876C-F44A8ADF0231}"/>
	<category name="Dark Steel" color="11" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{D350FA46-843C-4E22-A973-26B6D92558AB}"/>
	<category name="Gray" color="12" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.965" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.965" lastSessionUsed="2"
guid="{86F93FBF-4848-41FE-83B4-866B9CEADD6E}"/>
	<category name="Dark Gray" color="13" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{126BFC6D-3A79-480E-AC1D-84591711EF20}"/>
	<category name="Black" color="14" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.965" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.965" lastSessionUsed="2"
guid="{EBC8A743-6FFD-4779-90B2-EEB6F1688C88}"/>
	<category name="Dark Red" color="15" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.965" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.965" lastSessionUsed="2"
guid="{CD06E0A6-DDF2-4F04-904F-521993066966}"/>
	<category name="Dark Orange" color="16" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.965" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.965" lastSessionUsed="2"
guid="{EE78BAA7-A659-4516-89D5-AE5C9864F4FE}"/>
	<category name="Dark Peach" color="17" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.965" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.965" lastSessionUsed="2"
guid="{D3C69DD2-5BF1-4021-BE2D-016C7E0FDEF7}"/>
	<category name="Dark Yellow" color="18" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.965" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.965" lastSessionUsed="2"
guid="{0E3D4650-2C10-4DF8-B894-7C45FB5BF7B6}"/>
	<category name="Dark Green" color="19" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.965" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.965" lastSessionUsed="2"
guid="{89534CBF-005A-4554-9FE6-A4B6A8DB9BCE}"/>
	<category name="Dark Teal" color="20" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.965" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.965" lastSessionUsed="2"
guid="{29FA8843-B9E2-4611-AD44-D226835A83C4}"/>
	<category name="Dark Olive" color="21" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{AF226234-4C86-4FDC-A60D-47CD500BBB3E}"/>
	<category name="Dark Blue" color="22" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{AD9F2C37-9B53-415A-B264-104143AA0890}"/>
	<category name="Dark Purple" color="23" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.965" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.965" lastSessionUsed="2"
guid="{B7202F09-A821-4DBF-9C37-6DBC960383BE}"/>
	<category name="Dark Maroon" color="24" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{B75901A1-793E-4A62-8462-408258FC5190}"/>
	<category name="Board Meeting (Custom Category)" color="2" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{525F0033-A6CE-4262-8550-C9AB1EC5AAD8}"/>
	<category name="Meeting  (Custom Category)" color="1" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{A76C3E05-B182-4DB2-B741-6EA98B50ED3B}"/>
	<category name="Vacation (Custom Category)" color="0" keyboardShortcut="0" usageCount="6"
lastTimeUsedNotes="1601-01-01T00:00:00.000" lastTimeUsedJournal="1601-01-01T00:00:00.000"
lastTimeUsedContacts="1601-01-01T00:00:00.000" lastTimeUsedTasks="1601-01-01T00:00:00.000"
lastTimeUsedCalendar="2011-06-07T15:47:50.966" lastTimeUsedMail="1601-01-01T00:00:00.000"
lastTimeUsed="2011-06-07T15:47:50.966" lastSessionUsed="2"
guid="{C0CA37C8-A399-485F-9AD5-BD6A6771958F}"/>
</categories>

> 
> Any ideas? suggestions?
> 
> Best regards,
> Georg
> 
> 




More information about the format mailing list