Category: blogs

Arquivo para a ‘blogs’ Categoria

Problemas na atualização 3.0 do WordPress

Postado por Bruno Pedrassani 10 Commented segunda-feira, junho 21st, 2010

Under : , , ,

Então que eu administro um servidor pessoal com meus sites. Alguns rodam Drupal, já testei o TextPattern e outros usam o WordPress.

O foco aqui é o WordPress.

De tempos em tempos o WordPress(vou chamar de WP aqui pra ficar mais fácil) lança atualizações do seu core, ou seja, do seu “centro”, seu “motor”, o que faz a coisa funcionar. É sempre bom atualizar, pois além de novas funções, normalmente há correções de bugs e algumas firulas.

Só que como toda atualização, pode dar me*%a no final, principalmente com incompatibilidade de plugins.

Vou falar aqui de alguns problemas que passei, e como resolvê-los. Lembrando que todas as atualizações que fiz foram do WP 2.9.2 para o WP 3.0, e incrivelmente os problemas em cada blog foram diferentes.

ATENÇÃO: o WP diz, seu pai diz, seu técnico diz, mas nunca é demais lembrar: ANTES DE TODA ATUALIZAÇÃO, FAÇA BACKUP DO SEU SITE E BANCO DE DADOS. Pronto, avisado.

Problema: depois da atualização, o blog e todas as suas páginas ficaram em branco. Nada mais aparecia. O blog morreu, só devolve uma página em branco.
Caminho percorrido: esse foi um caso difícil. Tão logo o problema ocorreu, a primeira coisa que fiz foi pegar o diretório wp-content/plugins e apagá-lo/renomeá-lo, deixando só um wp-content/plugins com o index.php dentro dele. O efeito disso é desabilitar todos os plugins do seu blog. Não funcionou. Isso teoricamente descartava que fosse alguma incompatibilidade do WP 3.0 com algum plugin que eu usasse. Então como não queria deixar nada fora por muito tempo, pensei em colocar a versão 2.9.2 novamente e restaurar a minha base de dados. Tudo parecia ser algum bug esquisito do WP 3.0 mesmo. Ledo engano. Restaurei os arquivos da versão 2.9.2(você pode fazer isso com o backup do seu site, ou como se fosse atualizar manualmente uma versão do WP baixando os arquivos oficiais e substituindo pela versão anterior, como se fosse um update mesmo) e a base de dados. O problema persistiu. Aí só o são Google pra salvar mesmo. Catei muitos sites/fóruns, enquanto isso tudo estava fora, até que achei a solução, descrita a seguir. Há muitas ocorrências para a página ficar em branco depois da atualização, então possivelmente essa minha solução não é a definitiva e pode não funcionar pra todos.
Solução: o problema(o meu pelo menos) estava no plugin WP-SUPER-CACHE. Ele é um excelente plugin pra cachear suas páginas com o objetivo de não gastar muitos recursos do seu servidor, tornando o site mais rápido de ser exibido. O meu engano foi achar que somente desativá-lo resolveria. No caso do WP-SUPER-CACHE, pra desinstalá-lo completamente há uma série de procedimentos a serem feitos no servidor, que estão descritos na página do plugin, aqui. O que eu tive que fazer basicamente foi:

  • Apagar os arquivos: wp-content/advanced-cache.php, wp-content/wp-cache-config.php e o diretório wp-content/cache/
  • Desativar o plugin

Isso basicamente fez com que o site voltasse a funcionar. No texto de desinstalação do link acima, ele ainda manda remover a linha define( 'WP_CACHE', true );do arquivo wp-config.php. Eu não precisei fazer isso pro site voltar, mas é bom fazer. Depois disso, o site voltou a aparecer normalmente.

