stash
stash copied to clipboard
[Feature] Enhanced performer aliases with studio association
Many performer's only use a first name, including their aliases. This causes duplicates and false positives for auto-tagging.
Describe the solution you'd like Give the end-user the option to associate each alias with a studio.
When auto-tagging, the app can parse filenames looking for matches that contain both the alias and studio in the filename for more precise auto-tagging; as expressed in a regex it could be (\bStudioName\b.*\bPerformerAlias\b|\bPerformerAlias\b.*\bStudioName\b)
The concept in general as expressed in JSON:
{
"name": "Jane Doe",
"aliases": {
"Jane": "Brazzers",
"Jane Doe": "Naughty America",
"Jayne": "21 Naturals",
"Jayne Doe": "DDF Network",
"Janey" : "", // not associated with any studio or website
}
}
And to tie it all together, a UI that lets a user associate a studio from the database to each and any alias.
Would implementing something like this require require a new table, such as performers_aliases
, in the database?
performers_aliases table
id integer
alias_name varchar(255)
performer_id integer
studio_id integer
To reference the alias name(s) attached to the performer and the associated studio if any.
Edge cases to consider:
- Two (or more) performers can have the same alias with a given studio
- One performer can have two (or more) aliases for the same studio
@hyde231
Two (or more) performers can have the same alias with a given studio
Definitely. Not sure there's any way around that though.
One performer can have two (or more) aliases for the same studio
Yup. I have several like this within my own personal collection. Each would get it's own entry as an alias, eg
{
"name": "Jane Doe",
"aliases": {
"Jane": "Brazzers",
"Jayne": "Brazzers",
}
}
Perhaps the system can be designed where when you try to add a performer of the same name it gives you the option of forcing to add it, and then it'll ask you what studio/site she is associated with, so in the performer list she'll be displayed just as Trillium but with the studio in brackets), rather than having to name the performer with the site in her name, if that makes sense...
Performers are typically associated with multiple sites though, displaying their primary name with one seems kind of arbitrary imo.
Most people are probably only going to add the alias-studio connection once they use the auto-tagger and find a performer false positive. Other's are going to build a scraper that looks up the performer on indexxx.com to grab all their alias-studio connections, since indexxx already uses the paradigm I'm suggesting. Here's an example, https://www.indexxx.com/m/danniela, of a performer with a somewhat common single name, and under the list of all the web sites they've done work for they associate the performer name (alias) used for said site.
Toggle
Autotag toggle button to denote if the entry should be ignored by autotagging.
- Toggle enabled: Entry is available for autotagging
- Toggle disabled: Ignore entry when autotagging
Primary performer name and autotagging toggles
Each performer has a primary name. Adding aliases that are associated with studios mitigates false positives, but there's still the primary name that will be autotagged and capable of accumulating false positives. Include a toggle option on a per performer basis to disable the primary name from being autotagged.
For schema implementation - I'd suggest having performer alias be unique and then linked to scenes and studios via join tables So for Daniella example Daniella (via join table links to - MetArt, Rislskyart) Lerahon (via join table links to Suicide Gitls)
Anything working on that one? This would be really useful!
This is probably the one feature I miss the most at the moment, having few profiles for the same performer and having to deal with them manually.
Possibly resolved/improved with #3113
Possibly resolved/improved with #3113
I don't think that addresses this issue.
I thought of a better way to implement this on the frontend.
- On the frontend UI consolidate the primary name and aliases fields into one field titled
Names
- Each value in the
Names
field is presented as a list - Each list value has a drop-down menu with options a. Set name as primary b. Delete name c. Studio filter -- to selection which studio the name (if any) is associated with d. Disambiguation
Primary name.
- When a name is set as the primary it gets a different colored chip
- A
Names
field with only one value sets the lone value as the primary name automatically upon saving - If a user neglects to select a primary name where a
Names
field has multiple values they will receive an error notification upon saving, "please select a primary name"
Image 1
- Display a
names
field with multiple values - Visually you can discern the primary name with the blue chip
- The drop down indicator is clicked showing the menu option for a name
- The studio association is a filter-as-you-type field
Image 2 - Studio association selection
- Filter as you type studio field in action
Image 3 - Displaying the studio association
- A name displayed with it's studio association
Image 4 - Disambiguation selection
- User can type whatever disambig they want
Image 5 - Displaying disambiguation
- The value in the disambiguation field is automatically merged with the studio field, separated with a comma.
It would be allready a big improvement if you had the search/select for performer as used in the edit scene screen, there you get the possible suggestions for that alias, now there is no field for performer in the auto tagging when no primary name is found and you have to switch tot that edit scene screen what is time consuming. In fact, having the performer, studio and tags fields there always would fine. But the scenes should be able to hide when none of the fields has suggestions.