segunda-feira, 5 de outubro de 2009

Community Builder


Vamos experimentar com o Community Builder. Estas são as minhas notas para referências futuras.

O site do produto é muito bom.

O fato de ter que se registrar para poder fazer download, me parece justo, pelos objetivos que eles se propõe. Algum controle sobre quem está usando o produto. O registro é bem completo mas rápido e eficiente.

Pela complexidade do produto, o processo de instalação foge do usual, sendo recomendada a leitura atenta da documentação que acompanha o produto.

A impressão inicial é a de que este complemento sobrepõe diversas funções do próprio Joomla... Vamos ver se isso é adequado.

domingo, 4 de outubro de 2009

Falha no carregamento dos módulos:MySQL server has gone away

Num dos nossos sites Joomla, começou a aparecer a mensagem

Falha no carregamento dos módulos:MySQL server has gone away
várias vezes, ao tentar montar a tela de um dos artigos.

Isso me parece um problema de time-out. O Script PHP fica esperando o MySQL terminar uma operação, neste caso um join de duas tabelas razoavelmente pequenas, e se cansa de esperar.

Uma primeira tentativa de reparar e otimizar as tabelas resultou em melhorias temporárias. Rapidamente o problema voltou.

Como as tabelas eram bem estáticas, procurei ativar o cache do ambiente Joomla, nas esperança de que o sistema conseguisse fazer com uso das computações anteriores. Novamente, os resultados foram temporários e as mensagens voltaram a aparecer em seguida.

A sugestão de trocar o engine do MySQL de MyISAM para InnoDB com o comando

ALTER TABLE my_table ENGINE = InnoDB;
se mostrou bem mais efetivo, fazendo a mensagem sumir até o momento. Realmente, o problema voltou depois de algum tempo.

Verificando melhor, percebi que o processamento no MySQL era causado no processo de proteger os endereço de eMail contra Spammers, mascarando o endereço em código Java, usando o plugin Content - Email Cloaking . Para cada eMail, o pluging gerava um código Java, com base em alguns controles armazenados em duas tabelas no MySQL que precisavam ser unidas usando Join ! Desligando o plugin, conseguimos evitar o tempo excessivo de processamento.