Introdução
O Plone também conhecido por PZP – Python/Zope/Plone, assim chamado pela formação do ambiente, que envolve a linguagem de programação interpretada Python, o framework para desenvolvimento web Zope e o CMS – Content Management System – Plone.O Plone está entre os CMS com menor índice de falhas de segurança, possui várias funcionalidades técnicas que podem ser comparadas com outros CMS na url http://cmsmatrix.org/matrix/cms-matrix/plone.
Trata-se de uma plataforma para gerenciamento de diversos tipos de conteúdo sem que sejam necessários conhecimentos técnicos em relação a estrutura codificada estrutura a plataforma. Pode-se construir um site completo, com diversas funcionalidades, sem a necessidade da construção de códigos complexos em linguagem de programação.
O Plone abre espaço para customização de sua aparência e estrutura de navegação, além de possibilitar personalização do site através da escolha de cores, imagens e posicionamentos de diversos componentes. Em um nível mais avançado, a utilização do Plone dá conta da implementação de novas funcionalidades por parte de desenvolvedores de software, que podem ser agregadas a estrutura já existente, como AD/LDAP, Samba, e outros recurso.
O que é o Plone?
O Plone, classificado como um Sistema Gerenciador de Conteúdo ou popularmente chamado pelo acrônimo em Inglês CMS – Content Management System, é um software livre e de código aberto.Possui incorporado um sistema de workflow, diretivas de segurança e funções pré-configuradas, metadados para tipos conteúdo e suporte para múltiplos idiomas.
Além disto desenvolvedores e testadores de todo o mundo contribuem com a sua construção e melhoria.
O que pode ser feito com o Plone?
- Criar o site facilmente;
 
- Gerenciar todo o conteúdo do site através de uma interface amigável;
 
- Delegar sub-tarefas em áreas especificas do sítio sem comprometer a escalabilidade e a seguraça;
 
- Criar e organizar conteúdo de forma colaborativa através de um fluxo de trabalho;
 
- Personalização básica do aspecto visual do site através de interface intuitiva;
 
- Divulgar notícias, eventos e links;
 
- Publicar fotos, arquivos e vídeos;
 
- Organizar hierarquicamente seu conteúdo através de menus de navegação;
Quais recursos são oferecidos pelo Plone?
- Criação e manutenção de conteúdo;
 
- Todo gerenciamento de conteúdo realizado através do navegador Web;
 
- Gerenciamento de usuários com níveis hierárquicos;
 
- Fluxo de publicação colaborativa de conteúdo (workflow);
 
- Geração automática de infra-estrutura de navegação;
 
- Mecanismo de busca avançada;
 
- Possibilidade de criação de portais de Internet ou Intranet;
 
- Criação de blog corporativo;
 
- Ferramentas colaborativas para groupware;
 
- Repositório de conteúdos como imagens, documentos e vídeos;
 
- Agendamento e divulgação de eventos;
 
- Galeria de imagens;
 
- Área integrada de notícias;
 
- Segurança e integridade dos dados;
 
- Suporte a internacionalização;
escopo
O escopo de customização está limitado ao seguinte Ambiente:Sistema Operacional Linux
http://distrowatch.com/
Plone-2.5.5-UnifiedInstaller
https://launchpad.net/plone/2.5/2.5.5/+download/Plone-2.5.5-UnifiedInstaller.tgz
Five-1.4.4
http://codespeak.net/z3/five/release/Five-1.4.4.tgz
Imaging-1.1.7 (PIL)
http://effbot.org/downloads/Imaging-1.1.7.tar.gz
reportlab-2.4
http://www.reportlab.com/ftp/reportlab-2.4.tar.gz
- O sistema Operacional poderá ser qualquer um Linux, não será abordado instalação em outro sistema operacional neste artigo; 
 
 
- O Plone 2.5.5 é a ultima revisão estável da versão 2, e possui os seguintes pacotes incorporados e respectivas versões: Plone-2.5.5-UnifiedInstaller/packages/elementtree-1.2.6-20050316.tar.gz
 Plone-2.5.5-UnifiedInstaller/packages/HelperScripts.tgz
 Plone-2.5.5-UnifiedInstaller/packages/Imaging-1.1.6.tar.bz2
 Plone-2.5.5-UnifiedInstaller/packages/jpeg-6b.tar.bz2
 Plone-2.5.5-UnifiedInstaller/packages/libxml2-2.6.30.tar.bz2
 Plone-2.5.5-UnifiedInstaller/packages/libxml2-python-2.6.21.tar.bz2
 Plone-2.5.5-UnifiedInstaller/packages/libxslt-1.1.22.tar.bz2
 Plone-2.5.5-UnifiedInstaller/packages/Plone-2.5.5.tar.bz2
 Plone-2.5.5-UnifiedInstaller/packages/Python-2.4.4.tar.bz2
 Plone-2.5.5-UnifiedInstaller/packages/python-openid-2.0.1.tar.bz2
 Plone-2.5.5-UnifiedInstaller/packages/PyXML-0.8.4.tar.bz2
 Plone-2.5.5-UnifiedInstaller/packages/reportlab_2_0.tar.bz2
 Plone-2.5.5-UnifiedInstaller/packages/setuptools-0.6c7-py2.4.tgz
 Plone-2.5.5-UnifiedInstaller/packages/TextIndexNG-3.1.16.tar.bz2
 Plone-2.5.5-UnifiedInstaller/packages/zlib-1.2.3.tar.bz2
 Plone-2.5.5-UnifiedInstaller/packages/Zope-2.9.8-final.tar.bz2
 
 
