Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Add support for specific UK countries #808

Open
SpedNSFW opened this issue Aug 21, 2024 · 4 comments
Open

[Feature] Add support for specific UK countries #808

SpedNSFW opened this issue Aug 21, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@SpedNSFW
Copy link

Is your feature request related to a problem? Please describe.
When adding nationalities to performers, instead of being able to select a specific member country of the United Kingdom (England, Scotland, Wales, Northern Ireland), you can only select the UK. This means we are missing precision. While the UK is a country, so to are the four member states.

Describe the solution you'd like
Without removing the United Kingdom as an option, add the member states: England, Scotland, Wales, and Northern Ireland.
A matching change will need to be made in Stash to support these options with flags added for each.

There is no ISO 3166 code for each country, but the codes around the UK already don't make sense (the code is GB, which would exclude Northern Ireland). Because of this, we'd need to add exceptions for these four.

Describe alternatives you've considered
I don't see any alternate option for this. Either we support the specific countries, or we don't. Not supporting them is frankly a bad option for a database that aims to be correct and specific where possible.

Additional context
The way I see this working is when a performer's nationality is known (either through an obvious accent or the city they're from is known), we can set it to the specific country, otherwise it would stay as the UK. For example, we know Ella Hughes is from Southhamption, so she could be set to England.

@SpedNSFW SpedNSFW added the enhancement New feature or request label Aug 21, 2024
@SpedNSFW
Copy link
Author

I suggest it because there are many relatively recent countries no longer supported (listed here) where a performer could have been born.

That's definitely true and not something I entirely considered when I made this issue. There are going to be people born in Czechoslovakia, Yugoslavia, and the USSR.

While supporting a custom list like that would work for the local install, it may not be the best option if we wanted to keep things in sync with stash-box. It might just be simpler to add the member states of the UK to both to start with.

Adding dissolved/renamed countries may receive backlash as it's an intrinsically political issue, though the codes do exist as per ISO 3166-3 as you've linked.

@S3L3CT3DLoves
Copy link
Contributor

Been thinking about your issue for a while. And the more I think about it, the more I think it would end up creating an unpleasant mess if we simply "add" the member states in the list.
Mostly because, if we do it for the UK, why would we not do it for the US? Germany? Australia? India? ... There are a lot of federates states in the world.

The only way I would see this work is with a second field for the performer, which determines the subdivision. (Otherwise the UI will be unusable)

ISO 3166-2 keeps a list of the subdivision codes for each ISO 3166 country. Examples: UK US

But that also means regions if the country isn't a federated state, for example Ukraine UA , and somes cities, which are often independent subdivisions in countries, for example Zurich in Switzerland CH.
So how do we keep it at a reasonable level of granuarity?

I have two ideas in mind:

  1. Tags - Easy, DIY, already available, not perfect but it works
  2. Use ISO 3166-2 in a new dedicated field, for a specific list of countries defined by the Dev/Admin -- This would also need to be replicated in Stash

Separately, I also agree that the Nationality field needs to become multi-select, many performers have more than one nationality. But that should be a separate issue imo, because including ISO 3166-2 codes in the main "country list" would really make that list extremely long.

@SpedNSFW
Copy link
Author

Been thinking about your issue for a while. And the more I think about it, the more I think it would end up creating an unpleasant mess if we simply "add" the member states in the list. Mostly because, if we do it for the UK, why would we not do it for the US? Germany? Australia? India? ... There are a lot of federates states in the world.

The difference with the countries you've listed is that their states aren't countries. England, Scotland, Wales, and Northern Ireland are. The only thing I'm proposing is that the individual countries are added, not member states for every country.

I have two ideas in mind:

  1. Tags - Easy, DIY, already available, not perfect but it works
  2. Use ISO 3166-2 in a new dedicated field, for a specific list of countries defined by the Dev/Admin -- This would also need to be replicated in Stash

The second one is the only one that I'd be happy with. Tags would be a hack and a bad one at that. And yes, a matching change would need to be made in Stash but, in my opinion, it should start in this repo.

Separately, I also agree that the Nationality field needs to become multi-select, many performers have more than one nationality. But that should be a separate issue imo, because including ISO 3166-2 codes in the main "country list" would really make that list extremely long.

I definitely agree with that. It would be a larger and more time consuming migration, however, since you'd have to move performer nationalities to a separate table and create a pivot table.

Just supporting England, Scotland, Wales, and Northern Ireland in the existing country field wouldn't require any database changes, and adding a second field per your idea would just be adding one field to the table which is relatively simple.

@stg-annon
Copy link

TBH why not allow the whole ISO standard states and all, users seem to like to be very specific about the level of detail they want to keep about performers so why not allow the extended ISO codes, as for UI considerations might just want to stick to the standard countries for autofill but support the extended codes if entered manually

by supporting all of them we don't have any weird exceptions to handle, i.e. we do support it but only for these specific things

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants