Busca por usuário cadastrado no Portal sem retorno

Boa tarde,
Ao realizar uma busca por usuário, que já possui cadastro no Portal de Periódicos da UFBA, não conseguimos obter uma resposta, conforme imagem em anexo.
Agradecemos antecipadamente qualquer auxilio do fórum para que possamos repassar para nosso TI. A versão que utilizamos é a 3.2.1.4 e temos perfil de administrador. O link para acesso ao nosso Portal é: https://periodicos.ufba.br/

1 curtida

Olá, @pbarroso!

Obrigado pelo print.
Na 3.2.1-4 a busca em Usuários & Papéis é feita por uma requisição AJAX (grid). Quando essa chamada falha (403/500/timeout), a interface fica “muda”, exatamente como na sua captura. Pra avançarmos, preciso de 2 tipos de evidências:

1) Do navegador

  1. Abra as Ferramentas do Desenvolvedor (F12) → Network (XHR/Fetch) e Console.

  2. Faça a busca de usuário e clique na linha da requisição (costuma conter grid/users ou user-grid).

  3. Envie aqui:

    • Request URL e Status code
    • Response/Preview (texto do erro)
    • Mensagens do Console
    • (Se puder) exporte o HAR dessa interação.

2) Do servidor (web + PHP)

Informe: webserver (Apache/Nginx), PHP (versão e se é FPM), banco (MariaDB/MySQL/PostgreSQL + versão) e se há proxy/WAF (mod_security, Cloudflare etc.).
Cole os trechos de log correspondentes ao momento da busca:

# Apache (Deb/Ubuntu)
tail -n 200 /var/log/apache2/error.log

# Apache (RHEL/CentOS)
tail -n 200 /var/log/httpd/error_log

# Nginx
tail -n 200 /var/log/nginx/error.log

# PHP-FPM (ajuste o caminho conforme sua distro)
tail -n 200 /var/log/php*/fpm/error.log 2>/dev/null || tail -n 200 /var/log/php*-fpm.log

# Docker (se usa)
docker compose logs -f --tail=200 web php

Se o banco for MariaDB/MySQL, rode também:

SELECT @@version, @@sql_mode;

Checks rápidos que já podem resolver

  • Limpar caches do OJS (Administração → Tarefas → Limpar caches: dados e templates) e limpar o cache do navegador.

  • Verificar filtros: deixe “Todos os papéis” e pesquise por e-mail exato de um usuário que você vê na lista (pra evitar acentuação/variações).

  • Testar em janela anônima/outro navegador e sem extensões.

  • Tentar buscar por parte do nome (sem @) para descartar bloqueio de WAF/mod_security em querystrings com e-mails.

  • Conferir se a chamada AJAX vai para o mesmo domínio/porta do site (CORS/base_url incorretos quebram a grid).

  • Se estiver atrás de proxy/HTTPS offload, revisar config.inc.php: base_url, force_ssl, trusted_proxy e cabeçalhos X-Forwarded-*.

  • Verificar timeouts/recursos (memory_limit, max_execution_time) se a lista de usuários é grande.

  • Habilitar debug temporário no OJS
    Em config.inc.php:

    [debug]
    show_stacktrace = On
    display_errors = On
    deprecation_warnings = On
    

    Reproduza, capture o erro e desative depois.

  • Em MariaDB/MySQL, teste sem ONLY_FULL_GROUP_BY no sql_mode (algumas consultas antigas falham com esse modo ativo).

  • Se usar mod_security/WAF, veja nos logs se alguma regra bloqueia a rota da grid e crie exceção.

  • Atualização: a 3.2.1-4 é antiga; várias correções em grids/usuários saíram nas séries 3.3/3.4. Se possível, planeje upgrade.


O que enviar aqui no tópico

  • Captura do Network (headers + resposta da requisição da grid) e erros do Console
  • Trechos dos logs (5–10 linhas ao redor do erro)
  • Versões de PHP, banco, webserver e informação sobre proxy/WAF
  • Quantidade aproximada de usuários no portal

Com esses dados a gente consegue dizer se é erro de JS/CORS, bloqueio por WAF, SQL mode, timeout ou bug já corrigido em versão posterior — e apontar o ajuste exato.

3 curtidas