Export crossmark data to articlemeta (crossmark_article collection)#1377
Draft
Export crossmark data to articlemeta (crossmark_article collection)#1377
Conversation
…ction) Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Export missing crossmark data to articlemeta
Export crossmark data to articlemeta (crossmark_article collection)
Mar 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the missing data pipeline to export Crossref CrossMark update information (errata, retractions, partial retractions, etc.) to a dedicated
crossmark_articleMongoDB collection, keeping it separate from the mainarticlescollection.O que esse PR faz?
retraction,erratum,partial_retraction, etc.) onRelatedArticlevia a newcrossref_update_typefield, auto-populated from a JATSrelated-article-type→ Crossrefupdate typemapping during XML ingestioncrossmark_policyURL toCrossRefConfiguration(per DOI prefix), exposed viaget_crossmark_policy(prefix)build_crossmark_data()+export_crossmark_article_to_articlemeta()inarticle/controller.pythat assemble and upsert the document:{ "code": "S0000-00002025000100001", # pid_v2 "collection": "scl", "doi": "10.1590/original-doi", "crossmark_policy": "https://www.scielo.br/crossmark-policy", "updates": [ { "update_type": "retraction", "doi": "10.1590/retraction-001", "date": {"year": "2025", "month": "03"} } ] }task_export_crossmark_article_to_articlemetaCelery task for async dispatchOnde a revisão poderia começar?
article/choices.py→article/models.py(RelatedArticle) →article/sources/xmlsps.py(add_related_articles) →article/controller.py(build_crossmark_data,export_crossmark_article_to_articlemeta)Como este poderia ser testado manualmente?
CrossRefConfigurationwith acrossmark_policyURL for a DOI prefix (e.g.10.1590)<related-article related-article-type="retracted-article" ext-link-type="doi" xlink:href="10.1590/some-retraction"/>RelatedArticlerecord hascrossref_update_type = "retraction"export_crossmark_article_to_articlemeta(user, article)and confirm a document exists in thecrossmark_articleMongoDB collection with the expected structureAlgum cenário de contexto que queira dar?
The JATS
related-article-typevocabulary does not align 1:1 with Crossref CrossMarkupdate type. Ambiguous cases (corrected-article→correction,updated-article→new_version) use the closest semantic equivalent. The mapping lives inchoices.JATS_TO_CROSSREF_UPDATE_TYPEand can be refined editorially. Thecrossref_update_typefield can also be set explicitly (e.g. via<custom-meta>) to override the auto-mapped value.Screenshots
N/A — backend-only data pipeline.
Quais são tickets relevantes?
Exportar dados referentes a crossmark para o articlemeta
Referências
related-article-typeattribute valuesOriginal prompt
This section details on the original issue you should resolve
<issue_title>Exportar dados referentes a crossmark para o articlemeta</issue_title>
<issue_description>### Descrição da tarefa
Exportar dados referentes a crossmark para o articlemeta.
Considerando que para gerar o crossmark, há certos dados que atualmente não existem no articlemeta, precisamos exportar os dados faltantes para o articlemeta, e estes dados podem ser extraídos do XML do SPS Package, dados do Journal e dados de configuração crossref / crossmark.
Então,
1.
addendumInformação adicional relevante publicada após o artigo original.
2.
clarificationEsclarece ambiguidade ou trecho confuso sem alterar conclusões.
3.
correctionTermo genérico para correção de erro não classificado abaixo.
4.
corrigendumCorreção formal de erros introduzidos pelos autores.
5.
erratumCorreção de erros introduzidos pela editora (tipografia, etc.).
6.
expression_of_concernEditor expressa preocupação com integridade dos dados/metodologia.
7.
new_editionNova edição do trabalho (livro/monografia); substitui a anterior.
8.
new_versionNova versão do registro (preprint → VoR, dataset atualizado, etc.).
9.
partial_retractionRetratação de parte do artigo (seção, figura, experimento).
10.
removalConteúdo removido (legal, segurança nacional, etc.); DOI mantido.