Há uns dois anos atrás eu conheci o Shelfari, um site da Amazon onde você pode marcar os livros que você já leu, está lendo ou quer ler, dentre outras coisas. Foi um achado que eu adorei, exceto por um motivo: não tinha livros em português.

Na época eu fiquei com vontade de fazer alguma coisa do tipo, em português, e comecei um esboço. Nessa mesma época foi lançado um site assim aqui no Brasil e eu comecei a usá-lo mas logo perdi o interesse porquê não tinha as coisas que eu queria.

Dei uma parada no projeto por mais de um ano. Voltei ao projeto, na época com Drupal 6, mas muito lentamente. Mexia menos de 2h por mês com isso. Aí, de uns tempos para cá, dei um boost no site. Troquei tudo para Drupal 7, refiz parte do tema, coloquei outras funcionalidade e hoje tenho o prazer de anunciar aqui o Tou Lendo!

Tou lendo! Registre suas leituras!

Como eu expliquei acima, o site é um tracker de livros que você já leu, está lendo ou quer ler. A idéia é simplificar as coisas e não complicar.

O projeto foi feito com Drupal 7, com um tema baseado no Omega, que é responsivo. Ao todo foram utilizados 48 módulos, sendo um deles personalizado para o site.

Uma das coisas mais legais de ter feito nesse site foi a funcionalidade de obtenção de dados do livro. Eu não queria que o usuário ficasse esperando eu adicionar um livro nem queria deixar o usuário digitar qualquer coisa. Também não queria ter que ficar digitando um monte de informação toda vez que eu quisesse adicionar um livro. Assim bolei um módulo que busca as inforamções na internet quando você digita o ISBN de um livro.

Inicialmente eu tinha pensado em fazer o site apenas para mim, mas aí pensei que outras pessoas talvez quisessem utilizar. Assim o projeto está no ar, e qualquer pessoa pode se cadastrar lá. Uma das funcionalidades que adicionei foi um relacionamento de usuários para formar uma mini rede social.

Uma curiosidade é que eu não fiz versão desse site para o Internet Explorer menor que o 9. Como eu disse, fiz o site para mim, e eu não uso esse navegador. No Firefox menor que o 4 também não ficou bom, mas quem usa versões velhas do Firefox? Quem quiser tirar algum proveito vai ter que utilizar o site numa versão mais moderna dos navegadores.

Algumas coisas ainda vão ser adicionadas. Algumas informações que foram obtidas automaticamente precisam ser corrigidas, mas o site já está funcional e eu já estou adicionando minhas listas.

Então, se você é um leitor ávido e quer manter um registro das suas leituras, dá uma passada lá no Tou Lendo!, faça seu cadastro e comece a usar!

Essa semana entreguei mais um site feito com Drupal. Mesmo trabalhando há 8 com Drupal esse foi o meu primeiro site com algum tipo de E-commerce.

O site é o Omicron Fine Art. A proposta do site é comercializar fotografias de alto padrão de fotógrafos renomados.

Site Omicron Fine Art

O projeto

O cliente me procurou querendo um site para poder divulgar e comercializar fotografias de alguns dos mais renomados fotógrafos do Brasil. Esse site é uma galeria virtual e também uma loja onde as pessoas podem comprar, em edições limitadas, fotos dos artistas.

A execução

Como de costume, fiz o site inteiramente com Drupal. A versão escolhida foi a 6, pois é a que eu tenho mais familiaridade e também a com maior número de módulos em versão estável para as funcionalidades necessárias.

O trabalho mais pesado do site foi adaptar o padrão visual desenvolvido pela agência CS Revue ao Drupal. O trabalho foi facilitado pois o diálogo com os designers sempre foi muito aberto e simplificado.

O restante do site é constituído de portfólio dos artistas e seus produtos à venda.

Para fazer o site usei, ao todo, 42 módulos (veja o make file). Tive que fazer uma adaptação do módulo UC Boleto para usar uma biblioteca mais simples do que a BoletoPHP, o que gerou o que, no momento que escrevo, é a versão de desenvolvimento do UC Boleto integrada à biblioteca Boleto escrita pelo Francisco Luz.

Resultado

O resultado já está no ar e pode ser visto em www.omicronfineart.com.br. Ainda são necessários alguns pequenos ajustes de layout que vão aparecendo à medida que o site vai recebendo conteúdo real, mas está praticamente pronto.

