Opened 16 years ago
Closed 16 years ago
#1019 closed enhancement (fixed)
Reporter list manager - Create reporter list using combinations of existing reporter lists.
Reported by: | Johan Vallon-Christersson | Owned by: | Johan Vallon-Christersson |
---|---|---|---|
Priority: | major | Milestone: | BASE 2.8 |
Component: | web | Version: | |
Keywords: | Cc: |
Description
Added functionality to manage reporter lists and create new reporter lists using, e.g., the Union or Intersection of multiple existing reporter lists. Operators such as In or Not in are also needed.
The user would typically want to define one or more statements. The basic implementation could be to always connect statements using AND. That is, Statement 1 AND Statement 2 AND Statement 3.
An example of how 2 statements are used to define the content of a new reporter list, where a and b represent existing reporter lists.
Statement 1: In a
Statement 2: Not in b
Another example of how a single statement is used to define the content of a new reporter list, where a and b represent existing reporter lists.
Statement 1: Union a, b
An example of how 2 statements are used to define the content of a new reporter list, where a and b represent existing reporter lists.
Statement 1: In a
Statement 2: Not in Union a, b
Change History (7)
follow-up: 3 comment:1 by , 16 years ago
comment:2 by , 16 years ago
Hmmm... there is a forth operation as well, but I don't think this should be implemented:
C = A'
: Complement = C contains all reporter not found in A
The are several problems with this:
- C will probably be a very large list (depending on the total number of reporters in the system). The reporter list functionality has not been designed to handle large lists and we would probably face (memory) problems when the number of reporters goes over ~100,000.
- The contents of C depends on the time when it was created. As soon as more reporters are added to the system (or removed), then C will no longer be the complement of A.
comment:3 by , 16 years ago
Replying to nicklas:
I find the description in this ticket a bit confusing... Doesn't the third example always produce an empty list?
True.. It's a typo. It should had read:
Statement 1: In a
Statement 2: Not in Intersection a, b
..or using a better syntax:
Statement 1: In a
Statement 2: Not in a ∩ b
..or using an alternative way with just one statement using syntax for complement:
Statement 1: a - b
comment:4 by , 16 years ago
Milestone: | → BASE 2.8 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
comment:5 by , 16 years ago
follow-up: 7 comment:6 by , 16 years ago
Owner: | changed from | to
---|---|
Status: | assigned → new |
comment:7 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Replying to nicklas: Have tested and it looks really nice. Extremely flexible. Will extensively test/use live when production Luns Onk installation is 2.8.
I find the description in this ticket a bit confusing... Doesn't the third example always produce an empty list?
There is a good article in Wikipedia that may help clarify things: http://en.wikipedia.org/wiki/Set#Basic_operations
As I see it there are three basic operations that may be of interest, A and B are two existing reporter lists and C is the new one to be created.
C = A ∪ B
: Union = C contains all reporters in A plus all reporters in BC = A ∩ B
: Intersection = C contains only reporters found in both A and BC = A - B
: Complement = C contains reporters found in A but not in BThe first two cases can be extended to cover any number of reporter lists in one operation.
I also have a question about what to do with the scores that can be attached to each reporter in a reporter list. Should the scores be transferred to the new reporter list or not? If they should be transferred how do we calculate the new scores?