scieloorg / Web

SciELO Web
www.scielo.br
6 stars 21 forks source link

Corrige vários bugs no prefixo oai-dc-scielo #752

Closed rafaelpezzuto closed 2 years ago

rafaelpezzuto commented 2 years ago

O que esse PR faz?

Corrige seis bugs identificados na aplicação OAI-PMH quando utilizada com o prefixo oai_dc_scielo. Além disso, adiciona uma base gizmo para tratar caracteres inválidos. A lista de bugs lista de bugs é composta por:

  1. Presença de caractere > não tratado que gera XML com defeito
  2. Ausência do termo oai:scielo: antes do identificador existente no campo <header>
  3. Termo named-content grafado incorretamente dentro do campo <contrib-group> e em campo relacionado a Lattes.
  4. Presença de espaço em branco indevido
  5. Ausência de espaço em branco devido
  6. Atributo num de campo <reference> possui elementos inválidos
  7. Presença de caracteres inválidos gera XML com defeito
  8. Documentos Press Release não são retornados por problemas de obtenção de dados de Issue

Onde a revisão poderia começar?

Por commits.

Como este poderia ser testado manualmente?

  1. Instanciar a aplicação SciELO Web
  2. Consultar qualquer registro em produção (exemplo)
  3. Consultar o mesmo registro no provedor OAI-PMH local corrigido
  4. Acessar código-fonte do retorno obtido em 3 e observar as seguintes diferenças em relação ao obtido em 2:
    1. Inexistência de termo &gt;
    2. Presença do termo oai:scielo: no campo identifier do header do documento.
      1. Antes: <dc:identifier pub-id-type="publisher-id">S0037-86822012000300020</dc:identifier>
      2. Depois <dc:identifier pub-id-type="publisher-id">oai:scielo:S0037-86822012000300020</dc:identifier>
    3. Presença do termo correto named-content nos campos relacionados a identificadores Lattes e a contrib-group
      1. Antes: name-content
      2. Depois: named-content
    4. Inexistência de espaço em branco antes do símbolo = de atributos de marcações.
      1. Antes: <issn publication-format= "print" >
      2. Depois: <issn publication-format="print">
  5. Consultar o registro A no site em produção, que está incorreto devido à presença de caracteres inválidos no atributo "número de referência"
  6. Consultar o registro A corrigido na aplicação local
  7. Consultar o registro B com problema no site em produção
  8. Consultar o registro B corrigido na aplicação local
  9. Consultar o registro C com problena no site em produção
  10. Consultar o registro C corrigido na aplicação local

Algum cenário de contexto que queira dar?

N/A

Screenshots

Bug 1 (caractere sem escape aplicado) image

Bug 3 (grafia incorreta) image

Bug 4 (espaços inválidos) image

Bug 7 (caractere inválido) image

Bug 8 (documento Press Release sem informação de Issue) image

Quais são tickets relevantes?

N/A

Referências

N/A

rafaelpezzuto commented 2 years ago

Verifique meus comentários

@robertatakenaka Substituí aquele código que gera a estrutura parametrizada.