-
Bug
-
Resolution: Fixed
-
None
-
High
-
The segment repetition filters were misleading the user about what is in the current filter what not.
-
Emptyshow more show less
problem
For each segment we store the information if the segment is
- repeated only in source
- repeated only in target
- repeated in both (at least once in source and at least once in target)
Examples
| Nr | Source | Target | Repetition | Desc |
|---|---|---|---|---|
| 1 | Haus | Z | 3 | source and target at time (could be separate value, not senseful) |
| 2 | Haus | Z | 3 | source and target at time (could be separate value, not senseful) |
| 3 | Anmelden | XY | 3 both | source or target at time |
| 4 | Anmelden | 1 source only | ||
| 5 | Anmelden | 1 source only | ||
| 6 | Login | XY | both | |
| 7 | Log-in | XY | 2 target only | |
| 8 | Login | AB | 3 both | source or target at time |
| 9 | Reingehen | AB | 3 both | source or target at time |
| 10 | Reingehen | UH | 1 source only |
Filtering
Currently the filtering is implement on the "Repetition column" value.
So for each value there is an item in the list filter representing the value behind. So when filtering for "Anmelden" and "In Source" repetition you will get only:
| 4 | Anmelden | 1 source only | |
| 5 | Anmelden | 1 source only |
but not Segments
| 3 | Anmelden | XY | 3 both |
since this has the fixed value "3 → both" instead.
This is misleading since users would expect that segment 3 is also shown.
Show repetitions including / exluding first ones functionality (UI buttons)
Even more complicated will be the "exclude first repetition functionality" which can be triggered by a separate button which also sets a filter for all kinds of repetitions.
Usage of the button "exclude first" in addition with "Anmelden" text filter will result in:
| 3 | Anmelden | XY | 3 both | source or target at time |
| THIS IS THE NOT SHOWN SEGMENT!!!! | ||||
| 5 | Anmelden | 1 source only |
User would expect that Segment 3 is not shown, since for him this is the first repetition. BUT: in order that this functionality can work, the segments have to be grouped and the first element is removed. The grouping is currently happening on the Repetition column, so since segment nr 3 is the only one in the 3 both group it is obviously not removed but shown, therefore segment Nr 4 is removed since it is the first one of the source only group. (In the TS-5140 issue where this behaviour was reported there was no segment Nr 5, so from the view point of the user NO segment was hidden at all).
Furthermore using the button for "exclude first repetition functionality" will currently show all other segments listed above, because they are either repeated in source, target or both. For segment no 7 "Log-in" this is not expected from users. They expect all segments where source is repeated (regardless if target is repeated or not).
solution
The list filters should be changed, so that not for exact values is filtered, but with a byte comparison on the stored numeric 1 2 or 3 value.
So when filtering for source, a "& 1" instead a "== 1" filter is applied, that shows all segments where source is repeated (regardless if target is repeated or not).
Same for the other values.
Implication for the "include/exclude first repetition functionality"
Since for that functionality the segments must be grouped, this function should be only usable if either source or target repetitions are shown. It should not be possible to use that additional filter when searching source and target repetitions.
Implications for the UI
The list filter of the repetition column must be customized, so that the include / exclude first repetition filter is separated by a separator and is usable only if either source or target is checked. If we keep the "both" list filter element, and if it is used, the include/exclude filter element should also be disabled. It should also be disabled when "segments without repetitions" is chosen (so value == 0)

Fast selection buttons (in the top left corner of the above screenshot) should be changed, so that ONLY source segments are affected by default, since this is the common use case here. The ToolTips must be changed accordingly that the user understands that only the source repetitions are filtered now. The second fast select button (to exclude the first repetitions) may anyway only work with only one type selected, so that fits in here too.
Implications for the backend
- Change the repetitions filters from equals to binary comparsion, filter operation can be changed in the UI, maybe the binary operator must be implemented.
- The implementation of the include first repetition must be changed