I need to store one and possibly more values for each and every country so that I can populate an interactive SVG world map. This data will be updated often by hand by one of the content moderators. So it should be easy to maintain by someone with basic drupal content editing knowledge.
So far I have tried:
My initial work had me use a Field Collection, in which I had a dropdown field with all the countries, and another dropdown to select which data point to use for that specific country. This works, but gets extremely memory intensive as the country goes up. It becomes exceptionally difficult to find a country as well since they are not in alphabetical order. I attempted to create each Field collection item prefilled for each country upon creating the node create form. but I would constantly run out of execution time, with it taking more then 4 minutes to get to 200 countries, and getting exponentially slower as the country count went up. Never managing to get to 250.
I then tried to use TableField, and import the data from a CSV, with one column for the iso2 code, one for the name, and one with the numerical value for the value on the chart. This was okay, but nearly always crash when trying to import an updated version of the csv. It also was difficult to ensure the integrity of the country codes and names, since anyone could easily make a inadvertant change when modify data. This would then break either the map, or the translation of the names.
So my question is, how can I go about structuring a content type, so that I can list all the countries and set a value for them which I can choose from a select list, that allows me to view the data, sorted by country, and doesn't bring the browser to a standstill?
Note: I'm using Ammaps to display the data on the front.