Rafael Silva

Desenvolvedor Web

Sufoco

Esse é um post para avisar aos 8 leitores que acompanham esse site (segundo o Google Reader) que não esqueci dos screencasts e tutoriais para o Drupal que prometi.

Estou exageradamente atolado em trabalho (mais do que eu gostaria, diga-se de passagem) e aí tem faltado tempo.

Assim que me liberar, postarei novas coisas.

Abraços a todos, e em especial aos 8 assinantes do meu RSS Tongue out

 

De impossível a plausível

Pois é, o que parecia impossível agora é, ao menos, plausível. Estou falando do IE 8 saindo com suporte a padrões Web.

Ainda não instalei (não instala no Mac Tongue out) mas os boatos é que ele é compatível com os padrões e tem um botão para nukar (quer dizer, emular o IE7).

Vou ver se baixo em alguma máquina com Windows e testar.

Vamos ver até onde vai a capacidade da MS de fazer algo além de bugs.

 

Leopard

Essa semana chegou, finalmente, a minha atualização do Mac OS X, codinome Leopard.

Fiz a atualização, seguindo as instruções do manual. Tudo muito tranquilo, mas muito demorado. A verificação do DVD demorou mais de 30 minutos!

Após a instalação já baixei e instalei a última atualização. Depois de instalar tudo reparei que o boot ficou mais lento, e que algumas tarefas também.

É indiscutivel a beleza da interface e o bom acabamento de alguns programas, mas as coisas estão um tanto mais lentas que antes.

Na próxima semana vou fazer uma instalação "do zero" e ver se isso melhora.

E, só para constar, estou gostando muito do Mac OS, mas às vezes me dá saudades do meu Ubuntu.

 

Drupal e comunidade

Eu trabalho com desenvolvimento web desde 2001 e sempre envolvido com Software Livre de alguma forma. Isso é uma coisa que me faz muito feliz.

Desde 2002 eu trabalho com Drupal. Comecei quando ainda trabalhava na Intertexto, que fez vários testes e alguns trabalhos com as versões 4.2 e 4.4 desse fantástico CMS. Desde lá nunca mais parei de mexer com essa ferramenta, e em 2005 criei o que hoje é o Drupal Brasil.

Trabalhar com Drupal é uma das coisas que me dá mais prazer. No meu post onde falo das minhas expectativas para o ano de 2008, desenvolver mais módulos e documentar mais o Drupal para o público Brasileiro estão lá, entre os que mais anseio por tocar adiante. Faço isso por puro prazer (e, às vezes rende até uma graninha).

O Drupal, hoje, não é o meu "ganha-pão", acho que está mais no meu hobby. Já houve uma época que quis muito trabalhar exclusivamente com criação de sites usando Drupal, hoje quero menos isso. Na verdade, meu interesse com o Drupal está mais para a instrução do que para o desenvollvimento.

Desenvolver sites com o Drupal é muito fácil, e muito legal. Mas acho que já passei dessa fase. Já fiz isso demais e hoje isso tem virado rotina, o que cansa.

Por isso esse ano quero me dedicar mais a divulgar, documentar e fomentar o uso do Drupal. Estive até pensando em escrever um livro sobre Drupal, em português, mas tenho quase certeza de que não o farei (talvez não nesse ano). São pensamentos ambiciosos, mas que quero ir com calma.

Já ministrei dois cursos de Drupal, e gostei bastante. Já escrevi
alguns tutoriais e também adorei. Esse ano quero me manter nesse
patamar.

O Drupal Brasil tem sido uma experiência legal. A comunidade está se movimentando. Os novatos têm ido muito por lá. Uma pena é que os experiêntes - boa parte deles - não têm ido (uma pena, que alguns não compartilhem o conhecimento). Mas gradativamente a comunidade tem crescido.

Já escrevi um artigo em duas partes( parte 1, parte 2) sobre as melhores práticas (basicamente um copy & paste com algumas alterações do tópico oficial). Vou ainda escrever alguns tutoriais para o Drupal 6 (sobre módulos, temas, e outras coisas mais).

