View Issue Details

IDProjectCategoryView StatusLast Update
0003492Ham Radio DeluxeBugpublic2019-11-08 02:32
ReporterWA9PIEAssigned ToWA9PIE 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version 
Target VersionFixed in Version6.7.0.244 
Summary0003492: Complete the Callsign Lookup function for the Country List method
DescriptionIn the 6.7.0.232 beta build (6.7.0.234 can't be tested because it crashes 0003484), the callsign lookup method known as "Country List" does not populate any data in the fields in the ALE. The purpose of this Mantis record is to facilitate resolving this to the field mapping specification.

Country List is a stand-alone method that does not require data from any other Enabled Methods. As far as I know, it works by using the regular expression logic in the Country List to determine the country by parsing the callsign. This is the correct approach for the Country List method.

Once the country is found for a given callsign, the following ALE fields should be populated from the data found in the Country List:
- COL_COUNTRY should contain the name from the country list for this result
- COL_CONT should contain the name from the country list for this result
- COL_DXCC should contain the DXCC numeric value from the country list for this result
- COL_HRDCOUNTRYNO should contain the name from the country list for this result

None of the fields are being populated.
Steps To Reproduce- Open up Logbook
- Setup Callsign Lookup by Tools > Configure > Callsign Lookup and make sure that Country List is the only item showing in Enabled Methods
- Click "Ok"
- Open an ALE
- Enter the callsign "KH0A" (without the quotes)
- Press the "Lookup" button or hit tab

Result: No fields are populated
Additional InformationThe correct result should be:

- COL_COUNTRY is "Mariana Is.
- COL_CONT is "OC"
- DXCC is = "166"
- COL_HRDCOUNTRYNO is "166"
TagsNo tags attached.
ModuleLogbook
Sub-ModuleCall lookup
Testing Beta Successful

Relationships

related to 0003464 closedWA9PIE Some fields missing from QRZ.com call sign lookup 
related to 0003502 closedK7ZCZ call sign lookup in ALE doesn't fill all field types correctly 
child of 0003001 closedWA9PIE Callsign lookup function does not appear to be working as designed 

Activities

WA9PIE

2019-10-13 05:56

administrator   ~0008796

Field mapping spec attached.

CallsignLookupMapping32 (most_current)c.xlsx (25,768 bytes)

K7ZCZ

2019-10-13 16:21

administrator   ~0008814

Looks like there's two problems here. One is that the code doesn't have a perfectly complete list of fields from the lookup operation result to be copied to the fields in the ALE. There are at least five different ways to invoke the call sign lookup, and seach needs to be carefully tested to demonstrate that the field mappings are correct. When incorrect, it'll appear as though the data just isn't returned.

The other problem is that it seems I'm not using the right specification. I was using a file named "Callsign Lookup Mapping 40.docx.xlsx". (Despite the combined extensions, it's really a spreadsheet.) This is from sometime in April of 2019.

That file, for the "Country Lookup" source, has "N/A" for all fields except for FLD_QSO_COUNTRY, which it says comes from "Country". There's no HRD country number field described in that document


On 2019-09-21, I found a spreadsheet named "CallsignLookupMapping32 (1).xlsx" attached to Mantis 3001. That spreadsheet has some fields highlighted yellow, but I don't know what the highlighting might mean. There, a new row for the "HRD C ountry Number" appears, but the Country List data source doesn't have an entry for it. Instead of "N/A", it's just blank.

Here in this issue today on 2019-10-13, a file named "CallsignLookupMapping32 (most_current)c.xlsx" is presented. For the Country List source, this file does have an entry for the HRD country number, plus FLD_QSO_COUNTRY, FLD_QSO_CONT, and FLD_QSO_DXCC.

So I'm left wondering:

Which specification should I be using? Looks like it has been revised over the last couple of weeks, and I wasn't expecting so many changes. Should I wait for you to stabilize the spreadsheet before getting to work?

I'm also curious about the highlighting in the spreadsheets. The "CallsignLookupMapping32 (most_current)c.xlsx" file has some yellow, some red, some gold highlighting. Maybe the gold highlighting means "Revised from prior version", but I guess I dont' have the correct prior version because there are more changes than what's gold. What do red and yellow highlighting mean?

Finally, I want to be explicitly sure that the Country List lookup source is not meant to return the IOTA value from the country list. Is that true?

Meanwhile, I can get started fixing the ALE's field mapping list once my HRD license is restored.

WA9PIE

2019-10-13 16:48

administrator   ~0008816

I don't ever recall seeing a v4x of the field mapping spec. I would use "CallsignLookupMapping32 (most_current)c.xlsx" (as it does contain a few corrections; specifically to COL_HRDCOUNTRYNO and for (I think) Continent in the Country List method.

