scieloorg / scielo.org

Website institucional da Rede SciELO
MIT License
1 stars 7 forks source link

Permitir busca nas páginas internas e documentos do Wordpress #139

Closed alexxxmendonca closed 4 years ago

alexxxmendonca commented 4 years ago

Incluir capacidade de busca por conteúdo -- páginas e documentos -- dentro do Wordpress.

A solução proposta pela @paratiuid para suprir essa necessidade foi o plugin SearchWP.

A capacidade de busca deve estar disponível em todas as páginas internas do site, com exceção da homepage, seguindo o modelo proposto pela @paratiuid:

image

paratiuid commented 4 years ago

Pessoal, @gustavofonseca @alexxxmendonca @joffilyfe @jamilatta

conforme falamos hoje na daily, segue o video mostrando a situação atual da busca interna: https://drive.google.com/file/d/1dgiYI03K4GTXCg9GmgqHbVa15eRz8mYm/view

Ainda existem alguns problemas que precisam ser tratados:

- link para o artigo -> o link exibido aponta para o wordpress administrativo. Preciso fazer apontar para o wordpress de público.

- url da pagina de resultados de busca ainda não está como o planejado. -> hoje está assim: localhost/home/search. -> acredito que o ideal seja assim: pt = localhost/pt/busca en = localhost/en/search es = localhost/es/busqueda

- breadcrumb -> hoje está assim: Home > buscar -> acredito que o correto seja assim: Home > Sobre o Scielo > busca

- busca com mais de uma palavra está acusando erro. Porém, ao testar a url que o plugin de busca usa para efetuar a busca via rest, funciona. Veja o exemplo: http://scielohomolog.parati.ag/scielo-org-adm/wp-json/swp_api/search?s=atestado%20de%20capacidade%20tecnica

Screen Shot 2019-11-26 at 6 34 21 PM

Acredito que esteja faltando algum ajuste para tratar os espaços. Fiz um teste com a query: "atestado%20de%20capacidade%20tecnica" e funcionou. Veja abaixo:

Screen Shot 2019-11-26 at 6 36 37 PM
alexxxmendonca commented 4 years ago

@paratiuid por favor, alterar o texto da caixa de busca para "Critérios, guias, comunicados etc"

alexxxmendonca commented 4 years ago

Outro ponto: Não sei se corrigindo os pontos mencionados por você corrigiria isso, mas notei que os nomes das páginas estão vindo com o nome "cru" do Wordpress. O correto é exibir o nome que está no campo título. É mais user-friendly.

gustavofonseca commented 4 years ago

@paratiuid, a busca com múltiplas palavras ou caracteres não alfanuméricos deve ser resolvida com o uso da função rawurlencode.

gustavofonseca commented 4 years ago

@paratiuid, qual a diferença de clicar no título ou no botão Download?

alexxxmendonca commented 4 years ago

@gustavofonseca pelo que eu pude interpretar pelo vídeo, clicando no título abre a página administrativa do Wordpress, por isso o erro que aparece (por que o usuário não está autenticado).

paratiuid commented 4 years ago

@paratiuid, a busca com múltiplas palavras ou caracteres não alfanuméricos deve ser resolvida com o uso da função rawurlencode.

correto! Testei agora e funcionou.

paratiuid commented 4 years ago

@paratiuid, qual a diferença de clicar no título ou no botão Download?

@gustavofonseca o "título" está linkado ao artigo em si.

Lembrando que temos: http://scielohomolog.parati.ag/scielo-org-adm (administrativo) http://scielohomolog.parati.ag/scielo-org-site (público)

O que ocorre hoje é: Ao clicar no título, ele leva para o link do artigo dentro do adm, que não tem tema, portanto não exibe o artigo. É necessário redirecionar para o artigo do wordpress público.

o "download" está linkado direto no anexo, quando existe.

paratiuid commented 4 years ago

@gustavofonseca

a tela de resultados de busca ficou assim:

Screen Shot 2019-11-27 at 3 43 39 PM

