[Dev] [UIDev] Item Collection inclusion/exclusion

Ted Leung twl at osafoundation.org
Thu Jul 1 17:53:32 PDT 2004


On Jul 1, 2004, at 2:14 PM, Jed Burgess wrote:

> 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).

I think that an implementation based on the standard Python lists is 
not likely to scale very far.
Perhaps we should be looking into doing something like the Java 
LinkedHashMap
<http://java.sun.com/j2se/1.4.2/docs/api/java/util/LinkedHashMap.html>, 
or Skip Lists <http://www.cs.umd.edu/~pugh/>.

Question 3:

What happens to the inclusion and exclusion lists if the underlying 
rule is changed?


>
> 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.
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> Open Source Applications Foundation "Dev" mailing list
> http://lists.osafoundation.org/mailman/listinfo/dev
>
----
Ted Leung                 Open Source Applications Foundation (OSAF)
PGP Fingerprint: 1003 7870 251F FA71 A59A  CEE3 BEBA 2B87 F5FC 4B42



More information about the Dev mailing list