Ainda o erro de ficar em estado não logado depois de logar?

Antonio Terceiro terceiro at colivre.coop.br
Mon Jan 12 12:25:33 BRST 2015


On Fri, Jan 09, 2015 at 02:17:21PM -0300, Bráulio Bhavamitra wrote:
> Pessoal, o bug ainda não foi morto :(
> 
> Reproduzi ele na frente de um usuário enquanto mostrava uma
> ferramenta. 15 minutos (o tempo de expiração setado pelo noosfero)
> depois, apareço logado :P. E dessa vez foi no Chrome (antes era apenas
> no firefox)
> 
> Como solução imediata, fiz:
> Environment.all.each do |e|
>   e.home_cache_in_minutes = nil
>   e.general_cache_in_minutes = nil
>   e.profile_cache_in_minutes = nil
>   e.save
> end
> 
> Acredito que há um erro de concepção no cache do noosfero: não deve
> haver cache por tempo de expiração em páginas dinâmicas, apenas para
> elementos estáticos (javascript, imagens, etc). Terceiro que elaborou
> essa parte de cache, pode explicar melhor o motivo disso como está
> hoje?

Quando foi implementado, eu estava trabalhando numa rede Noosfero que
tinha uma quantidade absurda de acessos de usuários não logados e robôs,
de forma que era simplesmente inviável responder todo mundo. Depois de
otimizar várias coisas internas, eu parti para uma solução com cache
HTTP.

Esse cache foi feito pra só se aplicar a usuários não logados, o que é
perfeitamente válido.

O problema aqui é exatamente que o usuário pede a página quando ele está
deslogado, e quanto ele loga o navegador não pede a paǵina de novo
porque ficou em cache.

A solução ideal seria uma que fizesse o varnish fazer cache da página,
mas que os cabeçalhos de cache não cheguem para o usuário. Provavelmente
1 linha de VCL que troque o 'Cache-Control' pra 'no-cache' na resposta
que é enviada ao cliente deve resolver.

Além disso, idealmente esse cache HTTP deveria poder ser desligado (i.e.
ele deveria ser um plugin).

-- 
Antonio Terceiro <terceiro at colivre.coop.br>
Colivre - Cooperativa de Tecnologias Livres
http://www.colivre.coop.br/


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listas.softwarelivre.org/pipermail/noosfero-br/attachments/20150112/7de2707a/attachment.pgp>


More information about the Noosfero-br mailing list