AnexoTamanho
Binary Data Drush Make732 bytes

No meu último post falei um pouco dos meus anseios e expectativas para o futuro. Falei também que iria desvirtuar um pouco o conteúdo desse site, mas as coisas mudaram um pouco.

Durante a primeira aula o Fábio Binder, professor e coordenador do curso salientou a importância de se ter um site dedicado ao seus projetos de jogos para que ele já vá servido de portfólio para a pessoa. Assim decidi não mais fazer os relatos nesse blog que você lê agora. Para isso criei o meu blog de GameDev.

O nome não é muito criativo mas é para servir de repositório dos meus projetos então ele leva um nome simples mas focado.

Convido você, se tiver interesse na área, a assinar os feeds desse blog e me acompanhar nessa nova empreitada.

Lendo esse post do Károly Négyesi (não me peça para pronunciar isso pois não faço idéia de como seria) me toquei que também estou fazendo 5 anos de uso e desenvolvimento com Drupal!

Comecei a mexer com o Drupal em 2003/2004 quando ainda trabalhava na Intertexto como programador. Naquela época o Orzenil apresentou o Drupal como uma possível ferramenta para a construção de sites (meu trabalho então) na empresa.

O Drupal estava na sua versão 4.4 (ou 4.2, não lembro direito) e estava deixando a desejar em vários pontos, e acabamos não o usando plenamente. Naquela época ele fazia uso da Xtemplate uma engine nojenta para construção de temas o que tomou muito tempo e tornou as coisas cansativas.

Depois disso, em 2005, criei o Drupal Brasil. Um site que começou pequenino e acabou virando a maior referência de Drupal em língua portuguesa (nada oficial, mas não achei nada que mostre o contrário). Hoje o Drupal Brasil tem mais de 4800 usuários e é uma comunidade ativa e vibrante que faz muito pelo Drupal no Brasil. Estão programadas algumas mudanças que virão, se Deus quiser, ainda esse mês!

Esse ano, como já disse algumas vezes no Twitter, é o ano do Drupal na minha vida. Já ministrei dois treinamentos Mão na Massa, tenho mais um agendado para junhoe, e, também em junho, uma palestra no CMS Brasil. Isso sem contar nos módulos que estou desenvolvendo e nos projetos que fui convidado a participar.

Infelizmente não consegui introduzir o Drupal na empresa (governamental) na qual trabalho por questões políticas (o que, no governo, não é política não é mesmo?). Isso é um ponto que me deixa um pouco chateado mas consigo viver com isso ainda por um tempo.

No fim, como disse o Károly o Drupal me deu muitas coisas e eu espero ter respondido à altura.

Não é (ou não deveria ser) nenhuma novidade que há alguns dias atrás saiu a versão 8 do Internet Explorer.

Não gosto dos produtos da Microsoft, muito menos o Internet Explorer pois, esse último, afeta diretamente o meu trabalho de forma negativa (na maioria daz vezes).

Todo desenvolvedor web que se preze deve saber que o Internet Explorer, especialmente a versão 6, não segue os padrões da web e exige varios hacks para funcionar corretamente.

Não testei ainda a versão 8, mas duvido muito que ela seja muito melhor que a versão 7. Penso assim porque a Microsoft tem o péssimo hábito de demorar demais para melhorar seus produtos. No entanto uma coisa posso afirmar a respeito dessa versão, mesmo sem ter testado: ela é, com certeza, melhor que a versão 6.

Agora temos duas versões à frente do IE 6 o que me desobriga a suportar tal versão. Digo isso sem medo, pois em todo lugar (vide um post que fiz alguns dias atrás e também a página principal do Yahoo! Brasil) há anúncios da nova versão. Isso sem contar o Windows Update.

Assim, entendo eu (ainda que alguns me considerem radical) que, quem está usando ainda o IE 6 escolheu, deliberadamente, usar esse "navegador" ou é obrigado (seja lá pelo que for, não cabe discutir isso aqui).

Assim, não esperem que esse site, ou qualquer outro que eu venha a fazer daqui para a frente, funcione no Internet Explorer 6. Esse navegador está morto, e enterrado! Aleluia!

Desenvolver para Web não é uma das coisas mais triviais do mundo. Existem algumas tarefas que precisamos realizar e que, em algumas circunstâncias, torna o desenvolvimento mais penoso.