Vamos ver se esse ano consigo por os projetos para andar hehehe.

Ps.: Esse post se parece com um outro mas é que eu ia escrever sobre outra coisa, mas no meio do artigo minha chateação passou, e mudei de foco Laughing melhor não me estressar.

 

Guia de melhores práticas do Drupal - Parte II

Esse artigo é a continuação de um outro, escrito há alguns dias atrás.

Recomendo que você leia também o primeiro artigo, uma vez que eles se complementam.

Então vamos lá!

Não modifique o core do Drupal

Essa é uma recomendação muito comum mas geralmente não é ouvida pelos novatos.

Como o Drupal é um projeto mantido por uma comunidade muito ativa, sempre há alterações e correções no seu código base. Ao alterar o core do Drupal você pode acabar tornando sua instalação insegura. Além disso você irá tornar, automaticamente, seu código incopatível com os novos releases do Drupal, o que, automaticamente irá fazer com que você fique sem poder atualizar quando sair uma correção.

Suponhamos que você criou um projeto, alterou o core do Drupal mas agora outra pessoa vai dar manutenção nesse projeto. Se você, por acaso, esqueceu de avisar das alterações, isso pode tornar a manutenção muito penosa.

Uma excessão é quando você está corrigindo um bug, ou fazendo uma melhoria, e espera devolver isso para a comunidade. Obviamente você terá que rastrear e ver se o patch que você enviou será incorporado ao próximo release do Drupal. Se isso não acontecer você terá que manter isso de qualquer forma. Por isso nunca é recomendável se fazer esse tipo de alteração em sites que irão para produção.

Segurança

Segurança é importante. Quando você vai manter um site no ar, é importantíssimo se manter atualizado. O Drupal dispõe de uma newsletter onde todo aviso de correções de segurança são enviados. Quem mantém um site com Drupal deve estar atento a essa lista, de preferência assinando a newsletter ou sempre atento à divulgação na página de avisos de segurança.

Testes

Antes de colocar um projeto online, é de suma importância fazer testes. Os testes ajudam a encontrar problemas e evitam colocar um site com falhas críticas online.

Existem várias ferramentas que podem ser usadas para criar um ambiente local para testes. O XAMMP e o MAMP são as ferramentas mais comuns.

Toda vez que você for instalar um módulo novo, fazer atualizações e/ou correções no seu site, procure fazê-lo localmente. Baixe uma versão igual a que está no seu servidor de produção, e faça os testes. Se tudo correr sem problemas é sinal de que você pode por no ar.

Alguns pontos importantes a serem observados:

  • Nunca desenvolva ou teste no ambiente de produção. O Drupal é fácil de instalar localmente, não compensa o risco;
  • Teste os seus backups com regularidade em um ambiente diferente. Isso assegura que seus backups estão funcionando e você não é pego de surpresa sem saber como restaurar um backup.
  • Teste toda atualização localmente. Evite por seu site em risco.

Gestão de arquivos e pastas

O Drupal contém vários arquivos e pastas sob uma determinada estrutura. Essa estrutura existe para facilitar o nosso entendimento e trabalho.

Ao criar um site simples (não-multisite) você deve criar uma estrutura dentro da pasta sites/all para os seus módulos e temas. Essa estrutura visa facilitar a atualização futura do seu site, uma vez que você só precisará fazer backup do que estiver dentro da pasta sites (e, obviamente, do banco de dados). Essa estrutura é composta de duas pastas: modules e themes. Asssim, a estrutura final ficaria: sites/all/modules e sites/all/themes.

Em sites múltiplos (multisites) você deve posicionar os módulos e temas específicos dentro da pasta de cada site. Assim, se você tem um site chamado www.example.com você irá criar: sites/www.example.com/modules e sites/www.example.com/themes

Se você desejar pode renomear o arquivo update.php no entanto, ele já contém proteções para evitar abuso. Também, se você quiser, poderá remover o arquivo install.php uma vez que ele só é necessário na instalação do site.