Problema:
depois da atualização, o site carregava normalmente, mas não conseguia acessar o painel de administração, sempre aparecendo a mensagem: “Você não tem permissão pra acessar essa página”, mesmo sendo o administrador do site.
Caminho percorrido: esse realmente tem cara de incompatibilidade de plugin(s). Então a primeira coisa que fiz foi desativar todos os plugins. Isso funcionou, só que não queria ficar sem meus queridos plugins, então fui ativando-os um a um pra descobrir quem estava com o problema. No final acabei descobrindo 2 plugins que, quando ativados, não me deixavam acessar o painel de administração: wp-backupify e WordPress Admin Bar. O Bakupify é um plugin de backup online do site do backupify que eu uso, excelente por sinal. O Admin Bar não dá pra ficar sem, é muito útil. Precisava descobrir o problema. O mais estranho é que uso esses mesmos plugins em outro blog, e no outro não deu esse problema após a atualização! Então verifiquei as permissões dos diretórios dos plugins, mas estavam exatamente iguais aos do outro site que estava funcionando. Desinstalei, baixei, instalei, ativei e nada, mesmo problema. E foi aí que são Google, protetor dos fracos e sem solução mostrou o caminho novamente.
Solução: não me perguntem por que, uma vez que não tenho a resposta. Como o meu blog usa a versão PT-BR do WordPress, descobri que o arquivo wp-content/languages/pt_BR.php era o causador do problema. Fiz um backup dele e apaguei-o sem dó. Os plugins voltaram a funcionar normalmente me deixando acessar o painel de administração. Esse arquivo não tem quase nada dentro dele(pelo menos no meu caso), e apagá-lo não tira a tradução do site. Bem na verdade, ele tem uma única linha que é:

<?php $wp_default_secret_key = 'coloque sua frase única aqui'; ?>

Essa é uma das definições do wp-config.php, e acredito que deve ter dado alguma incompatibilidade no update em que, na hora de setar a variável $wp_default_secret_key, ele verifique que ela está incorreta e tira suas permissões de acesso. É uma teoria. O que interessa é que funciona.

Menção honrosa: o plugin WP TUNER não funciona no WP 3.0, ou pelo menos dá pau em várias instalações. Ele é um excelente plugin pra verificar quais consultas ao banco de dados estão mais lentas, perfeito pra detectar plugins comedores de recursos da máquina. No site do desenvolvedor há uma nota dizendo que ele já está trabalhando numa versão nova do plugin, possivelmente pra fazer funcionar bem no WP 3.0.

Esses foram os problemas que eu tive, mas tive relatos de que a atualização automática funcionou perfeitamente pra outras pessoas. Cada caso é um caso, mas se alguém estiver passando pelo que passei, espero ajudar aqui.

Comentem aí outros plugins que não estão funcionando com o WP 3.0 ainda.

Meu nome é Procrastinar

Postado por Bruno Pedrassani 4 Commented quinta-feira, junho 17th, 2010

Under :

“Se continuar me superando, daqui a pouco não conseguirei mais me alcançar”

Essa célebre frase foi um camarada meu que soltou há tempos, e deveria ser o mote dos procrastinadores. Apesar de muitas vezes não querer, eu sou um procrastinador ferrenho. Pra vocês terem uma pequena idéia, tenho uma outra postagem que está pronta desde 14 de maio, faltando somente UMA IMAGEM(uma foto que eu precisava tirar), mas a postagem ainda não ficou pronta. Em minha defesa(depois do próprio ataque) devo dizer que já tirei a foto, mas quando vou passar do celular para o computador, e depois do computador para a postagem é difícil saber.

Mas se não produzo tanto aqui, há outros lugares que acabo gastanto mais meu tempo. O plugin do wordpress que tomei pra mim(modo de dizer, antes que atirem as pedras) está a pleno desenvolvimento, inclusive já está na versão 2.0 com novas opções e painel de administração.

Só que ainda assim isso me frustra. Por “isso”, leiam procrastinar. Há tantos projetos que tenho idéia de fazer, manter, continuar, criar, mas devido ao alto grau de procrastinação encalacrado no meu ser, acaba faltando tempo no final do dia. Chega a ser irônico um procrastinador falar que falta tempo, mas é exatamente o que ocorre, e explico.

Só coloquei essa imagem porque estava escrito: procrastinar un rato

Imagem de: freakyman

