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