r3 - 26 Apr 2004 - 11:06:07 - MimiYinYou are here: OSAF >  Journal Web  > MitchKapor20040423

Notes on Collections

I havent' finished thinknig about this so expect changes, i.e., I may answer some of my own questions.

User-visible collection types, according to Mimi

See ItemCollectionDesign

  • ad hoc - auto-named, openable in place, renamable
  • generic - always user named, not openable in place

  • mailbox
  • calendar
  • project
  • spheres of life
  • contact groups

Issues wrt user-visible collection kinds:

  • do we distinguish a thread as a separate sub-kind or just via its name as an ad hoc collection?
  • do we have a way for a user to construct a thrask? if so, how is it modeled?
    • MimiYin 26 Apr 2004: As of right now, thrasks are constructed in the same way as ad-hoc collections. Users can insert Tasks, Calendar items and notes into Mail threads ad-hoc collections. Is a special workflow needed for thrasks?
  • do we need a collection kind for just tasks or just notes?
  • what are the spheres of life? work, home. are they modifiable?
    • MimiYin 26 Apr 2004: Yes, spheres of life is vague right now. I was playing around with renaming it Categories with Home and Work as OOTB collections. But, categories is so generic and it's not clear how it's different from Projects. I think a quick brainstorm about use cases would be helpful.
  • contact groups - I don't think these are modeled as collections, but we need to address this point.
    • MimiYin 26 Apr 2004: Yes, there is also the sticky issue of how the notion of Contact Groups interacts with:
      1. Contacts associated with a particular collections (ie. Home, Project Foo, KKIE Calendar)
      2. Households (ie. The Smiths) which we might be able to model (user's mental model) as ad-hoc collections of contacts.
  • we have to make a decision about the spheres of life attribute

Modeling collections

I think the model for collections in KatieParlante20040421 is right as far as making Calendar, Project et al. subkinds of

QueryCollection
. This will permit construction of dynamically-populated calendars etc. based on query criteria, e.g., all events with Project = Foo.

It appears from the fragment that

SimpleCollection
is not used in defining Calendar, etc.

Issues and Questions:

Perhaps rename Calendar to

CalendarCollection
, Project to
ProjectCollection
? Need to add Mailbox or
MailCollection
as parallel to Calendar and Project

Is the intent to populate the Members attribute of

QueryCollection
with itemrefs to the items which satisfied the query the last time it was evaluated?

Do we lose efficiency if we model collections which have no query, just explicit members, as

QueryCollections
?

We probably need to extend

QueryCollection
with a
DragDropPolicy
attribute. * I need to expand this point per notes I have written some where.

-- MitchKapor - 23 Apr 2004

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r3 < r2 < r1 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.