The current creator lookup has a number of technical and usability challenges that I'd like to try and move beyond. Technically, the autocomplete logic is overly complex and often doesn't actually provide useful results. Non-techncially:
- Users seem to have confusion about what is actually being matched to an existing tDAR Person / Institution vs. when something is being created.
- "Create new" doesn't really do anything.
- Users have no way of editing the creator (if we decide to give them rights)
- It also takes up a lot of space and often does not look right on narrower monitors.
Logic (Client Side):
- the combination of the firstname, lastname, email, and institution are sent to the server and matched. We then use whatever the user selects.
Logic (Server side):
- if the creator has an existing ID from the autocomplete, we used the existing creator from tDAR.
- If the person has an email, we look that up, if it matches, we use that person.
- If not, we then lookup that person with firstname / lastname / institution. We choose the first Person that's returned (if more than one).
- We find the first institution with that name.
- a single field for creator searching that searches firstname/lastname/email.
- "Create new person" displays a form that shows a creator record like our current autocomplete. It either would tell tDAR to always create the creator, or something else.
- an explicit Edit button for "editors" that links off to the full creator-edit form so they can modify creators
- potentially show the tDAR ID for the creator somewhere in that section so it's clear what's being assigned.
- Rethink the autocomplete to try and provide more context. We track the # of references to a creator, we could display that, we could also show a random record or two associated with that person. (a la Jim's IMDB example).