- o Five é um produto Zope 2 que atualmente permite integrar tecnologias Zope 3 no Zope 2. Entre outros, ele permite: a utilização da interfaces Zope 3; a configuração baseada ZCML, dos adaptadores, das páginas do browser (incluindo skins, camadas e recursos); automatizar a adição e edição de formulários baseados em esquemas, eventos de objeto; utilizar o estilo i18n para Zope 3 de mensagem catalogadas. 
 
 
- Imaging ou Python Imaging Library (PIL) adiciona capacidades de processamento de imagem para o interpretador Python. Esta biblioteca suporta muitos formatos de arquivo, e fornece um poderoso processamento de imagem e recursos gráficos. 
 
 
- Reportlab é uma biblioteca de software que permite criar documentos diretamente no formato Portable Document Format (PDF), utilizando a linguagem de programação Python. Ele também cria tabelas e gráficos de dados em bitmap e vários formatos vetoriais, além do PDF. O PDF é o padrão mundial para documentos eletrônicos, que suporta alta qualidade de impressão ainda é totalmente portável para todas as plataformas.
Instalação
Considerando que o sistema operacional esteja instalado e configurado corretamente, execute: Debian Like sudo aptitude install build-essential; RedHat Like sudo yum install gcc cpp gcc-c++ make;Instalação do PZP
Baixe e descompacte primeiramente o Plone-2.5.5-UnifiedInstaller.- wget https://launchpad.net/plone/2.5/2.5.5/+download/Plone-2.5.5-UnifiedInstaller.tgz
 
- tar xvzf Plone-2.5.5-UnifiedInstaller.tgz -C /tmp
 
- cd /tmp/Plone-2.5.5-UnifiedInstaller
 
- vim install.sh 
 - #!/bin/sh
 
- #
 
- # Unified Plone installer build script
 
- # Author: Kamal Gill (kamalgill at mac.com)
 
- #
 
- # Note: this script must be run as root
 
- #
 
 
- # Configure Plone installation options
 
- PLONE_HOME=/opt/Plone-2.5.5
 
- LOCAL_HOME=$PLONE_HOME
 
- #
 
- #!/bin/sh
- Agora execute o script de instalação: ./install.sh; ou 
 su ; ./install.sh
 Nesta fase, será compilado um ambiente isolado do sistema operacional, no diretório escolhido para ser instalado, onde todos os componentes necessários para o ambiente, estão contidos.
Instalação do Five
- Baixe o pacote
 wget http://codespeak.net/z3/five/release/Five-1.4.4.tgz
 
- Localize onde o Five está instalado na estrutura; find /tmp/Plone-2.5.5 -name "*Five*" 
 O resultado deverá ser semelhante a este:
 /tmp/Plone-2.5.5/lib/python/Products/Five
 
 
-  e substitua-o pela versão proposta; com estes comandos: sudo rm /tmp/Plone-2.5.5/lib/python/Products/Five; 
 
 sudo tar xvzf Five-1.4.4.tgz -C /tmp/Plone-2.5.5/lib/python/Products;
 
- ou somente
 sudo tar xvzf Five-1.4.4.tgz -C /tmp/Plone-2.5.5/lib/python/Products;
 
Instalação do PIL
- Baixe o pacote wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz 
 
- Descompacte-o: tar xvzf Imaging-1.1.7.tar.gz -C /tmp/ 
 
- Acesse o diretório descompactado: cd /tmp/Imaging-1.1.7/ 
 
- Proceda com o comando abaixo para instalação: /tmp/Plone-2.5.5/Python-2.4.4/bin/python setup.py install 
 