É uma boa prática deixar o arquivo CHANGELOG.txt (ainda que com outro nome), para que você se lembre qual versão está aquele site (ou conjunto de sites). Quem administra muitos sites pode acabar se esquecendo e não fazendo a atualização.

Por último, ao construir um tema ou módulo, evite espaços nos nomes. Isso pode causar problemas em sistemas opreracionais não-windows. 

Conclusão

Com esses dois pequenos artigos espero ter mostrado os benefícios de se trabalhar de acordo com as melhores práticas.

Essas melhores práticas vêm de testes e experiências de usuários, e existem para fazer sua vida mais fácil. Tente se guiar por elas, e certamente seu trabalho, e dor de cabeça, será menor.

Abraço

 

Rio de Janeiro

Hoje estou indo para o Rio de Janeiro para fazer um repasse de informações para uma equipe que irá assumir o desenvolvimento de um projeto do SERPRO.

Essa será a segunda vez que vou ao Rio de Janeiro (a primeira foi ano passado quando fui ministrar um treinamento em Drupal).

Assim como a maioria da população que não mora no Rio, tenho muito medo de lá. Em geral não tenho medo de andar por lugares que não conheço, até porque o lugar onde cresci era muito violento. Já no Rio não me senti confortável da outra vez, e me sinto apreensivo novamente. Mas, talvez, seja influência da mídia que sempre fala mal da cidade.

De uma forma ou de outra, ficarei no Rio até quarta-feira, muito provavelmente, sem internet.

Na quinta, quando já estiver de volta, quero publicar a segunda parte do artigo sobre melhores práticas no desenvlvimento com Drupal.

Até lá!

 

Futuro tenebroso

As recentes notícias da tentativa da Microsoft comprar o Yahoo! me faz pensar no futuro que a Web está tomando.

A Microsoft tem o hábito de começar tarde em alguns mercados, especialmente na Web. Foi assim com seu navegador, programa de mensagens instantâneas, busca e mais um tanto, mas têm o poder (leia-se dinheiro) de dar uma guinada nisso.

Depois de muito penar e ver que está gastando demais para fazer, muitas vezes sem talento ou sucesso, o que já tem gente fazendo bem há algum tempo, eles resolveram apelar. Agora eles querem comprar o Yahoo!

Eu não sou um dos maiores fãs do Yahoo!, mas já usei e gostei dos serviços deles (especialmente o Webmail que era fantástico). Mas sou menos fã ainda da Microsoft.

Eu, particularmente, não gosto de fusão de empresas desse porte. Atrapalha a concorrência e pode diminuir a criatividade (se você olhar para o Mac OS X e para o Windows Vista vai entender o que eu quis dizer).

Torço para que isso não ocorra, mas se ocorrer é torcer para que o estrago não seja grande demais.

Lendo os comentários sobre a repercussão dessa notícia vi a charge que o Taq fez do que, talvez, esteja passando na cabeça dos funcionários do Yahoo! e fiquei imaginando se uma provável busca pelo termo "Linux" no Yahoo! a resposta vai ser algo como: "Essa busca realizou uma operação ilegal e não trará resultados", ou ainda "Você quis dizer 'Microsoft Windows Vista'".

Tenebroso! 

 

Guia de melhores práticas do Drupal - Parte I

Já faz algum tempo que quero escrever alguma coisa sobre o Drupal mas faltava um assunto específico. Resolvi então que vou começar do básico para quem quer desenvolver com o Drupal: As melhores práticas.

Esse é o primeiro de uma série sobre melhores práticas do Drupal 

Início 

Geralmente quando vamos desenvolver com base em algum framework ou CMS já existente, existe algum manual ou recomendações de melhores práticas para esse desenvolvimento. Com o Drupal não é diferente. Existe um guia de melhores práticas no site do Drupal, e ele vai servir de base para esse texto.

Planeje antes de começar!