Você vai lá, trabalha duas horas em cima do plugin. Bate uma fome, você come um grude, aproveita pra ver o tuíter, o email, o MSN. Aí você coloca uma música, vê um jogo da copa, mas tudo isso pensando: “vou escrever ainda dois posts hoje”. Só que você acaba indo jogar um Wii, falar com a namorada, e tudo vai ficando, vai ficando. Quando você realmente senta pra escrever os posts, sente o sono e viu que o dia já está acabando. Você procrastinou o dia todo, e no final do dia quando decidiu fazer o que tinha planejado… o dia acabou. O tempo acabou.

Claro que nem todos os dias são assim, e nem tão graves assim, mas acontecem. E isso é o que frustra. E pensar que quero escrever no Chiclete, no Bruno Pedrassani, no Cu de Burro, traduzir um livro(sim, é um dos meus projetos), escrever um livro(sim, é outro dos projetos, a história já está na cabeça e até iniciei a introdução!), fazer o plugin, dar manutenção no meu servidor, aprender Drupal, jQuery, php, jogar video-game…

Bah, tanta coisa pra fazer, pouco tempo pra fazer. Deveria ficar muito irritado comigo mesmo, mas bem, posso procrastinar isso também. Deixa pra depois.

Plugin: Browser Sniff

Postado por Bruno Pedrassani 14 Commented quarta-feira, maio 19th, 2010

Under : , ,

Então que desde (quase)sempre eu uso o plugin Browser Sniff, do Priyadi, aqui no blog. Só que desde, sei lá, 2005 que o plugin não é atualizado, e eu já tinha visto vários pequenos bugs no plugin, como detectar que o Google Chrome é o Safari.

Como eu gosto muito desse plugin, resolvi então ver o código dele e dar uma estudada no bixo. Fui lá, alterei, arrumei várias coisas e resolvi entrar em contato com o próprio Priyadi pra ver se ele me deixava continuar o projeto.

E não é que ele me respondeu e me “deu” o projeto?

Então senhores, esse post é pra falar basicamente sobre o plugin. Quem não gosta do plugin, ou não se interessa por essas partes do WordPress, pode sair agora.