Lidar com diferentes navegadores é um desses fatores complicadores. Lidar, especialmente, com o Internet Explorer é pior ainda. Esse navegador (se é que podemos classificá-lo assim) tem vários problemas para se adequar aos padrões da Web (ou Webstandars, como preferir).

Hoje um amigo me mostrou uma imagem, que, a princípio, achei que fosse falsa, mas descobri que não é. A imagem é essa aí abaixo e eu conferi, pouco antes de escrever esse post, que a tal notícia está lá na página do UOL. Veja (se ainda estiver lá)

O que mais me deixa revoltado nisso tudo é se fomentar o uso de um software com falhas de segurança e com problemas de desempenho. Além disso um software que não adere com precisão aos padrões mundiais de desenvolvimento.

É por isso que estamos nessa vida desgraçada de desenvolvedor sofredor!

Desenvolvimento web é muito prazeroso, mas às vezes se torna entediante. Não é a primeira vez que eu escrevo isso, mas é que esse é um sentimento recorrente para mim nos últimos tempos.

Na verdade eu acho que não é só o desenvolvimento web que se torna entediante, mas todo o desenvolvimento. Tudo que você fez repetidas vezes tende a se tornar entediante, e com o desenvolvimento web não poderia ser diferente.

Obviamente que nem sempre temos as mesmas situações. No entanto, algumas tarefas se tornam tão triviais que faz com que não as queiramos fazê-las. Isso torna toda a coisa entediante.

Numa tentativa de fugir um pouco desse tédio cíclico é que estou me aventurando em outras áreas de desenvolvimento, como desenvolvimento de aplicações para desktop e jogos.

Desktop foi o meu primeiro contato com programação, nos idos de 1998 quando comecei a aprender Object Pascal (Delphi). Já o desenvolvimento de jogos é uma coisa que venho querendo aprender desde essa mesma época, mas nunca dediquei muito tempo.

Hoje em dia tenho brincado com Python e PyGTK para fazer aplicações desktop (ainda não tenho nada que posso mostrar, mas está em progresso). Já para jogos, ainda não encontrei nenhum framework/biblioteca que me faça gastar muito tempo estudando-as.

Cheguei a fazer a pré-matrícula numa pós de gradução em desenvolvimento de jogos, mas, por falta de quórum, o curso foi adiado para o próximo semestre.

Acho que procurar outras áreas de desenvolvimento é uma forma de quebrar esse tédio natural além de ativar áreas criativas que nem sempre estimulamos. Quebrar o tédio é bom porque você também ganha em produtividade.

É claro que existem muitas outras formas de quebrar o tédio, mas para mim, novos desafios são, quase sempre, a melhor forma de fugir desse mal que atrapalha tanto.

Trabalhar com a Web é uma das minhas paixões, programar é outra. Atualmente trabalho com desenvolvimento Web, o que, dada a primeira afirmação, deveria me fazer muito feliz, mas não é 100% assim.

Trabalhar com desenvolvimento para Web é muito legal e muitas vezes desafiador, mas nos últimos meses venho me sentindo cada vez mais desmotivado e desinteressado. Explico. Não é que eu tenha deixado de gostar de programar, mas é que cada vez mais tenho feito um trabalho que considero básico e trivial. Isso é desestimulante.

A empresa onde trabalho tem alguns poucos projetos legais mas na sua maioria são coisas banais do ponto de vista de um desenvolvimento desafiador. Não estou dizendo que o trabalho feito aqui seja inútil ou que não tenha relevância para a sociedade, pois não seria verdade afirmar isso. Mas do ponto de vista do desenvolvedor é tudo "mais do mesmo".

Estou em um ponto de saturação. Já não tem mais a mínima graça fazer aplicações CRUD básicas e sem nenhuma problemática realmente inteligente.

O que tem me dado algum prazer é trabalhar com o Drupal, mas como já disse outro tempo atrás, não tenho mais interesse em implementar vários sites. Meu interesse com o Drupal é criar módulos novos, e deixar para que outras pessoas possam criar seus próprios sites. 

Como não posso simplismente sair da empresa (tenho família para sustentar) o jeito é intercalar com o desenvolvimento e documentação do Drupal para ver se a frustração é menor.

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

Páginas