Open nhyty opened 7 years ago
Well... this is going to be a fun one to solve...
Easy solution is to get a middle initial for one of them and avoid the problem ;)
I have been dreading the coming of this day.
We could pretend to be a union and make actors pick unique names.
no
Current fix i will usee is double spacing second ones name. but a more thought out fix should be made
Have an optional "ID" number for a person? Not a pretty solution though
surely that requires a rebuild of data structures etc
Well I was just thinking where you currently have "David Taylor" you could optionally put "David Taylor (1)" or "David Taylor (2)", and then have some ruby strip out the brackets in the UI. But I'm sure Will has a less bodgy solution
But I'm sure Will has a less bodgy solution
really?
*I hope Will has a less bodgy solution ;)
I've got two ways we could deal with this:
Make a second parameter on a person list to differentiate between two people, or tack on to the name field as @davidtaylorhq suggested.
- role: X
name: Fred Bloggs
id: A
- role: X
name: Fred Bloggs
id: B
This requires changing a bit of code for generating records from these lists. A number of issues with this approach are listed:
/people/fred-bloggs-b
or /people/fred-bloggs-2
. We could do graduation year: /people/fred-bloggs-95
, this is problematic for both current students and when the year changes - URL changes aren't good.A small number of name collisions is manageable by finding unique names for each person. It may not be ideal in all cases but is technically cleaner than tacking on ID numbers, a whole new layer to an already quite complicated system. As an archival project creating a simple solution I would argue is desirable.
This solution breaks when there are many collisions. We have an incomplete data set so do not know the total number. We could do with a mathsy type to do some stats on what would be expected.
I think having an optional ID for people would be better
URLs: Could IDs be a trailing slash? /people/fred-bloggs/abcde or preceding slash /people/abcde/fred-bloggs? Allows a more general case: what if you do, say, people/fred-bloggs and /people/fred-j-bloggs and then another Fred J Bloggs turns up? To maintain URLs, could you have a landing page for /people/fred-bloggs that says "Hey we have X people by that name, did you mean: Fred Bloggs, graduated 1995 and worked on these shows, or Fred Bloggs, still a student and worked on these shows?"
I think something to consider is people inputting data. Whatever solution, it needs to be easy enough that they don't have to take a big step when putting in a cast list if there has been a previous person with that name. A year makes sense for this, as otherwise doing a (manual) lookup for names makes an already tedious process even more so. The correct person should be in the show data so you don't arrive on the landing page when you click their name in a show, as you already know which Fred Bloggs you want.
Personally i like the idea of a wikipedia style, 'did you mean' page
So we have 2 emma mcdonalds, https://history.newtheatre.org.uk/people/emma_mcdonald/ but only one file. (the one for wit is not the same as the other one)