[Dev] [UIDev] Item Collection inclusion/exclusion

Jed Burgess jed at osafoundation.org
Thu Jul 1 14:14:27 PDT 2004


There are some interesting questions about how item collection 
inclusion/exclusion should work and I was hoping to solicit feedback 
from the community.

First, some background.  Item collections are initially populated by a 
rule, but later items can be added to/deleted from that collection by 
calling include()/exclude().  The item collection maintains three lists 
(results, inclusions, exclusions).

Question 1:

If an item already exists in an item collection because it meets the 
rule, and then you call include() passing that item, should the item 
exist in the list twice?  Some possibilities are not changing the 
collection at all when this action is taken, adding it to the inclusions 
list but only reporting the item once when asked for all of its members, 
or reporting the item twice.  From a users standpoint you probably only 
want to report it once (is there a case where this isn't true?) and 
performance would be best if you take no action if the item is already 
included.  However, with that scenario some information is lost (the 
fact that the item was manually included) which may or may not be important.


Question 2:

How should the exclusion list operate?  If you have an item that is in 
an item collection solely because it was manually included, can you just 
remove it from the inclusion list or do you have to track it on an 
exclusion list.  If you just remove it from the inclusion list then it 
might show up at some later point if it begins to meet the rule.  If you 
keep it on an exclusion list, then that exlusion list can grow to an 
unmanageable size.  In general, there is a distinct possibility that our 
exclusion lists could grow quickly if we aren't careful (think removing 
spam).

Jed


P.S. - The [UIDev] subject header does not imply that there is a UIDev 
mailing list in place yet.  There has been talk about starting one and 
we want to see if it would actually generate enough meaningful content. 
  Therefore whenever we send a message that would probably appear on 
UIDev if it existed, we are manually including that in the subject line 
as something of a case study.


More information about the Dev mailing list