Skip to content

Add ORCID to author search links in TOC when available via authors_meta#424

Open
Copilot wants to merge 6 commits intomasterfrom
copilot/add-orcid-to-author-link
Open

Add ORCID to author search links in TOC when available via authors_meta#424
Copilot wants to merge 6 commits intomasterfrom
copilot/add-orcid-to-author-link

Conversation

Copy link
Contributor

Copilot AI commented Mar 10, 2026

O que esse PR faz?

No sumário (TOC), os links de busca dos autores no search.scielo.org agora incluem o ORCID quando disponível em authors_meta.

  • Usa o operador or para selecionar article.authors_meta or article.authors em um único loop, eliminando duplicação de código
  • Quando authors_meta está presente e o autor possui ORCID, gera a query de busca no formato orcid:ORCID OR au:(Nome)
  • Quando o autor não possui ORCID, mantém o formato original au:Nome
  • Fallback para article.authors (comportamento atual) quando authors_meta não está disponível
  • Links de busca dos autores agora abrem em uma nova aba (target="_blank"), mantendo o usuário na página do sumário enquanto a busca abre separadamente
  • Dois testes adicionados para validar ambos os cenários (ORCID e fallback), incluindo verificação do target="_blank"

Exemplo de URL gerada (com ORCID):

//search.scielo.org/?lang=pt&q=orcid:0000-0002-3430-5422 OR au:(MARQUES, Carlos)

Exemplo de URL gerada (sem ORCID):

//search.scielo.org/?lang=pt&q=au:Author Two

Onde a revisão poderia começar?

opac/webapp/templates/issue/toc.html — bloco <!-- Autores --> (linha ~210).

Como este poderia ser testado manualmente?

  1. Acessar o sumário de um fascículo que contenha artigos com authors_meta populado (incluindo ORCID)
  2. Verificar que o link do autor com ORCID contém orcid:VALOR OR au:(NOME) na URL de busca
  3. Verificar que autores sem ORCID mantêm o link original (q=au:NOME)
  4. Verificar que artigos sem authors_meta continuam usando article.authors normalmente
  5. Verificar que ao clicar no link do autor, a busca abre em uma nova aba e o usuário permanece na página do sumário

Algum cenário de contexto que queira dar?

O padrão segue o mesmo usado em article/includes/meta.html: prioriza authors_meta quando disponível, com fallback para authors. A estrutura de AuthorMeta no schema (opac_schema) inclui name, affiliation e orcid. O template usa author.name|default(author) para extrair o nome tanto de objetos AuthorMeta quanto de strings simples, e author.orcid is defined and author.orcid para verificar a presença do ORCID de forma segura. Os links usam target="_blank" para abrir em nova aba, evitando que o usuário perca o contexto da página atual.

Screenshots

N/A — alteração apenas na URL do href e adição de target="_blank", sem mudança visual na página.

Quais são tickets relevantes?

N/A

Referências

Original prompt

This section details on the original issue you should resolve

<issue_title>No sumário, o nome do autor é um link para o search.scielo.org, adicionar o orcid se aplicável</issue_title>
<issue_description>### Descrição da tarefa
No sumário, o nome do autor é um link para o search.scielo.org, por exemplo:

https://search.scielo.org/?lang=pt&q=au:MARQUES,%20Carlos%20Frederico%20Sparapan

adicionar o orcid na expressão de busca o orcid se existir considerando o schema

https://github.com/scieloorg/opac_schema/blob/812713d4698cae9980e159851ed1497d33e7ca0c/opac_schema/v1/models.py#L748
https://github.com/scieloorg/opac_schema/blob/812713d4698cae9980e159851ed1497d33e7ca0c/opac_schema/v1/models.py#L147
</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Copilot AI changed the title [WIP] Add ORCID to author link in summary Add ORCID to author search links in TOC when available via authors_meta Mar 10, 2026
{% if not loop.last %};{% endif %}
{% endif %}
{% endfor -%}
{%- if article.authors_meta %}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot considere usar o operador or

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Refactored to use article.authors_meta or article.authors in a single loop, with author.name|default(author) to handle both object and string items. This eliminates the duplicated block. See ef7fcac.

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
@robertatakenaka robertatakenaka marked this pull request as ready for review March 13, 2026 11:43
Copilot AI review requested due to automatic review settings March 13, 2026 11:43
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Issue TOC author search links to include an author’s ORCID in the search.scielo.org query when article.authors_meta is available, while preserving the current fallback behavior to article.authors.

Changes:

  • Update TOC template to iterate over article.authors_meta or article.authors and append orcid:... to the search query when present.
  • Add interface tests covering (1) authors_meta with ORCID and (2) fallback when authors_meta is absent.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
opac/webapp/templates/issue/toc.html Builds author search href using authors_meta when present and appends orcid:... for authors that have ORCID.
opac/tests/test_interface_TOC.py Adds two TOC interface tests validating ORCID inclusion and fallback behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +401 to +404
self.assertNotIn(
"orcid:",
response_data.split("Author Two")[1].split("</a>")[0],
)
response_data = response.data.decode("utf-8")

self.assertIn("q=au:Simple Author", response_data)
self.assertNotIn("orcid:", response_data)
@robertatakenaka
Copy link
Member

@copilot corrigir o link considerando que o formato ideal é orcid:0000-0001-7639-2627 OR au:(Flores-Ortiz Renzo), sendo Flores-Ortiz o surname ou last name e Renzo o nome

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 13, 2026

@copilot corrigir o link considerando que o formato ideal é orcid:0000-0001-7639-2627 OR au:(Flores-Ortiz Renzo), sendo Flores-Ortiz o surname ou last name e Renzo o nome

Updated the search query format. When ORCID is available the URL now generates:

q=orcid:0000-0002-3430-5422 OR au:(Author One)

Authors without ORCID keep the original format q=au:Author Name. See e31063b.

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
@robertatakenaka
Copy link
Member

@copilot notei que o link leva a uma outra aplicação perdendo o contexto onde o usuário estava, modifique para que o usuário possa permanecer na mesma página, mas ao mesmo tempo o usuário percebe que o link abriu a outra aplicação.

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 13, 2026

@copilot notei que o link leva a uma outra aplicação perdendo o contexto onde o usuário estava, modifique para que o usuário possa permanecer na mesma página, mas ao mesmo tempo o...

Added target="_blank" to the author search links so they open in a new tab — the user stays on the TOC page while search.scielo.org opens separately. See 0e3283c.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

No sumário, o nome do autor é um link para o search.scielo.org, adicionar o orcid se aplicável

3 participants