This is a number of tasks that are intended to do pre-release of the first main 7.x--2.0. I've assigned myself to the issues that I am currently working on.

  1. Resolve #1397762: Entity cache integration
  2. Investigate and resolve #1424204: Property information to set field value
  3. Resolve #1418664: Single 'Country icons' formatter with additional options.
  4. Get reasonable test coverage. Alan D.
  5. Update the names table to match the ISO standard.
  6. Check and update the official names of all countries.
  7. Get feedback about a couple apache solr issues. #1130506: Apache Solr integration
  8. Refactor field functions into countries.fields.inc after other tasks complete.

Implementation of the tests has already shown some minor errors, some related to the corresponding changes happening, others with issues in the existing code base.

Currently I have discovered the following:

Import may skip disabled flag
Setting Netherlands Antilles to disabled via the import didn't work.

Maybe related to #1438388: New countries vs. Name changes on disabled countries., which I can not replicate in refactored import.
Countries list sort
Renaming Åland Islands means that the sort is not working, as this is listed last on the list. All natcasesort() need to be replaced with custom sort.
Validation of names and official names are tightened
The validation functions now check both name and official name.
Consistent naming
The module was using ISO, ISO2, ..., etc. These have been replaced with longer more specific forms, like "ISO alpha-2 code".
See the countries_core_properties().
Normalised property getter
We were starting to duplicate this logic in multiple places, this normalises the code into a singular helper getter function.
Form clean up
We can trust $form['iso2']['#disabled'] in Drupal seven, so the redundant code is now removed.
Validation introduced into the import process.
Step 1 validates the fields, step 2 validates duplicates.
This maybe required during the installation functions too. We have had one report of an corrupt translation set causing a PDO error.
Menu wildcard loader change
This is no longer case-sensitive.
countries_country_lookup() hardened
This was found to miss certain country property country look-ups. It was also throwing warning notices occasionally.
Code layout
Moved field and element code out of the main module file.
Too scared trying to move the entity hooks out as I do not trust that they will be successfully included in all cases other than using a direct include. These will be called often, so having these in the main file makes sense. Reordered the internal functions into better groupings.
General documentation
Reformatting in line with DO guidelines.
countries_get_countries() could throw an exception. [API CHANGE]
If not a core property and a test country does not have this property either, this throws an exception.
Deprecated countries_get_country() [API CHANGE]
This is replaced with country_load(). All calls to countries_get_country() have a watchdog entry warning about the deprecated function and returns country_load() results.

Testing progress

  • Installation
  • Imports
  • Core CRUD
  • Country lookup
  • Country sort, lock, basic core functions
  • Entity UI CRUD - editing etc
  • Tokens
  • Elements
  • Fields

Country name changes

The name updates should include all of the following naming changes so to completely update the core list of country names to meet the ISO standard:

  • Aland Islands to Åland Islands
  • Bolivia to Bolivia, Plurinational State of
  • Brunei to Brunei Darussalam
  • Congo (Brazzaville) to Congo
  • Congo (Kinshasa) to Congo, The Democratic Republic of the
  • Falkland Islands to Falkland Islands (Malvinas)
  • Iran to Iran, Islamic Republic of
  • Ivory Coast to Côte d'Ivoire
  • Laos to Lao People's Democratic Republic
  • Macao S.A.R., China to Macao
  • Macedonia to Macedonia, The Former Yugoslav Republic of
  • Micronesia to Micronesia, Federated States of
  • Moldova to Moldova, Republic of
  • North Korea to Korea, Democratic People's Republic of
  • Palestinian Territory to Palestinian Territory, Occupied
  • Reunion to Réunion
  • Russia to Russian Federation
  • Saint Helena to Saint Helena, Ascension and Tristan da Cunha
  • South Korea to Korea, Republic of
  • Taiwan to Taiwan, Province of China
  • Tanzania to Tanzania, United Republic of
  • U.S. Virgin Islands to Virgin Islands, U.S.
  • Vatican to Holy See (Vatican City State)
  • Venezuela to Venezuela, Bolivarian Republic of
  • Vietnam to Viet Nam
  • British Virgin Islands to Virgin Islands, British

Comments

Alan D.’s picture

Issue summary: View changes

Updated the info about installation / import issue.

Alan D.’s picture

Issue summary: View changes

Updated the issue summary.

Alan D.’s picture

Issue summary: View changes

Formatting changes.

Alan D.’s picture

Issue summary: View changes

New issue link.

Alan D.’s picture

Issue summary: View changes

Updated the status of a number of tasks.

Alan D.’s picture

On top of moving, two massive dead-lines at work and trying to write an adapter module to map any geo-location data source to a target, the tests on the fields are going fairly slow. But with the recent interest in the module dev version by at least 4 developers, I think that it is safe to enable the 2.x dev release again.

Alan D.’s picture

I have some early rough field tests but these are not really up to standard to commit. If someone has the time to move this forward, let me know. I do not think that this needs to hold up a full release though.

So remaining tasks atm.

Finish adding all of the cream associated with Entity API integration
#1458938: Add schema columns properties
#1397762: Entity cache integration

Continents widget.
#1460246: I18n continents
#1459850: Add continent field widget

And without feedback, thinking that the Apache Sol integration should be as anal as possible and encode and translate in the callbacks. I can deal with any bugs that arise latter in relation to this. Trying to get the maintainer feedback here: #1483042: Couple questions
#1130506: Apache Solr integration

Alan D.’s picture

Status: Active » Fixed

Pushed out 7.x-2.0

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Anonymous’s picture

Issue summary: View changes

Issue update