Já fiz um post inaugural(em inglês) no meu website pessoal(o http://brunopedrassani.com), mas o Nódoa terá a versão em português do negócio.

Muita coisa que verão neste post é do post original do Priyadi, e decidi manter o changelog dele, somente continuando o desenvolvimento.

EDIT: O plugin foi aprovado pelo wordpress, yes baby, yes! Está lá na página de plugins, e pode ser instalado pelo painel também, bastante simples. O link aqui.

CARACTERÍSTICAS

  • Detecta e mostra o navegador/sistema operacional de quem comentou(usado no loop de comentários)
  • Descreve um user agent string qualquer(para uso geral)
  • Mostra ícones do navegador/so se solicitado
  • Se o usuário for cookied, ou seja, se for um administrador do site vendo os comentários, o plugin mostra um asterisco com o user agent string completo(é só passar o mouse por cima do asterisco). Serve pra ter certeza que o plugin está detectando o que deve. Visitantes normais não podem ver o asterisco
  • Todos os navegadores e sistemas operacionais principais são detectados, bem como softwares de blogagem(serve para trackbacks e pingbacks), navegadores baseados em texto, celulares, pdas e outros

REQUISITOS

WordPress 1.5+ (testado até WordPress 2.9.2)

Esse plugin existe desde o WP 1.2 se não me engano, mas como o WP 1.2 não guara o user agent string, comentários migrados dessa plataforma não funcionarão com o plugin. Obviamente não acho que ninguém ainda use WP tão antigo, mas é só pra manter o registro aqui.

Você também terá que conhecer um pouco de PHP e como achar o loop de comentários no seu template. De fato é bem pouco, você só precisa adicionar um comando no lugar certo, bem fácil.

INSTALAÇÃO

  1. Faça o download do plugin aqui -> [ Browser Sniff 1.11 (~56.11KB) ]
  2. Instale o plugin como qualquer outro. Basta descompactar o arquivo e colocar a pasta no diretório wp-content/plugins.
  3. Vá para o Painel de administração de Plugins do WordPress e ative o plugin.
  4. Veja a seção USO abaixo pra saber como usar e onde colocar o comando.
  5. (opcional) Você pode mudar como os ícones aparecem na sua folha de estilos, alterando o seletor img.browsericon .

USO

O uso é bastante simples. Basta colocar a função pri_print_browser(“Usando “, “”, true, ‘no’); onde você quiser que apareça, dentro do loop de comentários. Os parâmetros aqui são:

  1. String para aparecer antes da descrição(no caso acima, “Usando “)
  2. String para aparecer depois da descrição(nada no caso acima)
  3. true ou false para mostrar ou não(respectivamente) ícones dos navegadores e SOs
  4. String para aparecer entre o navegador e o sistema operacional. Padrão é ‘on’, mas no caso aqui usei o ‘no’.

O uso acima imprime na sua página algo como:

Usando Mozilla Firefox Mozilla Firefox 3.6.3 no Windows Windows XP

Se não houver user agent string gravado(caso de WordPress 1.5-), as strings de antes e depois da descrição não serão impressas na página.
Se você estiver logado como administrador do site(ou seja, está cookied), você verá um asterisco no final da mensagem, mostrando o user agent string completo do usuário que comentou. Basta passar o mouse por cima do asterisco pra ver. Isso é muito útil pra ver se o plugin está detectando as coisas corretamente.

Você pode também ver a descrição de algum navegador qualquer através de um pedaço de user agent string qualquer, usando a função pri_browser_string(“Mozilla/1.0″, true, ‘no’); . A função retornará uma string com a descrição do navegador. Os parâmetros são:

  1. O user agent string a ser detectado(“Mozilla/1.0″ no caso acima)
  2. true ou false para mostrar ou não(respectivamente) ícones dos navegadores e SOs
  3. String para aparecer entre o navegador e o sistema operacional. Padrão é ‘on’, mas no caso aqui usei o ‘no’.

ENCONTRANDO O LOOP DE COMENTÁRIOS

Se o seu template é feito para versões mais novas do WordPress(ou se você tiver sorte), normalmente o loop de comentários está no arquivo wp-content/themes/your-theme/comments.php . Basta procurar por algo como “comment loop”, ou algum texto que é impresso em todos os comentários, como “fulano comentou isso:”. Se achar algo assim, deve ter achado o loop de comentários. Se não achar, simplesmente coloque a função pri_print_browser(“Usando “, “”, true, ‘no’); e vai por tentativa e erro, tentando achar o lugar ideal pra deixar a função.

Mesmo que normalmente o loop de comentários esteja no arquivo acima, algumas vezes já encontrei no arquivo wp-content/themes/your-theme/comments-popup.php (se seu tema o tiver), ou ainda no wp-content/themes/your-theme/functions.php. Esse último normalmente é usado quando o loop de comentários é reescrito. Esse é o meu caso, e há uma função custom_comment() nele. Foi onde fiz minhas alterações.

Não vou ficar discutindo mais sobre isso, porque cada tema é um tema, mas com algum tempinho e vontade você acha fácil o comment loop. Não feve fugir desses arquivos que citei. Uma vez que acha, não se esquece :)

NOTAS

  • Eu sei que editar templates não é pra qualquer um, e muitos nem tem tempo pra isso, por isso versões futuras terão toda a administração do plugin via painel de administração. Assim só edita o template quem quiser mesmo.
  • Se encontrarem qualquer erro nos strings, ou se não detectar algo corretamente, ou ainda se tiverem ícones melhores, é só me mandar.
  • Você pode editar o arquivo browsersniff.php e ajustar a variável $pri_width_height pra arrumar o tamanho dos ícones. Por padrão eu diminuo eles pra 14×14 px.
  • Você pode ver o uso do plugin nos comentários aqui do blog, ou no original do Priyadi.

CHANGELOG

1.0:

  • Primeiro release

1.1:

  • Adicionado o parâmetro $between. Agradecimentos para João Craveiro.

1.2:

  • Ajustes para eLinks

1.3:

  • Detecta Shiira. Agradecimentos para CH Chan.

1.4:

1.5:

1.6:

1.7:

1.8:

1.10:

  • Detecta todos os derivados do Ubuntu: Kubuntu, Xubuntu e Edubuntu.
  • Detecta Debian Iceweasel e Firefox unbranded (BonEcho).
  • Ajustes para Nintendo Wii.
  • Rearranjada ordem para derivados do Debian.

1.11:

  • Mantenedor alterado para Bruno Pedrassani.
  • Detecta Google Chrome
  • Adicionados ícones para Google Chrome, Windows 7 e Windows Vista
  • Melhor compatibilidade com WP, agora não é necessário mais criar o diretório browsers na raiz do site
  • Diretório browsers mudou de nome para icons

Quero agradecer novamente ao Priyadi por ter permitido que eu continue seu trabalho nesse plugin, e a todos que testarem e enviarem quaisquer bugs/sugestões que encontrarem.

, ,

Atualizar PHP + WordPress = Problemas Nas Postagens

Postado por Bruno Pedrassani 4 Commented sexta-feira, março 5th, 2010

Under : , , ,

Deixando meus parcos leitores à par do porquê da falta de posts. Dois motivos:

  1. Eu estava de férias, e bem, nas férias você promete fazer um monte de coisas e acaba fazendo um monte de nada.
  2. Meu servidor de hospedagem atualizou o PHP e eu não conseguia postar por nenhum cliente de postagem WordPress. E eu odeio o editor padrão do WordPress. Explicitarei esse motivo abaixo.

Pois já fazia algum tempo que eu escrevia postagens pelo Scribefire ou pelo Windows Live! Writer, mas na hora de publicar por algum motivo os sinais de “<” e “>” – que são os sinais de “abrir” e “fechar” tags html – sumiam.

Como isso começou a ocorrer quase que simultaneamente aqui e no Chiclete na Poltrona, logo pensei que era culpa da atualização do WordPress 2.9.2 que fiz em ambos os blogs.

Então comecei a busca pelo problema partindo desse princípio, mas nada de encontrar solução. Postei o problema no fórum do MeioBit porque o pessoal de lá normalmente responde rápido e quase sempre tem solução, mas não obtive sucesso.

O problema real aqui não estava na atualização do WordPress, nem em algo que eu havia feito. O problema foi que mais ou menos nessa mesma época, meu servidor de hospedagem deve ter atualizado o PHP rodando no mesmo – e como não tenho controle sobre isso – foi difícil de descobrir o problema. Com a atualização do PHP, é atualizada uma biblioteca chamada libXML, e essa nova versão tem um “conflito” com o WordPress, que acaba por “comer” os sinais de “<” e “>” das tags html.

Conhecendo o problema, há duas soluções hardcore pra usuários que usam linux gostam de sofrer:

  1. Fazer downgrade da libXML do PHP(o que nem sempre é possível);
  2. Alterar alguns arquivos do WordPress manualmente pra que eles contornem o problema.

Mas como você, meu querido leitor, gosta de sombra, água fresca, vadiagem e malemolência, há uma solução muito, mas muito mais simples:

Basta instalar o plugin, ativá-lo e voilá: já pode usar seu cliente de publicação preferido novamente.

E agora voltando à rotina, voltaremos para a programação normal deste blógue.

EDIT: encontrei a solução aqui.

Chiclete Na Poltrona

Postado por Bruno Pedrassani 2 Commented sexta-feira, fevereiro 26th, 2010

Under : ,

E Nódoa do Universo orgulhosamente apresenta… Chiclete Na Poltrona, a mais nova cria deste humilde autor que vos fala(juntamente com Ricardo Lopes e Marcos Vinicius Costa).


O Chiclete na Poltrona é um blog sobre filmes. Sobre cinema. E pra não ser só mais um entre tantos, vamos tentar dar um tom mais… engraçado às resenhas, postagens, notícias, enfim, tudo.

Já temos um apanhado de postagens por lá, um tanto quanto genéricas, visto que o trabalho de blog não se resume só a escrever, mas estamos trabalhando em tudo(aparência, cadastros, divulgação, etc, etc, etc).

Se alguém quiser ajudar, escrever, dar idéias, sintam-se a vontade! Agradeço em nome de todos os criadores do Chiclete qualquer ajuda!

Technorati Marcas: ,