elifesciences / elife-crossref-feed

code to support uploading info to crossref on PAW articles
1 stars 1 forks source link

If eLife article was published as a preprint, add this information to Crossref submission #58

Closed Melissa37 closed 3 years ago

gnott commented 7 years ago

@Melissa37 do you have an example of how this would be in the Crossref deposit? I am looking for history dates or other dates, perhaps in a <publication_date> with a different attribute than media_type="online"? This is excluding any data that would denote this as part of the Crossmark program.

Melissa37 commented 7 years ago

Hi there

It is not defined yet, but it would be the history dates, something like:

xml
 <related-object ext-link-type="url" xlink:href="[where the preprint is]">
                <date date-type="preprint" iso-8601-date="2016-04-25">
                    <day>25</day>
                    <month>04</month>
                    <year>2016</year>
                    </date>
            </related-object>
gnott commented 7 years ago

Would an <intra_work_relation> of relationship-type="hasPreprint" also be a way to do this?

Melissa37 commented 7 years ago

Yes yes yes!!!

gnott commented 7 years ago

Implementing this may be blocked at this time. It would be good if the XML parser parses the history dates in order to get the preprint URL, and that is blocked by settling on the final XML format of the history dates in the article XML. Please see https://elifesciences.atlassian.net/browse/ELPP-3154

Melissa37 commented 7 years ago

Totally agree - no point implementing till we're doing it anyway? Thanks

gnott commented 5 years ago

This may not be blocked anymore, since the parser is now extracting <pub-history> event data where the preprint values will be. Possible this can be actioned now, agree @Melissa37 ?

Melissa37 commented 5 years ago

Yes, this can be actioned now:

<rel:related_item>
                    <rel:inter_work_relation identifier-type="uri"
                        relationship-type="hasPreprint"
                        >http://www.biorxiv.org/content/early/2017/08/08/173450</rel:inter_work_relation>
                </rel:related_item>
                </rel:program>

Was that what you'd planned? M

Melissa37 commented 4 years ago

Perfect, can we add this to our to do list?

Thanks for digging this out :-)

Melissa37 commented 3 years ago

Looks like this will be done in March at the latest as it's an eLife priority

Heads up @FAtherden-eLife @gnott

fred-atherden commented 3 years ago

@gnott, Exeter are now saying that they may be able to add preprint dates in the next week or so. I'm skeptical that they'll be able to do so that quickly, so I think we still have some lead time, but it would be great if we're ready to send the relationship onto Crossref when we've added them to the eLife article XML.

We're going to be including the DOI as the link in the XML (since that's what we receive from eJP), so I think an example of what we would be sending is:

<rel:program>
    <rel:related_item>
        <rel:intra_work_relation identifier-type="doi"
            relationship-type="hasPreprint"
            >10.1101/173450</rel:intra_work_relation>
    </rel:related_item>
</rel:program>

In the example above, intra_work_relation instead of inter_work_relation is used. Looking at the Schema, it looks like hasPreprint is only permitted on the relationship-type for intra_work_relation, so I suppose that's the element that we should be using.

Let's talk about this in our next catch-up to make sure that you have everything you need to get started on this.

gnott commented 3 years ago

Would we only add this if the preprint is a DOI, and not add it if the preprint is just a URI?

Since the Crossref generation logic uses an https://github.com/elifesciences/elife-article Article object as the data, we would want to assign the preprint data to it with an appropriate name and level of detail, and then we should be able to add the tag to the Crossref output. Would we want to name this "preprint", or should we add a more general "history event" type of data to the Article, considering how history event data may be used in other ways in the future?

fred-atherden commented 3 years ago

Would we only add this if the preprint is a DOI, and not add it if the preprint is just a URI?

Good point. We're currently expecting DOIs (from bioRxiv and medRxiv), but it is feasible that the preprint link is a simple URI (for example arXiv do not yet mint dois for their preprints, although they will in the future).

I think, if it's not too onerous to develop, it would be good if the crossref tool could account for both. Obviously that would require a different identifier-type.

fred-atherden commented 3 years ago

Would we want to name this "preprint", or should we add a more general "history event" type of data to the Article, considering how history event data may be used in other ways in the future?

I don't have a strong opinion either way. Others may want to denote other versions using intra_work_relation[@relationship-type="hasVersion"], or similar, but I don't think we'll be planning to.

gnott commented 3 years ago

After reviewing the Crossref generation code and thinking about a potential strategy in more detail, I'm feeling like we can add only the necessary and most precise data to support this one feature. In particular I'm thinking to

gnott commented 3 years ago

The code writing has gone well, PR https://github.com/elifesciences/elife-crossref-xml-generation/pull/100 includes the new feature, which will be released as elifecrossref version 0.3.0. I'll continue and attempt to release this for eLife on the production environment.

gnott commented 3 years ago

I think I need to tweak it, because I forgot the <rel:related_item> tag, just after stamping the new release. Oh well. This was after I had a thought that I didn't check the output to be valid in the Crossref validation tool. So a version 0.3.1 will be coming up shortly.

fred-atherden commented 3 years ago

Just noting that this is working as expected. Querying 69544 at Crossref's API returns the expected result:

"relation": {
            "has-preprint": [
                {
                    "id-type": "doi",
                    "id": "10.1101\/2020.11.21.391326",
                    "asserted-by": "subject"
                }
            ]
        }
gnott commented 3 years ago

Thanks for adding that detail Fred, I had forgotten about this enhancement.