Quando vamos desenvolver algum projeto, seja um site, seja a construção de uma casa, antes, precisamos planejar. Sem planejamento, muitas vezes, acabamos deixando passar algo e na hora de implementar, dá aquela dor de cabeça.

É na hora do planejamento que vemos se aquela funcionalidade vai conflitar com outra, ou se aquele item que consideramos visualmente bonito vai caber dentro do contexto. Gaste um bom tempo (mas não todo o tempo) planejando o que você vai fazer.

O Drupal possui uma gama enorme de módulos que podem ser combinados para fazer o seu trabalho mais fácil, então veja se você não está reinventando a roda, e pense em usar alguns desses módulos também.

Esteja pronto para mudanças

O Drupal, bem como boa parte dos projetos Open Source, é muito dinâmico e de tempos em tempos há novas atualizações. Algumas são atualizações de segurança, outras nova versões com várias novas funcionalidades.

Temos sempre a mania de querer o mais novo e com os mais lindos recursos na hora que eles saem. Esteja pronto para mudanças, mas seja moderado ao fazê-las. Como o Drupal tem muitos módulos de terceiros que, eventualmente, você vai acabar usando esteja certo de que eles já são compativeis com a versão mais nova do Drupal, antes de decidir atualizar o Drupal do seu site.

Um site que esteja maduro e bem construído, não precisará de novas atualizações quando elas saem. Mas esteja pronto para a evolução. Um prazo que se recomenda para fazer essa atualização é de 12 a 24 meses.

Um ponto importante são as atualizações de segurança. Essas devem ser aplicadas sempre que saírem(desde que sejam indicadas para o seu caso, é bom lembrar), pois não impactam (geralmente) no funcionamento, mas na segurança.

Se envolva com a comunidade

O Drupal é um software Open Source e que trabalha com o modelo de comunidade. Quando você usa o Drupal você se torna parte da comunidade. Você pode ser um membro atuante ou não, isso vai depender do seu perfil e interesse. No entanto, a recomendação é que você esteja sempre em contato com a comunidade.

Um dos princípios do Software Livre é a possibilidade de retornar algo que você melhorou. Isso é importante para o projeto, uma vez que você pode ajudá-lo a se tornar mais forte e pode ser importante pra você, dependendo do seu interesse na comunidade. Se você fez algo que pode ser devolvido à comunidade, devolva! O Drupal e os módulos de terceiros que você está usando, foram devolvidos para a comunidade em algum tempo, então que tal fazer o mesmo?

Ser um membro ativo também nos possibilita estar à par do estado do projeto e como ele irá evoluir. Isso também nos ajuda a nos planejar para as atualizações que virão. Em alguns casos você inclusive pode participar dessa decisão.

Faça backups

Uma coisa que muita gente esquece, mas que é fundamental: backup! Vez ou outra enfrentamos problemas que podem acabar afetando o nosso site e/ou sistema. Pode ser um problema físico em um dos servidores, uma empresa que deixa de prestar serviços e vários outros problemas. Ter um backup é de suma importância.

Ter um backup não significa, no entanto, que o mesmo esteja funcionando. Teste, de tempos em tempos, os seus backups. Veja se tudo está sendo feito da forma correta. Se em um momento você precisar restaurar um backup e ele não estiver funcionando, será o mesmo que nunca ter feito um.

Teste seu código

O Drupal é uma ferramenta extremamente flexivel, e assim você pode fazer muitas coisas com ela. Mas, no calor do desenvolvimento, às vezes deixamos passar alguma coisa, que pode estragar o nosso trabalho.

Teste exaustivamente o seu código. Seja um módulo, um bloco, um tema. Teste tudo muito bem antes de aplicar a mudança. Testes são muito importantes.

Um ponto que merece maior destaque são os blocos do Drupal. Se um bloco estiver com erro, o site inteiro pode parar de funcionar. Uma forma simples de testar o código antes de colá-lo para funcionar dentro de um bloco, é criar uma página, definir o "Formato de entrada" como sendo PHP e alí testar o seu código. Se tudo der certo, então você poderá usá-lo no seu bloco.

Fim da parte I 

