Category design issues



I've started work on adding categories, and thought I'd share some of 
my design ideas and see if anyone has any objections before I proceed 
too far (don't worry, I haven't committed anything and won't until I 
get a go-ahead from the principal developers):

First, I've looked at the category support which was added to 
Gnomecard, but, IMHO, it's inadequate for what I think people 
(including me) want.  Basically, it just loads and stores arbitrary 
strings into the Category field, without doing any processing.  
That's simple, but, as I said inadequate.

I'd like to expand that to allow users to define categories.  
Initially, they will probably just have names and descriptions, but I 
can envision adding things like color-coding or default priorities 
later; as a result, we'll need a way to store the category 
information, rather than just storing arbitrary strings.

In terms of storing that information, I've thought of two mechanisms. 
 The first would be to store the information in one section of a 
gnome-config file (probably gnome-pim or the like, to be able to 
share the definitions between gnomecard and gnomecal):

[Categories]
Name0=Personal
Desc0=Personal tasks, appointments, etc.
DefPri0=3
Name1=Work
Desc1=Work stuff
DefPri1=2

The advantage to that system is that it keeps the namespace fairly 
clean, but it means we need to do funky concatenations to find index 
keys.

The second method is to use a file just for categories, and store 
info in the format:

[Categories]
Personal=Personal tasks, appointments, etc.
Work=Work stuff

[Personal]
DefaultPriority=3
Color=Red

[Work]
DefaultPriority=2
Color=Blue

I prefer the second method, since it's intuitive and easy to extend 
for new per-category properties.  The downside, of course, is that it 
uses an entire config file just for categories.

Finally, there's the question of where the category editor should go 
in the UI... As a menu-item under Settings?  As a page in the 
properties box?  Somewhere else?

Anyway, that's what I'm working on... Comments, particularly from 
those whose code I'm hacking on, are welcome.

-Russell
-- 
Russell Steinthal		Columbia Law School, Class of 2002
<rms39@columbia.edu>		Columbia College, Class of 1999
<steintr@nj.org>		UNIX System Administrator, nj.org

NOTE: My address steintr@avnet.org will stop working in approximately
two weeks...  Use one of the current alternatives listed above!






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]