Instalando o Plone 4 core-dev
Não dá para negar, o Plone vem evoluindo a cada dia desde seu lançamento, a quantidade de *commits* de códigos, correções, traduções, produtos, documentações e pessoas voltadas a melhoria do Plone em todas as áreas tem crescido muito.
Eu já estava há alguns dias tentando brincar com Plone 4, nada muito sério, mas a questão é que tentar rodar as PLIPs sempre me dava erro :( .
A palavra desistir não estava fazendo parte do meu dicionário no momento, mas talvez eu estivesse conformado em fazer e o que mais me frustrava era o fato de ver todos falando de Plone 4 e eu não conseguia instalar, algum tempo olhando para a tela com erro estava me fazendo quase que desistir de instalá-lo, mas eis que alguns dias depois na Simples Consultoria, depois de um post no Google Wave, com o dizer "Plone 4 - Seres Humanos normais conseguem instalar?" o André me animou novamente a fazê-lo funcionar...
O que mais me matou na frase, é que eu estava querendo instalar já com todas as funcionalidades e muito mais, e bem até que seja provado o contrário sou um ser humano normal, sendo assim era melhor eu começar pegando leve, como simplesmente instalar o Plone 4. E eu nem tinha idéia do por que ele funciona para todo mundo, mas não para mim. Mas enfim, eu estava disposto a instalar de qualquer forma e um dos meus erros era tentar usar o Python 2.4 :(
Exatamente! Conforme já mencionado precisamos do Python 2.6 para rodar o Plone 4, talvez eu estivesse preso ao fato de que para projetos Plone 3.x.x o Python2.4 funciona.
Como tenho a versão 2.6 do Python, não terei problemas. Ah, só para registrar, estou usando Ubuntu 9.10, a receita de bolo é, antes de mais nada isolar o ambiente Python2.6 com Virtualenv, isso serve para que não precisemos comprometer o Python do sistema.
O uso do virtualenv é extremamente simples e direto. Basta instalar, executar e ativar.
Se você está usando Ubuntu ou Debian:
sudo apt-get install python-setuptools sudo easy_install virtualenv
Se não está, ou se é uma pessoa rustica como eu que usava Slackware :D
wget http://peak.telecommunity.com/dist/ez_setup.py sudo python2.6 ez_setup.py
Criando o ambiente
Para criar um ambiente basta executar o virtualenv e passar como parâmetro o nome do diretório onde o tal ambiente será instalado, e caso for a versão do Python a ser usada:
virtualenv --python=2.6 meu_python
Ativando o ambiente para usar
Para usar esse ambiente recém-criado é necessário ativá-lo. para isso basta executar o seguinte comando:
source meu_python/bin/activate
Para evitar erros, ainda estando com o ambiente isolado como ativo, execute o comando:
easy_install http://dist.plone.org/thirdparty/PILwoTk-1.1.6.4.tar.gz
Agora com o ambiente Python2.6 isolado, faça o checkout da arvore de desenvolvimento do Plone 4 em http://svn.plone.org/svn/plone/buildouts/plone-coredev/branches/4.0, depois vamos rodar o script bootstrap.py.
python bootstrap.py
E depois do comando, podemos rodar em fim nosso buildout do Plone 4, vamos executar o comando:
./bin/buildout -v -t 30
Este -v -t 30 significa que vamos rodar em modo verboso (quanto mais "v" tivermos, mais verboseo será) e para aguardar até 30 segundos antes de dar Timeout no download de algum pacote. Neste momento convido você a tomar um café, pois vai demorar um bucado, e claro dependendo ainda da sua conexão.
Se você pensou que terminou, bem! Posso dizer que ainda temos uma parte a analisar :D este é um erro que peguei enquanto brincava com o mr.developer e que eventualmente o pessoal do Plone também acabou de passar mas não perceberam. Não sei dizer se ocorre em todas as versões, mas note que o buildout terminou com um relatório que o mr.developer não conseguiu encontrar algumas fontes. Para que possamos saber quem são os pacotes façamos assim:
bin/developer status
O que têm pontos de exclamação antes deles, alguns em particular, Products.CMFQuickInstaller e Products.PlacelessTranslationService não foram instaladas pelo mr.developer no diretório src/. O problema é que o mr.developer não aceita linhas em branco, aparentemente ele imagina que a lista de checkout terminou, e por este motivo começa a dar erro e ele não baixa mais nada que estiver após a linha em branco, o pulo do gato é bem simples.
Aqui editei o arquivos source.cfg e na seção [sources] entre os pacotes z3c.autoinclude e Products.Archetypes tem uma linha em branco e uma linha comentada, simplesmente retirei a linha em branco, podemos deixar o comentário, após rodar novamente, Ah, e agora podemos rodar o buildout com a opção -N ex:
./bin/buildout -vN -t 30
Antes mesmo de ver o resultado final, vamos iniciar o Plone 4 em modo de debug só para garantir que a instalação não tem nenhum problema, então execute:
bin/instance fg
Se tivermos o retorno de (INFO Zope Ready to handle requests) estará tudo ok, sem erro, dê um CTRL+C e suba-o com: bin/instance start
Divirta-se!