Instalação do Reportlab
- Baixe o pacote
 wget http://www.reportlab.com/ftp/reportlab-2.4.tar.gz
 
- Descompacte-o:
 tar xvzf reportlab-2.4.tar.gz -C /tmp/
 
- Acesse o diretório descompactado:
 cd /tmp/ReportLab_2_4/
 
- Proceda com o comando abaixo para instalação: /tmp/Plone-2.5.5/Python-2.4.4/bin/python setup.py install 
 
Entendendo a Estrutura PZP
ll /tmp/Plone-2.5.5 total 32 -rw-rw---- 1 plone root 710 2011-10-17 21:56 adminPassword.txt drwxrwxr-x 2 plone root 4096 2011-10-17 21:55 bin drwxrwxr-x 2 plone root 4096 2011-10-17 21:55 doc drwxrwxr-x 3 plone root 4096 2011-10-17 21:55 lib drwxrwxr-x 6 plone root 4096 2011-10-17 21:52 Python-2.4.4 drwxr-xr-x 2 root root 4096 2011-10-17 21:56 receipts drwxrwxr-x 10 plone root 4096 2011-10-17 21:55 skel drwxrwxr-x 7 plone root 4096 2011-10-17 21:56 zeocluster- adminPassword.txt – contem usuário e senha para logar na ZMI, Zope Manage Interface;
 
- bin – contem os binários do framework Zope;
 
- doc – contem alguns arquivos da documentação do ZOPE;
 
- lib – contem as bibliotecas utilizadas pelo ambiente;
 
- Python-2.4.4 – contem o python completo;
 
- receipts – contem o relatório de instalação, com as informações: Plone 2.5.5 install completed on Seg Out 17 21:56:06 BRST 2011;
 
- skel – contem o esqueleto modelo para uma instancia zope;
 
- zeocluster – contem as instancias client e server do zope;
- bin – scripts de controle cluster
 
- client1 – configuração do zope client
 
- client2 – configuração do zope client
 
- Products – produtos plone, que são módulos agregadores de funções;
 
- server – configuração do servidor; ZServer - Zope Server Web, ZODB - Zope Object Data Base;
Boas Práticas
As duas instancias zope client, servem para balancear as requisições; e devem ser idênticas para funcionar adequadamente. Uma forma de garantir a igualdade de funcionalidades é compartilha os mesmos módulos agregadores de funções. E a maneira mais fácil de faze-lo é utilizando links simbólicos. cd /tmp/Plone-2.5.5/zeocluster/client1 ln -sf ../Products . cd /tmp/Plone-2.5.5/zeocluster/client2 ln -sf ../Products . Para efeito de organização, principalmente se o ambiente tiver diversos produtos plone, uma boa prática é separar os produtos originais, ou básicos; antes de instalar novos produtos. mv Products plone; mkdir Products; cd Products; ln -s ../plone/* .Conclusão
Agora o ambiente esta pronto para ser iniciado. Basta executar: sudo /tmp/Plone-2.5.5/zeocluster/bin/startcluster.sh Verificar portas ativas: netstat -nlt Se as portas não foram alteradas, 8100 escultará zope server, 8080 zope client1 e 8081 zope client2. Acessando a ZMI No navegador digite a url: http://localhost:8080/manage Reiniciar: sudo /tmp/Plone-2.5.5/zeocluster/bin/restartcluster.sh Encerrar: sudo /tmp/Plone-2.5.5/zeocluster/bin/restartcluster.sh Para instalar novos produtos plone, instale-os no diretório/tmp/Plone-2.5.5/zeocluster/Products/, que será compartilhado entre as instâncias que seguirem as boas práticas sitadas neste tutorial. Para que se tenha efeito é sempre necessário reiniciar o ambiente.   Desvantagem
O PZP é um excelente CMS, a única desvantagem é manter a infraestrutura, que deve conter um servidor de aplicação PZP como mostrado neste artigo, e obrigatóriamente um servidor de Cache, em alguns casos acrescenta-se um servidor Web.Atualizações
22/10/2011; 12/12/2011; 27/02/2012; 31/08/2012
Itens Relacionados
Instalação Plone 2.5.5 com módulos customizados utilizando easy_install 
Referências
http://paginas.ufrgs.br/tutorial/dicas-iniciais/sobre-o-plone  http://plone.org  http://svn.plone.org  http://cmsmatrix.org/matrix/cms-matrix/plone  http://codespeak.net/z3/five/  http://www.pythonware.com/products/pil/  http://www.reportlab.com/docs/reportlab-userguide.pdf  Versão PDF
Comentários