You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In application_helper.find_basic_info, we search for an Author record using the Author.get_by_id method, passing it what we think is a canonical id.
this method first tries to find an exact match on the supplied canonical_id in the canonical_id field and if it fails, it does a regex match (rlike) on the canonical_id in the alt_ids field. This can lead to false matches, particularly if the canonical_id is wrong.
At the point at which we call this in the update code, we are working with data that hasn't been validated enough to be sure it should be used to update an existing record. For example, the case that exposed this, had "0497" in an identifier element of type fhg rather than "fhg0497", so it matched all records which contained 0497 in an alternate id, which is not so unusual for LCCN, VIAF, etc.
There is quite a bit wrong with this logic...
The text was updated successfully, but these errors were encountered:
In application_helper.find_basic_info, we search for an Author record using the Author.get_by_id method, passing it what we think is a canonical id.
this method first tries to find an exact match on the supplied canonical_id in the canonical_id field and if it fails, it does a regex match (rlike) on the canonical_id in the alt_ids field. This can lead to false matches, particularly if the canonical_id is wrong.
At the point at which we call this in the update code, we are working with data that hasn't been validated enough to be sure it should be used to update an existing record. For example, the case that exposed this, had "0497" in an identifier element of type fhg rather than "fhg0497", so it matched all records which contained 0497 in an alternate id, which is not so unusual for LCCN, VIAF, etc.
There is quite a bit wrong with this logic...
The text was updated successfully, but these errors were encountered: