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

Crossref deposits fail when surname is missing #7528

Closed
AhemNason opened this issue Dec 3, 2021 · 22 comments
Closed

Crossref deposits fail when surname is missing #7528

AhemNason opened this issue Dec 3, 2021 · 22 comments
Assignees
Labels
Bug:1:Low A bug that does not have a severe consequence or affects a small number of users. Enhancement:1:Minor A new feature or improvement that can be implemented in less than 3 days. Try Me This issue might be good for a new contributor. Can you help us?
Milestone

Comments

@AhemNason
Copy link

AhemNason commented Dec 3, 2021

Describe the problem you would like to solve
There are three issues with Crossref deposits that require some reconfiguration of how we map name metadata to their schema.

  1. Crossref requires a surname but this is optional in OJS.
  2. The Crossref deposit plugin may write an empty <surname> tag to the export XML, which will lead to a validation error on Crossref's end.
  3. We should add support for preferred name via the <alt-name> element.

Describe the solution you'd like

  1. we could either swap which field is required on our end, or...when the only field filled out is "given name", just write that to the surname element.
  2. remove the empty tags from the XML and deposit them manually.
  3. The following is some example XML:
                    <person_name contributor_role="author" sequence="first" language="en">
                        <given_name>Andrew</given_name>
                        <surname>Kerr</surname>
                        <alt-name>Andy Kerr</alt-name>
                    </person_name>

Who is asking for this feature?
Crossref asked specifically about the surname requirement. The other two have come up on the hosting side a number of times.

@AhemNason
Copy link
Author

AhemNason commented Dec 3, 2021

Oh, I should note too that is supported in the schema version we're using 4.3.6. Once Crossref will be adding ROR to their schema in early 2022 (I think), we should probably consider just fully updating the schema we write to in our exports to accommodate.

@NateWr NateWr added Bug:1:Low A bug that does not have a severe consequence or affects a small number of users. Enhancement:1:Minor A new feature or improvement that can be implemented in less than 3 days. labels Dec 6, 2021
@NateWr NateWr added this to the 3.3.0-9 milestone Dec 6, 2021
@NateWr
Copy link
Contributor

NateWr commented Dec 6, 2021

I've flagged this as a bug and assigned it to the 3.3.0-9 milestone for the problems with the surname field. The preferred name feature should be split to a new issue and only implemented for a future version.

@NateWr NateWr added the Try Me This issue might be good for a new contributor. Can you help us? label Dec 6, 2021
@NateWr
Copy link
Contributor

NateWr commented Dec 6, 2021

we could either swap which field is required on our end

Just a note that we can't/won't do this. "Surnames" are a western thing and "Family Names" (the term we use) do not exist in all languages/cultures.

@NateWr NateWr changed the title Crossref schema name requirements need adjusting. Crossref deposits fail when surname is missing Dec 6, 2021
@NateWr
Copy link
Contributor

NateWr commented Jan 19, 2022

I was going to tackle this today but I don't actually know what a solution would be. Given the following author record with no surname:

{
  "givenName": "Andrew"
}

Would it be best for OJS to deposit the following:

<person_name contributor_role="author" sequence="first" language="en">
    <given_name>Andrew</given_name>
</person_name>

Or -- and I know this is evil but it's Crossref's doing -- the following:

<person_name contributor_role="author" sequence="first" language="en">
    <given_name>Andrew</given_name>
    <surname>-</surname>
</person_name>

@AhemNason
Copy link
Author

Right, so in the Crossref schema, they made the decision to support single-name deposits as well. But, they just went with the other name field.

<person_name contributor_role="author" sequence="first" language="en">
    <surname>Andrew</surname>
</person_name>

This is facet valid and expected in the schema. I know it seems a little weird, but I suspect it's because of the expected placement of a person's name in like... citations. Surname is usually listed first, so that's likely the logic here. In any event the recommendtions is that if we just have a single given name, we write it to Crossref's schema in the surname field.

@NateWr
Copy link
Contributor

NateWr commented Jan 20, 2022

Ok that makes sense, thanks.

@NateWr
Copy link
Contributor

NateWr commented Jan 20, 2022

See also #6863

@mpbraendle
Copy link
Contributor

The Crossref schema has an "anonymous" element (as subelement of contributors) that should be used in such a case.

@AhemNason
Copy link
Author

Anonymous in the Crossref schema is for an anonymous author, not for situations where one of two name elements is missing.

@mpbraendle
Copy link
Contributor

mpbraendle commented Jan 28, 2022

@AhemNason This is correct, but not the point.

We simply can't deposit (or redeposit) articles that have no author in Crossref, because the anonymous element hasn't been implemented in the OJS CrossrefXMLExport plugin - which in my opinion is wrong. If you wish that I create a new issue for this, let me know. But I think placing a comment here was correct if one starts bug fixing for missing or semi-missing author names.

For a large journal that we are currenly migrating over from another host to OJS, there are several (in the range of 100-400) articles that don't have an author, but were registered with Crossref and that we currently can't redeposit so that the DOI points to the OJS site. Whether it makes sense to register articles that don't have an author is not to be discussed here. The DOIs exist for these articles, and they should resolve again.

@AhemNason
Copy link
Author

@mpbraendle That's correct, but this ticket is about one missing name, not anonymous authors. I mentioned this in another ticket but please see: #5955 filed against the issue of anonymous and corporate names.

@NateWr
Copy link
Contributor

NateWr commented Feb 1, 2022

In this case, Crossref's import validation is working as intended. If you were to redeposit these records with the XML generated by OJS, you would be replacing accurate metadata with inaccurate metadata.

Until OJS supports anonymous authors, you may consider modifying the XML generated by OJS yourself. Or Crossref may be willing or able to update URLs for these DOIs directly, without requiring a full XML deposit.

@asmecher asmecher modified the milestones: 3.3.0-9, 3.3.0-10 Feb 4, 2022
@ifarley
Copy link

ifarley commented Feb 9, 2022

Hi @AhemNason and @NateWr. As Mike said above: "I know it seems a little weird, but I suspect it's [Crossref selecting surname as the default for contributors with a single name] because of the expected placement of a person's name in like... citations."

That's exactly right. We're focused on that citation matching, and that's why we decided to use the surname element in the XML as the required field. Some of those citation styles we support and match on only require surname or family name within the citation, so our decision was based upon matching as many citations as we could for these contributors.

@ajnyga
Copy link
Collaborator

ajnyga commented Feb 10, 2022

So I came across this in OMP where I have my won Crossref plugin.

@NateWr are you thinking of solving this by using the firstname in the surname field in the Crossref export xml, like this:

<person_name contributor_role="author" sequence="first" language="en">
    <surname>Andrew</surname>
</person_name>

@NateWr
Copy link
Contributor

NateWr commented Feb 10, 2022

are you thinking of solving this by using the firstname in the surname field in the Crossref export xml

Yes, but we do not have a "first name". We have a "given name" and a "family name". If only a "given name" is provided, then we will put that into the only required field in Crossref.

@asmecher
Copy link
Member

Here is a contributed pull request for this issue: pkp/crossref-ojs#11

@NateWr
Copy link
Contributor

NateWr commented Feb 21, 2022

@ewhanson can you do the code review on this PR?

@bozana
Copy link
Collaborator

bozana commented Aug 24, 2022

Currently: if family name in submission locale (the data are exported in) is missing, the author full name is exported in the element surname, s. https://github.com/pkp/ojs/blob/stable-3_3_0/plugins/importexport/crossref/filter/ArticleCrossrefXmlFilter.inc.php#L154.
The function getFullName considers the UI locale first, which I think is not correct. I would then change it so that the getGivenName funciton (with the submission locale) is used and that given name exported in the element surname.

@AhemNason, the support for alt-name was added here: pkp/ojs@92b3e74. Thus, the author names in other languages are exported in alt-name element. We could see if this is OK so and if not open a new issue for that...

@bozana
Copy link
Collaborator

bozana commented Aug 24, 2022

I've just realized this Bug in the stable version: #8202.
This can lead to some wrong metadata -- it could be that a given name does not exists in the submission locale :-(
I just hope that the case when UI in which a new submission is started and the actual submission locale differ is very rare, so that we will not have much support cases...

@bozana
Copy link
Collaborator

bozana commented Aug 24, 2022

PRs:
ojs stable-3_3_0: pkp/ojs#3508
ops stable-3_3_0: pkp/ops#336
crossref-ojs: pkp/crossref-ojs#14
crossref-ops: pkp/crossref-ops#14

@bozana
Copy link
Collaborator

bozana commented Aug 24, 2022

@NateWr, could you review the PR? It uses the given name in the submission locale, if family name does not exist. getFullName would first consider the UI locale, which is not correct -- all metadata are exported/registered in the submission locale...
The PR for the main branch and OPS is coming too...

@NateWr
Copy link
Contributor

NateWr commented Aug 24, 2022

Looks good to me, @bozana.

bozana added a commit to pkp/ojs that referenced this issue Aug 25, 2022
pkp/pkp-lib#7528 Crossref export: use given name in submission locale…
bozana added a commit to pkp/ops that referenced this issue Aug 25, 2022
pkp/pkp-lib#7528 Crossref export: use given name in submission locale…
bozana added a commit to bozana/crossref-ojs that referenced this issue Aug 25, 2022
bozana added a commit to pkp/crossref-ojs that referenced this issue Aug 25, 2022
pkp/pkp-lib#7528 Crossref export: use given name in submission locale…
bozana added a commit to bozana/crossref-ops that referenced this issue Aug 25, 2022
bozana added a commit to pkp/crossref-ops that referenced this issue Aug 25, 2022
pkp/pkp-lib#7528 Crossref export: use given name in submission locale…
@bozana bozana closed this as completed Aug 25, 2022
Repository owner moved this from Todo to Done in Metadata and Distribution Aug 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug:1:Low A bug that does not have a severe consequence or affects a small number of users. Enhancement:1:Minor A new feature or improvement that can be implemented in less than 3 days. Try Me This issue might be good for a new contributor. Can you help us?
Projects
Development

No branches or pull requests

9 participants