Mais simplificada. Tanto link para página quanto anexo (pdf) aparecem da mesma forma. Alinhei com o @alexxxmendonca

Estou testando ainda o funcionamento de todos os links. Encontrei alguns problemas ao montar o link para outros idiomas além de português.

gustavofonseca commented 4 years ago

Legal, @paratiuid. Estamos no caminho certo =]

Vi que em http://scielohomolog.parati.ag/scielo-org-adm/wp-json/swp_api/search?s=atestado%20de%20capacidade%20tecnica é retornada uma chave excerpt, atualmente com conteúdo vazio. Pelo nome do identificador eu suspeito que se trata do fragmento do arquivo onde o termo foi localizado. Pode confirmar?

paratiuid commented 4 years ago

@gustavofonseca @jamilatta @joffilyfe @patymori

Pessoal, conforme conversamos hj cedo na daily, segue o link da homologação para testar a busca interna: http://scielohomolog.parati.ag/scielo-org-site/pt/sobre-o-scielo

gustavofonseca commented 4 years ago

@paratiuid, me parece muito bom. Entretanto tenho algumas observações:

  1. Não consegui buscar por nada que retornasse mais de 10 resultados. A implementação está preparada para paginar multiplos resultados?
  2. A caixa de texto está vulnerável a XSS. Copie o texto <body onload=alert('Foo')>, cole na caixa de busca e clique no botão Buscar. Perceba que abrirá uma caixa de alerta.
paratiuid commented 4 years ago

@gustavofonseca

1 - Não foi implementada uma paginação. Vou providenciar. 2 - Ok. Farei o ajuste.

Farei os ajustes e volto a postar a url para teste aqui ao finalizar.

paratiuid commented 4 years ago

@paratiuid, me parece muito bom. Entretanto tenho algumas observações:

  1. Não consegui buscar por nada que retornasse mais de 10 resultados. A implementação está preparada para paginar multiplos resultados?
  2. A caixa de texto está vulnerável a XSS. Copie o texto <body onload=alert('Foo')>, cole na caixa de busca e clique no botão Buscar. Perceba que abrirá uma caixa de alerta.

@gustavofonseca Peço que tente efetuar o teste no item 2 novamente, por favor.

gustavofonseca commented 4 years ago

@paratiuid, peguei mais 2 casos de XSS:

Sugestão de leitura:

paratiuid commented 4 years ago

@alexxxmendonca @gustavofonseca

Pessoal,

conforme conversamos hj cedo na daily, segue a url para testar a paginação:

http://scielohomolog.parati.ag/scielo-org-site/pt/sobre-o-scielo

alexxxmendonca commented 4 years ago

@paratiuid a mim me parece ok, mas as traduções precisam ser revistas. Há elementos que não foram traduzidos.

Botão Primeiro/Último, botão Buscar em espanhol, por exemplo.

paratiuid commented 4 years ago

@paratiuid a mim me parece ok, mas as traduções precisam ser revistas. Há elementos que não foram traduzidos.

Botão Primeiro/Último, botão Buscar em espanhol, por exemplo.

@alexxxmendonca

corrigi as traduções. Podes verificar, por favor?

alexxxmendonca commented 4 years ago

@paratiuid corrigir "pasado" em espanhol para "última"

paratiuid commented 4 years ago

@paratiuid corrigir "pasado" em espanhol para "última"

Corrigido.

Peço que teste novamente a busca. Fiz um ajuste para remover o arquivo do anexo diretamente da busca conforme conversamos hoje na daily.

http://scielohomolog.parati.ag/scielo-org-site/pt/sobre-o-scielo

alexxxmendonca commented 4 years ago

@paratiuid me parece bom!

Peço aos meus colegas que testem também.

joffilyfe commented 4 years ago

@paratiuid corrigir "pasado" em espanhol para "última"

Corrigido.

Peço que teste novamente a busca. Fiz um ajuste para remover o arquivo do anexo diretamente da busca conforme conversamos hoje na daily.

http://scielohomolog.parati.ag/scielo-org-site/pt/sobre-o-scielo