I'm concerned that we've conflated a couple terms here. As a combined document or file, the LogbookCountryDataEx.xml is not collectively referred to as the "Country List". It has three sections in it - Countries001, NonDXCCCountries001, and UniqueCalls001 (I'm not sure where the naming came from).

When we refer to "Country List", we're referring to the combined contents of two sections - Countries001 and NonDXCCCountries001. UniqueCalls001 is not part of the "Country List."

The UniqueCalls001 section in this file is what we refer to as "UCSDB (Public)".

So to be explicitly clear in answering your question, with this as the basis of terms...

The "Country List" (as defined by the aggregation of data in the Countries001 and NonDXCCCountries001 sections in LogbookCountryDataEx.xml is NOT used for IOTA because there is no IOTA data in those sections of the file.

The UniqueCalls001 section in this file DOES have IOTA data and the field mapping spec specifies that IOTA is populated when there's a match during the "UCSDB (Public)" lookup. (Similarly, IOTA will be contained in the UCSDB (Private), but that's a different file.)

K7ZCZ

2019-10-14 18:09

administrator   ~0008817

I've asked several times about what "Country List" means, and I now have an answer -- thanks. Definitions and nomenclature are good things to put into specifications, so in the future I hope we can consider doing that. What's meant by "Country List" is not apparent from examining the existing product documentation or the product. In fact, if we use the product, we do see a "country list" that does have an ITOA value listed for each function.

Further, in the code, there is a set of "HRD Country List" functions. This bundle of functions offers a way to get an IotA name from a given country name -- which doesn't seem particularly viable, but it does exist.

I'm wondering how you've tested this code. In the ALE, I can see a drop-down for the country name and a drop-down for Continent. These aren't populating due to the related bug.

But I don't see controls in the ALE that show the DXCC or HRDCN. Where are you finding them?

WA9PIE

2019-10-14 18:55

administrator   ~0008818

Excellent progress. Yes, it's good to have these things better defined. In the past, I think there was an undocumented understanding that the "Country List" and UCSDB (Public) were logically separate - even if they were in the same file. Actually, I think there was a time when someone was writing code to separate them... but (in the end), it's just one more file to have to maintain. I'm fine with it either way.

I tested by looking at fields in the ALE after the callsign lookup took place.

As for the DXCC and HRDCN... here's how I tested this (tagging on to the steps above):
- I flipped to the "Country" tab in the ALE and DXCC was not populated (FWIW - I was told in the past that this isn't a database field and that what we see in the Country tab is more of a "dynamic" value, than one that is stored in the database. So with that in mind, I continued with the following...
- I saved the QSO and went into the database directly (opened it with Access) and DXCC and HRDCN weren't populated

From within the Countries Manager (in Logbook), I looked last night to see if there was any IOTA data in the countries (not the UCSDB, where there is IOTA)... and I couldn't find any IOTA data within the country data. If you see some, let me know. I should probably find a different way to check it.

K7ZCZ

2019-10-15 09:06

administrator   ~0008820

fixed with this checkin:
https://hrdsoftware.visualstudio.com/HRD/_versionControl/changeset/5209

WA9PIE

2019-10-21 08:27

administrator   ~0008886

I validated this one.

Issue History

Date Modified Username Field Change
2019-10-13 05:55 WA9PIE New Issue
2019-10-13 05:55 WA9PIE Status new => assigned
2019-10-13 05:55 WA9PIE Assigned To => K7ZCZ
2019-10-13 05:55 WA9PIE Relationship added child of 0003001
2019-10-13 05:55 WA9PIE Relationship added related to 0003464
2019-10-13 05:56 WA9PIE File Added: CallsignLookupMapping32 (most_current)c.xlsx
2019-10-13 05:56 WA9PIE Note Added: 0008796
2019-10-13 07:50 WA9PIE Description Updated View Revisions
2019-10-13 16:21 K7ZCZ Note Added: 0008814
2019-10-13 16:21 K7ZCZ Assigned To K7ZCZ => WA9PIE
2019-10-13 16:21 K7ZCZ Status assigned => feedback
2019-10-13 16:48 WA9PIE Assigned To WA9PIE => K7ZCZ
2019-10-13 16:48 WA9PIE Status feedback => assigned
2019-10-13 16:48 WA9PIE Note Added: 0008816
2019-10-14 18:08 K7ZCZ Relationship added related to 0003502
2019-10-14 18:09 K7ZCZ Note Added: 0008817
2019-10-14 18:09 K7ZCZ Assigned To K7ZCZ => WA9PIE
2019-10-14 18:55 WA9PIE Assigned To WA9PIE => K7ZCZ
2019-10-14 18:55 WA9PIE Note Added: 0008818
2019-10-15 09:06 K7ZCZ Status assigned => resolved
2019-10-15 09:06 K7ZCZ Resolution open => fixed
2019-10-15 09:06 K7ZCZ Note Added: 0008820
2019-10-21 08:27 WA9PIE Status resolved => closed
2019-10-21 08:27 WA9PIE Fixed in Version => 6.7.0.235
2019-10-21 08:27 WA9PIE Testing Not Started => Beta Successful
2019-10-21 08:27 WA9PIE Note Added: 0008886
2019-10-21 09:52 WA9PIE Assigned To K7ZCZ => WA9PIE
2019-11-08 02:12 WA9PIE Fixed in Version 6.7.0.235 => 6.7.0.244
2019-11-08 02:32 WA9PIE Project 3 - Current Dev List => Ham Radio Deluxe