You are currently viewing a snapshot of taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to, please file a bug.

Engineering plan for Labels

Last updated: 10/17/2001

The following document summarizes the engineering plan to support labels. For an overview of the labels feature please see the UE specs located at: .  

Task Breadown

Time (Days)
Prefs Panel
  • Store text values as unicode pref strings
  • How do we store color values? user.css, prefs?
Outliner Changes
  • Add labels column to the thread pane widget. (cycler)
  • hide new column in the search view
CSS Changes
  • dynamically bind a color style to a label. How do we do this? We need to talk to hyatt
  • Can we poke user.css dynamically? That would make things easy.
  • Hard code 10-15 colors in threadPane.css
pro: no browser restart required.
con: limited number of colors to choose from.
sample view by jglick: http://rocknroll/users/jglick/publish/Labels/images/Label2.gif
nsMsgDBView changes
  • Getting label attribute values from the DB
  • implementing the column cycler for labels
  • implementing command handling for changing the label value on a selected message
Filter Integration
  • New filter action
  • UI changes
Menu Changes
  • add to thread pane context menu
  • add to sort menu
  • add command updating / enabling support
  • add to Message --> Label menu
Remove color from current priority column
Complex selection highlighting
Store label values on imap servers which support keywords (OPTIONAL)

Total Man Days:  18 days

Risks / Unknowns
The biggest risk / unknown is whether we can dynamically poke users.css. We need a way to dynamically generate CSS to control the color for a particular label. The obvious scenario is to somehow store new CSS rules for the thread pane outliner rows which contain a label value. We need to meet with hyatt real soon to figure out if something like this can be done.

Early cuts
We probably won't invest resources in storing the label values on imap servers which support keywords. Why ? The time involved for one. And the fact that users may have different label schemes installed at home vs. at work. How do you reconcile the differences?  Also at risk is comple selection highlighting. This is a technique where the selection color (instead of being the current default blue color) actually changes to be the color of the label while the font changes to white. So if I have a label with yellow color and I select a message which now has yellow text, we change the selection color to yellow and the font color to white. If it is easy to do this, we'll do it. Otherise we'll probably cut this.