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

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! 

Olá a todos!

Começo de semana produtivo esse Smile.

Depois o módulo Blogroll de ontem, hoje foi a vez de um módulo para validar (e incluir) CPF e CNPJ que funciona em conjunto com o módulo CCK.

Esse módulo surgiu de um post do Druval Tabach no Drupal Brasil, perguntando se exisita algo. Me propus a fazer e agora está aí (no final da página).

Como de costume ele é GPL e sugestões, comentários e MacBooks são bem vindos :-p

Abraço

UPDATE: Corrigi um problema com a validação do CNPJ (Obrigado Durval). Também inclui um campo que valida tanto CPF quanto CNPJ. E aproveito para mencionar que esse módulo foi baseado no zipcode.

AnexoTamanho
Binary Data cpf_cnpj.tar.gz8.89 KB

Olá a todos!

Geralmente quando eu visito um site e gosto do que foi escrito eu olho o blogroll dessa pessoa para ver se encontro mais
textos interessantes. Então, por isso, eu gosto de publicar um blogroll
dos sites que acho interessantes.

Eu mantenho um blogroll há algum tempo, mas sempre tive que atualizá-lo manualmente e, nos últimos tempos, ele acabou ficando desatualizado em relação ao que ando lendo.

Então, essa semana eu li uma notícia no Blog do Google Reader que falava um pouco do que dois funcionários do Google fizeram nos seus 20% de tempo livre (todo funcionário do Google tem 20% do seu tempo livre, para trabalhar com qualquer projeto que ele queira).

Um deles (Steve Lacey) deu uma sugestão para o time de desenvolvedores do próprio Google Reader: implementar um gerador de Blogroll à partir das tags que você usa para categorizar seus Feeds.

Pois bem, lá fui eu ver o tá blogroll. Muito bonitinho e tal, mas muito limitado, uma vez que ele só me dá alguns poucos padrões visuais, e nenhum deles se encaixa com o padrão visual do meu site.

Diante disso, resolvi criar um pequeno módulo para o Drupal, que se alimenta desse recurso, e gerar meu próprio blogroll, baseado no do Google Reader.

Então nasceu o módulo Blogroll (você pode baixar no final dessa página). Esse módulo foi feito e testado apenas no Drupal 5, e é o responsável pelo blogroll aí da direita. Ele está na sua primeira vesão, que ainda pode ser considerada beta, então use por sua conta e risco.

Se alguém baixar o módulo, usar e tiver críticas ou sugestões é só comentar aqui ou enviar uma mensagem pelo formulário de contato.

Abraço

P.s: Um dia gostaria de trabalhar em uma empresa que me libera 20% do meu tempo para trabalhar com o Drupal. :-)

AnexoTamanho
Binary Data blogroll.tar.gz7.42 KB

Olá a todos!

Na última segunda e terça-feira ministrei no Rio de Janeiro mais um treinamento em Drupal.
Como disse antes, o treinamento foi ministrado para uma turma fechada, em uma empresa.

Para mim o curso foi bastante tranquilo. A turma estava bem inteirada do assunto, e pude desenvolver com tranquilidade a ementa que eu havia preparado.

O treinamento foi do básico ao avançado, mas sem aprofundar demais no desenvolvimento. Pude falar da configuração do site, da administração de conteúdo, da criação de tipos de conteúdo, além de outros tópicos sobre administração.
Falei também da criação de módulos, exemplificando com um módulo que criei para o curso. Também falei da personalização de temas, mostrando como foi feito o tema do Drupal Brasil.

Acredito que o pessoal conseguiu crescer um pouco mais no desenvolvimento.

Em breve vou disponibilizar a apostila em formato de conteúdo lá no site da comunidade Drupal Brasil.

Olá a todos!

Novamente fui contactado para ministrar mais um treinamento de Drupal. Dessa vez o curso é privado, para uma instituição no Rio de Janeiro.

Diferente do outro curso que ministrei pela Tempo Real, esse o conteúdo é voltado para o desenvolvimento com Drupal. Construção de módulos, temas, e outras features avançadas.

O Curso será ministrado na empresa dia 16 e 17 de Julho. Já preparei a apostila (não deu para por tudo que vou falar, mas já foi algum avanço) com o conteúdo da apostila básica e mais um pouco sobre desenvolvimento.

