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)

comment:1 by Nicklas Nordborg, 16 years ago

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 B
  • C = A ∩ B: Intersection = C contains only reporters found in both A and B
  • C = A - B: Complement = C contains reporters found in A but not in B

The 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?

comment:2 by Nicklas Nordborg, 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.

in reply to:  1 comment:3 by Johan Vallon-Christersson, 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 ab

..or using an alternative way with just one statement using syntax for complement:
Statement 1: a - b

comment:4 by Nicklas Nordborg, 16 years ago

Milestone: BASE 2.8
Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:5 by Nicklas Nordborg, 16 years ago

(In [4301]) References #1019: Reporter list manager - Create reporter list using combinations of existing reporter lists

A lot of functionality has now been added. It should be tested by end-users.

comment:6 by Nicklas Nordborg, 16 years ago

Owner: changed from Nicklas Nordborg to Johan Vallon-Christersson
Status: assignednew

in reply to:  6 comment:7 by Johan Vallon-Christersson, 16 years ago

Resolution: fixed
Status: newclosed

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.

Note: See TracTickets for help on using tickets.