[horde] Problems created by global categories in Horde

Kevin M. Myer kevin_myer at iu13.org
Fri Dec 17 19:55:33 PST 2004


I think the way categories are handled now is the right way, having 
them shared
across the modules in a global way.  It seems that all the pieces are there to
make it work "properly", too.

I'll use a shared calendar as an example.  If you share a calendar with an
individual, at a minimum, they need "Show" permissions.  Make an assumption
that if you have been given the ability to see that events exist, that you can
also see what category those events are in.  In other words, if permisions >=
"Show", then you have permission to do a lookup on that user's categories and
colors as well.  And if it isn't, well, then you're not talking about a shared
calendar anymore anyway, so you don't care what the other user's 
categories and
colors are.

Then, when displaying the category legend, just build an array that includes
categories and colors for each user who has a shared component 
displayed.  When
displaying an event or note or task, when doing a category lookup, be aware of
what the owner of the event, note, or task is, and do your lookup accordingly.

In technical terms, I think that just means extending your existing category
functions to allow passing of a user/owner as a parameter.  In 
practical terms,
maybe that makes you end up right back where you were with 3.0-ALPHA.  Maybe
somehow using the DataTree to store category info?  Kind of like you have a
horde.share.kronolith for arrays of calendar info, you'd have a
horde.shares.horde for arrays of other global application info to be shared,
like categories.

Assuming 2 categories, right now, when you lookup a category and its 
color, your
lookup space looks like so, regardless of the user/owner:

[1][color1]
[2][color2]

With the user information in the lookup space, it now looks like this:

[user1][1][color1]
[user1][2][color2]
[user2][1][color3]
[user2][2][color4]

And you can then display colors as the other user intended them to be 
displayed.
  You know you're looking at a calendar event, note, or task that is 
theirs.  If
you add something to their calendar, because your API now supports category
functions that are owner aware, the categories that are presented are their
categories.

I hope that makes sense, conceptually.

Kevin

-- 
Kevin M. Myer
Senior Systems Administrator
Lancaster-Lebanon Intermediate Unit 13
(717) 560-6140




More information about the horde mailing list