O Plone Symposium e porque você devia ir
Eu sempre recomendo que coisas importantes recebam a devida atenção.
É por isso que não me incomodo muito em ver sites descartáveis sendo feitos com tecnologias como ASP, JSP ou PHP naquele modelo antigo que mistura apresentação com lógica. É como na construção de cenários - você não vai usar madeira se isopor e lycra resolverem. Concreto armado, nem pensar. Site descartável é como aqueles escritorios que são erguidos para vebder apartamentos na planta: ele só precisa ficar lá até vender unidades suficientes para começar a obra. Depois disso, vai ser derrubado. Ele nunca vai desenvolver uma goteira ou ganhar mais um piso.
Com sites, a situação é parecida.
Se seu site for só um cartão de visitas feito pra dar seu e-mail de contato ou telefone, tudo bem você montá-lo com qualquer coisa. HTML estático está bom demais.
Por outro lado, se você precisa viver com um site, é bom fazê-lo direito. É importante separar a aparência dele (que pode mudar radicalmente a qualquer tempo) do conteúdo (que tende apenas a aumentar) e de eventuais aplicações que rodem dentro dele (se seu CMS deixar você fazer esse tipo de coisa).
É por conta disso que eu gosto tanto do Plone. Ele traça uma linha muito nitida entre conteúdo e forma e, por conta de como é construído, em torno de um banco de objetos (e não um banco relacional, como a maioria dos concorrentes) ele torna ridiculamente simples fazer aplicações de workflow ou de gestão de conhecimento.
E quando eu digo ridículo, é porque, tipicamente, você só precisa gerar alguns diagramas UML e entregá-los a uma ferramenta que faz o resto.
Uma digressão rápida: no meu livro, guardar documentos dentro de um BD relacional, como faz o SharePoint, é motivo para justa-causa. Guardar ponteiros para um sistema de arquivos é apenas marginalmente melhor. Mas isso é material para outro artigo, não para esse.
E aí eu entro na parte realmente importante: se você tem problemas com sua intranet e gostaria que ela fosse mais manejável, compatível com mais navegadores (diga a verdade - é um porre quando a empresa padroniza em IE 6 porque fez a burrada de crira aplicações importantes que não rodam nem mesmo nas versões posteriores dele, quanto mais em navegadores mais modernos), que pudesse guardar seus documentos do Office (ou do OpenOffice, ou do iWork, se você tem Macs), que tivesse uma busca que funciona (porque você quer encontrar os documentos que colocou lá), que tenha undo sem nunca precisar de um restore do banco de dados (porque todo mundo erra de vez em quando) e que, no geral, envelheça mais graciosamente do que aquelas coisas com que você está acostumado, dê uma olhada no Plone.
Eu sei... Eu sou - e assumo - um fanboy do Plone. O dieblinkenlights é feito em Plone. Por vários anos o Plone pagou - não paga mais - minhas contas. O DBL é feito em Plone porque eu sou muito preguiçoso e não quero ter dores de cabeça com o site. Ele simplesmente funciona e tem sido assim desde que ele existe. E é assim que um CMS tem que ser.
Na semana que vem acontece em São Paulo o Plone Symposium South America. É a primeira edição do evento e vale a pena você ir. Vale a pena, não importando se você usa ou não Plone. Mesmo que você seja um usuário de Joomla, Drupal ou, coitado, de Sharepoint, vale a pena ir. Vale a pena para saber o que o outro CMS, aquele que você não usa, tem para oferecer.
Na pior das hipóteses, você sai com uma lista de features para serem implementados no seu que deve manter seu pessoal de desenvolvimento ocupado por algum tempo.
Mas, se você tiver mesmo sorte, você sai de lá um usuário de Plone.
Seus usuários vão agradecer.
Nota: este artigo também foi publicado no Webinsider, em http://webinsider.uol.com.br/index.php/2009/11/19/em-defesa-do-plone/.
OpenID e Mission Creep
"Mission Creep" é um termo militar usado quando o escopo de uma missão se expande além do originalmente planejado. Foi usado originalmente para descrever a operação de ajuda humanitária à Somália em 1992 que terminou no que poderia ser descrito como uma guerra civil.
OpenID é um padrão de autenticação cross-site que deixa você usar suas credenciais do Google, do Yahoo e de mais um monte de outros para se autenticar em outros sites participantes do padrão (como esse que você está lendo).
Ontem eu resolvi consertar o problema que estava acontecendo com o OpenID - usuários de Yahoo e Google não conseguiam se autenticar para deixar comentários no blog. No início, a coisa parecia simples: impor números de versão no arquivo de configuração do sistema de buildout e deixar que ele resolvesse tudo sozinho.
Não funcionou. O buildout queria instalar duas versões diferentes não importando o que eu dissesse no arquivo de configuração
Instalar os eggs manualmente e fingir que nada aconteceu também não funcionou. O Plone levantava e "não dizia coisa com coisa" (não era capaz de renderizar nenhum template)
A solução foi atualizar um dos componentes do sistema de buildout (o componente responsável pela "receita" de como se faz um Plone), rodar o sistema de buildout e deixá-lo fazer tudo por conta própria.
Dessa vez deu certo, mas eu acabei com uma versão nova do Plone (3.1.5.1) e de todos os outros produtos instalados nele.
Eu tinha um problema com uma biblioteca que era parte de um dos dois sistemas de login do site. Terminei com versões novas de tudo.
Crianças... Nunca façam isso em servidores de produção. Só não foi mais emocionante porque eu tinha bons backups.
O Kanamit Web Framework
Eu sempre gostei de escrever aqui sobre linguagens "exóticas". Já houve um tempo em que Python era exótico. Hoje Python é mainstream. Ruby, idem. Há até suporte a Rails no NetBeans 6 e para Python no Visual Studio. Não dá pra ser muito mais mainstream do que isso.