Chegamos ao fim dessa primeira parte. Em breve vou postar aqui uma nova parte desse artigo, falando mais sobre outras boas práticas para o desenvolvimento com o Drupal.

Se você quiser ir se adiantando, basta dar uma olhada na página do manual que estou me baseando. 

Até breve! 

 

Lendo em inglês

Há alguns dias comecei a ler um livro em inglês.

O livro é Lord Foul's Bane , de Stephen R. Donaldson e faz parte da série The Chronicles of Thomas Covenant, the Unbeliever . A recomendação foi do Ronaldo.

Esse é o segundo livro em inglês que eu começo a ler. O primeiro foi Rama II de Arthur C. Clarke. Esse foi um amigo meu que comprou e nunca mais pegou de volta. Mas nunca terminei de lê-lo, uma vez que ele é uma continuação de Rendezvous with Rama que eu nunca li.

A recomendação do Ronaldo sobre as crônicas de Thomas Covenant foi indireta mas eloquente. Ele disse:

... esses são os melhores livros de fantasia que já li e o primeiro livro das séries originais foi o único livro em toda minha vida que eu joguei contra a parede por pura revolta contra o personagem principal.

Isso me motivou a comprar o primeiro livro da série e começar a ler. Ler em inglês para mim não é muito problemático, afinal na área de desenvolvimento tenho que ler a maioria das coisas em inglês. Mas ler literatura é um bocado diferente. Os termos usados são, muitas vezes, pouco comuns e o vocabulário bem maior que o que estou acostumado. No entanto tem sido uma experiência gratificante.

Como ainda tenho alguma dificuldade com a língua a leitura está sendo mais lenta que o normal (que já é lenta). Mas estou gostando do que já li. O autor realmente prende sua atenção e creio que será uma boa leitura.

Espero, depois que terminar esse volume, continuar lendo o resto da série.

Aprender inglês decentemente também é um dos meus objetivos para esse ano e espero que essa leitura venha me ajudar até eu tomar vergona na cara e fazer um curso de inglês (ainda que seja para aumentar o vocabulário e corrigir problemas com gramática e pronúncia).

Para quem está atrás de alguma diversão e aprendizado conjuntos recomendo o livro.

 

Twitter: 1 mês depois

Essa semana faz um mês que assinei o Twitter.

Nos primeiros dias foi até interessante mas depois perdi o interesse.

O que acontece com o Twitter é que, dada a dinâmica da coisa, ele se torna um repositório de impressões pessoais sobre a mais variada gama de coisa, mas também se torna uma forma verbosa dos seus pensamentos.

Grande parte do que se fala no Twitter é coisa banal (como numa conversa via IM). Pouco se aproveita do todo. Eu digo isso por mim e pelo que li de algumas pessoas que seguem as mesmas pessoas que eu sigo. Grande parte dos posts que fiz lá, foi um bate-papo aberto com meu amigo Dark Flames. O resto foram pequenos pensamentos que passaram na minha cabeça que quis externalizar.

Assim, como ferramenta de blog (ou micro blog) ela se torna meio inútil. Na verdade, não totalmente inútil se você considerar o blog de algumas pessoas (que tratam do que comeram no último jantar ou café da manhã). Mas para blog efetivo, com algo consistente, ele é praticamente inútil.

Assim, decidi que vou manter minha assinatura apenas para dar vazão aos meus pensamentos de momento. Ou seja, minha conta do Twitter vai continuar sendo meu local de egocentrismo, puro e simples. Não espero que alguém acompanhe (nem mesmo quem já acompanha) afinal é um saco ficar lendo sobre as bobagens diárias de cada um. Vou mantê-lo simplismente porque às vezes sinto vontade de externalizar alguns sentimentos momentâneos (como a minha ira quando a rede do serviço fica tremendamente lenta).

No resultado final da minha avaliação o Twitter é inútil para as coisas importantes (ao menos o que se espera que seja útil para um leitor). Só vale a pena mesmo se for para egoblogging Tongue out

 

Páginas