View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002188||1 - Backlog||Bug||public||2017-08-06 15:32||2019-06-16 17:39|
|Summary||0002188: Filter in Logbook not showing results|
|Description||Looks a bit like 1504 but different.|
When activating Filter in Logbook selecting Field (QSL Sent) Contains Yes
No results given back, Same as with QSL Sent No.
|Steps To Reproduce||Open logbook|
Be sure you have some QSO's in the log with QSL Sent Yes / No
Select Field and set it to QSL Sent
Set Match to Contains
Set Value to either Yes or No
|Tags||No tags attached.|
||Same goes for QSL Received, eQSL Received/Sent and LOTW received/Sent|
Unfortunately, the database has a pretty goofy design.
The columns in questions are flags that indicate another column does (or doesn't) contain valid data. The flag is implemented by storing a "N" when the other column is not valid, and storing anything else when the column is valid. To filter for records that don't have QSL date, search with these parameters:
Field = QSL Sent
Match = Not Equals
Value = N
Unfortunately, the inuitive opposite doesn't always work because "N" is the only real rule. It's possible that a sent QSL, for example, has a NULL value in the "QSL Sent" column, and NULL doesn't successfully compare to anything using the operators that the filter is capable of producing.
I'd like to re-work the filter to know that one of these flag columns is being quiered and change the controls accordingly; the only real search here is "Yes" or "No". A "NO" search would be for "Contains 'N'", a yes search would be for "IS NULL OR NOT CONTAINS 'N'"
But that'll take some time ...
The "goofy" design is largely due to the ADIF spec, which over a half-dozen beers myself or 'PIE would glad to share our opinions! If you are in the mood for some light toilet reading, go to http://www.adif.org/305/ADIF_305.htm for the current ADIF spec.
These are QSL status flags, and they are single letter identifiers in accordance with the ADIF specifications (enumerations). The filter on these fields has ALWAYS worked as Ferry describes - i.e. more than one letter results in no matches, only "Starts with" or "Equals" works...
For info, here are the ADIF spec enumerations:
QSL Sent field enumerations:
Y = Yes
N = No
R = Requested (the contacted station has requested a QSL)
Q = Queued (ready to run in the next QSL batch)
I = Ignore or Invalid
QSL Received field enumerations:
Y = Yes
N = No
R = Requested (I have requested a QSL from the other station)
I = Ignore or invalid
V = Verified (a body like ARRL-DXCC has verified the QSL for award credit)
The awards is heavily dependent on these enumerations, as well as compatibility with other programs via ADIF transfers.
I wonder if maybe the filter control could be made to address a 2 column table of values, but only display one column - i.e. the "key value" (letter) and a description. The pull-down control displays the description column, but returns the letter to the filter???
I think I'm having the same thought as Mike, but I did want to make clear the nature of the underlying data in these fields.
||That's what the ADIF spec says, but what ends up in user databases isn't as you're describing. In time, maybe it would be ideal that they converge, but until that happens we have to make sure the filter feature works with the data representation we've actually stored for our users. The state we're in now means that importing and exporting has to be done with attention to matching the representations, which is an unfortunate dose of complexity.|
||Indeed, when using the Y or N it is working fine, the average Joe does not know this.|
||That's why I deem the design of the filter goofy, and suggest that we fix it.|
||I have been using Y and N for years since I discovered that was the only option that worked.|
|2017-08-06 15:32||PD9FER||New Issue|
|2017-08-06 15:41||PD9FER||Note Added: 0003925|
|2017-08-06 16:44||K7ZCZ||Project||1 - Backlog => 3 - Current Dev List|
|2017-08-06 16:46||PD9FER||Description Updated||View Revisions|
|2017-08-06 16:46||PD9FER||Testing||=> Alpha Failed|
|2017-08-06 23:19||K7ZCZ||Note Added: 0003934|
|2017-08-07 14:16||n4kit||Note Added: 0003942|
|2017-08-07 22:51||K7ZCZ||Note Added: 0003945|
|2017-08-08 03:50||PD9FER||Note Added: 0003949|
|2017-08-08 09:22||K7ZCZ||Note Added: 0003951|
|2017-08-10 15:54||g3ucq||Note Added: 0003959|
|2017-08-17 12:50||WA9PIE||Testing||Alpha Failed => Not Started|
|2017-09-10 10:08||K7ZCZ||Assigned To||=> K7ZCZ|
|2017-09-10 10:08||K7ZCZ||Status||new => assigned|
|2017-09-18 00:14||WA9PIE||Project||3 - Current Dev List => 2 - Next Dev List (Holding Area)|
|2018-06-23 18:02||WA9PIE||Project||2 - Next Dev List (Holding Area) => 3 - Current Dev List|
|2019-06-16 17:39||WA9PIE||Project||3 - Current Dev List => 1 - Backlog|