Essa apostila servirá de base para a documentação que vou começar a postar no Drupal Brasil.

Assim que enviar o primeiro capítulo pro Drupal Brasil, aviso aqui, e lá no Drupal Brasil.
Também quero fazer um screencast sobre construção de multisites na próxima semana, mas como vou me mudar, não sei se vai dar.

Abraço a todos e até breve!

Olá a todos!!

Ontem ocorreu em São Paulo o treinamento de Drupal pela livraria Tempo Real.
Graças a Deus tudo ocorreu de forma tranquila.
Foram 17 participantes que estiveram ali durante todo o sábado, onde eu ministrei o curso.

Para mim foi uma ótima experiência de aprimorar minhas habilidades como ministrador. Espero que eu tenha novas oportunidades de ministrar outros treinamentos sobre o Drupal.

Assim que eu terminar algumas correções, vou disponibilizar, no Drupal Brasil, a apostila que foi usada no curso.

Aos que participaram do treinamento e à livraria Tempo Real eu agradeço imensamente! Espero que para os que participaram tenha sido proveitoso tanto quanto foi para mim!

[update] A versão de 2008 está aqui.

[update] A edição de 2008 está aqui.

Esse post deveria ter vindo há alguns dias, mas mesmo assim fica valendo. O curso de Drupal que vou ministrar, teve sua data alterada: do dia 03/03 (que já passou) para o dia 24/03.

Acredito que entre os CMS feitos em PHP não existe um tão bom quanto o Drupal, ao menos não até o momento. Acredito também que será uma boa ocasião para divulgar a ferramenta entre as pessoas que ainda não conhecem.

Participem!

O endereço para mais informações e inscrições é: http://www.temporealeventos.com.br/?area=24

Olá a todos!

Há alguns meses fui convidado pela livraria Tempo Real para ministrar um cusrso de Drupal em São Paulo. Agora, finalmente, o curso foi confirmado e anunciado.

O curso terá duração de 6 horas, e será ministrado em São Paulo. Já preparei boa parte da documentação, mas ainda faltam algumas coisas. Após o curso irei disponibilizar o conteúdo no site do Drupal Brasil, pois muita coisa é conteúdo original, e algumas coisas, tradução da documentação oficial.

Acredito que será uma boa experiência para mim, e uma excelente oportunidade para divulgar e difundir o Drupal no Brasil.

Quem tiver interesse, acesse a página do evento. E quem puder divulgar, eu e o Drupal Brasil agradeçemos!

[update] Detalhes da edição de 2009 podem ser vistos aqui.

Olá a todos!

Antes de mais nada, feliz 2007 a todos, que esse ano seja infinitamente melhor que 2006 em todos os aspectos da nossa vida!

Começou 2007 e como todo mundo, estou fazendo o balanço de 2006 e planejando 2007.
Muitas coisas boas aconteceram para mim e algumas coisas que eu quis fazer não deu pra fazer(seja por falta de tempo, dinheiro ou mesmo paciência).

Em 2006, minha vida pessoal foi muito bem pra quem acabou de casar. Comecei o ano meio apertado financieramente mas as coisas melhoram depois de um "reestruturada" no orçamento.

Profissionalmente as coisas foram boas, mas aquém do que eu desejava. Infelizmente em 2006 não pude me dedicar tanto quanto eu queria ao Software Livre. No entanto já foi um grande avanço manter o Drupal Brasil funcionando(a parte que me cabe) e poder ter contribuído com a tradução do Seagull. Também não conseguir estudar o suficiente e decidi adiar a minha certificação em PHP fevereiro ou março de 2007.

Para 2007 tenho alguns planos pessoais:

  • Fazer uma pós-graduação
  • Conseguir contribuir mais para o Software Livre(principalmente com o Drupal)
  • Tirar minha certificação
  • Mudar de emprego
  • Ler mais
  • Escrever mais aqui e no Drupal Brasil
  • Ser menos procrastinador
  • E, se der, ficar rico hehe

Espero poder fazer mais do que esses itens, mas se eu conseguir só esses aí, já será um enorme avanço.

Grande abraço a todos!

Páginas