@paratiuid me parece bom!

Peço aos meus colegas que testem também.

Em termos de funcionalidade me parece que está tudo de acordo com o que foi diagramado. Uma dúvida: É possível controlar a quantidade de resultados que aparecem?

paratiuid commented 4 years ago

@paratiuid corrigir "pasado" em espanhol para "última"

Corrigido. Peço que teste novamente a busca. Fiz um ajuste para remover o arquivo do anexo diretamente da busca conforme conversamos hoje na daily. http://scielohomolog.parati.ag/scielo-org-site/pt/sobre-o-scielo

@paratiuid me parece bom! Peço aos meus colegas que testem também.

Em termos de funcionalidade me parece que está tudo de acordo com o que foi diagramado. Uma dúvida: É possível controlar a quantidade de resultados que aparecem?

Sim, hoje setei para aparecer apenas 5. Mas é possível sim trocar esse número de registros no resultado de busca.

alexxxmendonca commented 4 years ago

@joffilyfe eu fiz a mesma pergunta à @paratiuid.

Acho que poderia ser 10 itens ao invés de somente 5.

joffilyfe commented 4 years ago

@joffilyfe eu fiz a mesma pergunta à @paratiuid.

Acho que poderia ser 10 itens ao invés de somente 5.

Bem observado @alexxxmendonca. Acho que podemos deixar fixo no valor que você sugere e nas próximas iterações nós poderíamos trazer essa configuração para a tela de busca, deixando a cargo do usuário escolher essa e outras configurações. Faz sentido para vocês?

paratiuid commented 4 years ago

@joffilyfe eu fiz a mesma pergunta à @paratiuid. Acho que poderia ser 10 itens ao invés de somente 5.

Bem observado @alexxxmendonca. Acho que podemos deixar fixo no valor que você sugere e nas próximas iterações nós poderíamos trazer essa configuração para a tela de busca, deixando a cargo do usuário escolher essa e outras configurações. Faz sentido para vocês?

Ok.

alexxxmendonca commented 4 years ago

@joffilyfe estou de acordo.

paratiuid commented 4 years ago

@alexxxmendonca @joffilyfe

Alterei para que sejam exibidos 10 itens por página.

alexxxmendonca commented 4 years ago

@paratiuid achei que ficou bem melhor com 10 resultados/página.

gustavofonseca commented 4 years ago

Legal. Ficou melhor mesmo.

Me corrijam se estiver errado, mas falta apenas ajustar o breadcrumb conforme descrito em https://github.com/scieloorg/scielo.org/issues/139#issuecomment-558829543?

alexxxmendonca commented 4 years ago

@gustavofonseca eu nem me lembrava desse breadcrumb.

De acordo.

paratiuid commented 4 years ago

Ok. Farei o ajuste.

paratiuid commented 4 years ago

Corrigido pessoal. @alexxxmendonca @gustavofonseca

Peço que testem novamente, por favor. http://scielohomolog.parati.ag/scielo-org-site

alexxxmendonca commented 4 years ago

@paratiuid tudo certo agora, por mim.

gustavofonseca commented 4 years ago

Notei que o componente de paginação está quebrado no Firefox 72.0b7 (64-bit):

Screen Shot 2019-12-16 at 14 29 08
alexxxmendonca commented 4 years ago

good catch!

paratiuid commented 4 years ago

@gustavofonseca

Refiz o teste agora no site: http://browsershots.org/http://scielohomolog.parati.ag/scielo-org-site/home/search/3?q=scielo

Screen Shot 2019-12-16 at 3 03 56 PM

E não consegui pegar o erro.

Você chegou a limpar o cache do seu navegador? Penso que pode ser cache pois o css dos botões da paginação foram enviados recentemente.

gustavofonseca commented 4 years ago

Talvez tenha sido cache sim. Refiz o teste e funcionou corretamente =]

jamilatta commented 4 years ago

@paratiuid

Estou navegando pelo resultado de pesquisa e reparei que ao clicar em alguns resultado... estou sendo enviado para a página de pesquisa com o termo utilizado, vejam:

Screen Shot 2019-12-17 at 08 42 24
joffilyfe commented 4 years ago

@paratiuid

Estou navegando pelo resultado de pesquisa e reparei que ao clicar em alguns resultado... estou sendo enviado para a página de pesquisa com o termo utilizado, vejam:

Bem observado @jamilatta, fiz o teste e percebi que esse comportamento acontece apenas para os idiomas en e es.

paratiuid commented 4 years ago

@paratiuid Estou navegando pelo resultado de pesquisa e reparei que ao clicar em alguns resultado... estou sendo enviado para a página de pesquisa com o termo utilizado, vejam:

Bem observado @jamilatta, fiz o teste e percebi que esse comportamento acontece apenas para os idiomas en e es.

Pessoal,

peguei o problema.

O que ocorre é que nesse tipo de pagina "link para documento" espera-se que sejam anexados um documento para cada idioma. Nos registros que exibiram o link da própria página de resultado de busca, não haviam anexos cadastrados para o idioma corrente (en e es) somente portugues.

A página da exibição de resultados espera algo semelhante a isso: "url_anexo + idioma". Esses casos então exibem o link quebrado por não ter o anexo do idioma corrente cadastrado.

Refiz os testes após cadastrar todos os anexos nos idiomas que estavam faltando. O erro foi solucionado.

Conversei com o @alexxxmendonca para saber se é possível haver anexos apenas em um idioma. Ele me informou que já no cadastro, caso haja esse problema, ele repete o arquivo existente para que não fique idioma sem arquivo anexado. Isso resolve o problema.

Então, na produção, não teremos esse problema.

Peço que retestem na homolog da Parati. Os links foram corrigidos.

jamilatta commented 4 years ago

@paratiuid

Entendido.

alexxxmendonca commented 4 years ago

Em homologação, notei o seguinte:

1) o atributo de título da página (nome da guia) perde-se quando o usuário está nos resultados de busca:

image

2) todos, absolutamente todos os links dos resultados estão abrindo em uma nova guia/aba. Não sei se esse deva ser o comportamento. Penso que somente quando for um PDF deva abrir em outra guia, mas links com conteúdo interno do site devem abrir na mesma guia/aba.

3) Em algumas situações, aparentemente bem aleatórias, ao mudar de página ocorre o seguinte erro PHP:

image

patymori commented 4 years ago

@paratiuid, pode verificar?

paratiuid commented 4 years ago

@alexxxmendonca @patymori

Sobre os erros relatados:

1 - Corrigi o título da página de resultado de busca. 2 - Corrigida a abertura em nova aba. Somente pdf's abrem em nova aba. Os links internos são abertos na mesma aba ativa. 3 - Conforme relatei para a @patymori em chat privado no slack, acredito que o erro seja no servidor. Testei a chamada do json e algumas vezes obtive "Error establishing a database connection". (https://homolog.wp.scielo.org/wp-json/swp_api/search?nopaging=true&s=scielo)

Fui pesquisar e vi esse trecho de texto em um post: "Se o teu site estiver num alojamento partilhado é muito possível que a falha esteja no servidor. Eventualmente porque o teu site está a consumir mais recursos do que aqueles a que ‘tem direito’. Neste caso, o servidor ‘fecha’ o acesso até estabilizar."

A equipe da infra foi acionada para analisar.

Segue o link atualizado da homologação da parati para testes:

http://scielohomolog.parati.ag/scielo-org-site

alexxxmendonca commented 4 years ago

@paratiuid

Itens 1 e 2 testados e aprovados no ambiente de testes da parati.

Item 3 pendente ação da infra SciELO.

patymori commented 4 years ago

Alterações de #143 disponíveis no ambiente de homologação.

alexxxmendonca commented 4 years ago

Testado e aprovado em homologação.

patymori commented 4 years ago

Alteração #144 disponível no ambiente de homologação.

patymori commented 4 years ago

Teste realizado em homologação - OK.