Errata #5238
Replies: 5 comments 1 reply
-
|
I like option 2 personally. It would be good to have a formal way to link erratum. Thoughts from @joemull @StephDriver @mauromsl and @S-Haime would be good. |
Beta Was this translation helpful? Give feedback.
-
|
I also like option 2. And in addition to those tagged above, I'm interested in what @severett89 thinks at this stage too in regards to this being Errata only kind of system or whether there are other types of genealogy we might want to take into account. |
Beta Was this translation helpful? Give feedback.
-
|
Yes, same, option 2. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks - related to errata would be retraction notices. While a Publisher's Note can be added to an article, at the moment we have to manually link URLs between the original article and its notice. This would be helpful in that regard. |
Beta Was this translation helpful? Give feedback.
-
|
ATM we are thinking of using the Section of the article B to indicate its relation with the parent; I think this might work well for errata/addenda (and the other "update" types as described in https://data.crossref.org/reports/help/schema_doc/5.4.0/schema_5_4_0.html#update ) Please let me know if you see important drawbacks. E.g. (sorry, I can't yet share the code...)
where # submission/models.py
class Article:
...
def erratum_of(self):
"""Return the "parent" article for which this article is an erratum."""
if self.section.name != "Erratum":
return None
...
# We can safely assume that an erratum refers to only one other paper
# so we just return the first "ancestor".
#
# Also, there is no need to check if the "parent" was published:
# the business logic should ensure that we cannot publish an erratum
# to a non-published paper.
return self.ancestors.first().parentOf course, we could generalize the above into something like a |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Intro
Sometimes we need to manage errata.
These are (generally) papers that correct other papers.
Let's say we have the original paper "A" published some time ago, and the new paper "B" that corrects paper "A".
ATM, we leverage a sysem that we developed to deal with a "funny" article type that we have (a "commentary-father" and its "invited commentaries" - example here).
We do this:
define Section "Erratum" and manually set it onto B
use custom model "Genealogy" to set a relation between A and B
in our custom theme, in the template of the articles, we cross-reference the related papers; the template use some special wording if the parent/child has Section "Erratum".
Simplifying this template a bit:
{% if article|article_has_children %} {% regroup article.genealogy.children.all by section as children_by_section %} {% for group in children_by_section %} ... {% if group.grouper.name == "Erratum" %} {% trans "This article is corrected by" %} {% else %} {% blocktrans with plural=group.grouper.plural|lower %}Invited {{ plural }}{% endblocktrans %} {% endif %} ... {% for kid in group.list %} <a href="{{ kid.url }}">{{ kid.title }}</a>and something similar for the "child" (from this template):
Question
All the above we can do (almost) without touching Janeway's core.
However we'd like to send the info to Crossref.
AFAICT, we should add an
<update type="erratum">into the XML deposit; probably in crossref_article.htmlE.g.:
Ref. crossref schema 5.4 / update
To me, the best approach to modifying the XML deposit is still unclear 🙂
Some options that come to mind:
add some kind of hook or placeholder for plugins to modify the deposit before sending it to crossref (maybe there is something already and I didn't find it?)
move the management or relations (what we called "genealogy") into Janeway core
(any suggestion is welcome)
Beta Was this translation helpful? Give feedback.
All reactions