Aprender Zope e Plone… Por onde começar?

Em 2010 eu estava na faculdade, entrando no universo web embalado com Python e os “poderes mágicos” que o web2py  te oferece, pois é realmente fácil desenvolver aplicações web com este framework.

No entanto o mercado de trabalho para profissionais Plone sempre foi muito aquecido principalmente em Brasília, foi quando perguntei certa vez na lista de discussão da Python Brasil: Estudar Zope e Plone… Por onde começar?

Eu encontrei a resposta, não naquela thread onde não houve respostas satisfatórias a não ser sobre o finado tchezope que ainda assim não respondia com clareza: Diante da imensidão de informações à respeito de Plone, com farta e bem escrita documentação, ainda faltava para um iniciante algo que apontasse o caminho.

A Tânia Andrea foi minha mentora inicialmente (gratidão total), fiz também alguns cursos de Plone na época com o Xiru e venho aperfeiçoando meu inglês pois como diz um artigo do Eduardo Shiota que li recentemente:

No mundo da programação, inglês é a língua principal (e, segundo o Github, a segunda é JavaScript).

Se você quer aprender Zope/Plone e não tem um mentor, pode começar lendo esse post até o final 😉

Agora falando em Plone, por onde começar?

Com a instalação, claro! Antes de mais nada você precisa de uma instância do Plone rodando na sua máquina. A prática é a principal forma de assimilar novos conteúdos afinal, quando vamos ao restaurante nós não matamos a fome apenas lendo o cardápio 😉

Faça agora o download do Plone e comece já a instalação!

Bruno! baixei o Plone mas não sei instalar, o que eu faço???

Lembra que te falei do inglês? Então! o Plone tem uma excelente documentação e lá eles explicam direitinho como instalar o Plone. Se o inglês for realmente um problema e você não conseguiu instalar, deixa um comentário no final desse post que depois escrevo um post ensinando como fazer isso. E para que você não fique sem conhecer esse poderoso CMS, tente por uma das versões de demonstração online que a comunidade disponibiliza para você.

Plone instalado, e agora?

Primeiro vamos entender como ele funciona…

A estrutura de conteúdo do Plone é organizada da mesma forma como nós organizamos arquivos em nosso computador. Assim como temos pastas para armazenar músicas, vídeos, fotos, dentre outros, no Plone também fazemos assim.

A primeira coisa que você deve saber é que nele nós temos Tipos de Conteúdo para estruturar nosso portal.

Os tipos mais comuns e que vem por padrão no Plone são: Pasta, Arquivo, Imagem, Link, Página, Notícia, Coleção e Evento. Com eles você deve conseguir fazer a maioria das operações necessárias para organizar seu conteúdo e estruturar seu portal.

Tipos de conteúdo no Plone
Tipos de conteúdo no Plone

Se você é editor de conteúdo e quer aprender mais sobre como trabalhar com conteúdo no Plone, a dupla documentação oficial + prática é um excelente meio de conseguir isso.

Se você está procurando por documentação em português, a UFRGS tem um tutorial de Plone 4 e a Simples Consultoria também disponibiliza gratuitamente para download um excelente manual do Plone para gestores de conteúdo.

Painel de Controle

O Plone possui um painel de controle para que possamos configurar nosso portal.

Uma vez que você esteja logado e seja administrador do site, você verá um atalho no canto superior direito da tela para acessar o Painel de Controle. Nele nós temos diversas opções que vão desde a configuração do nome do nosso portal até configurações de email, log de erros, editor de texto (por padrão o TinyMCE), tema, complementos (também chamados de add-ons ou produtos), dentre outros.

Tela de configuração de um site Plone
Painel de controle do Plone

Além dessas configurações nós podemos ir mais a fundo e ter controle total sobre nosso CMS. Conheçam a ZMI!

ZMI – Zope Management Interface

Antes de explicar o que é a ZMI vamos entender alguns conceitos:

O Plone é um CMS (sistema gerenciador de conteúdo), ele é escrito em Python e roda sob o servidor de aplicação web Zope.

A maior parte das coisas que você irá fazer será no próprio Plone, mas as vezes nós temos que acessar a ZMI para efetuar configurações administrativas de mais baixo nível.

A ZMI nada mais é do que uma interface administrativa que acessamos do próprio navegador. Como manager nós podemos digitar ao final de qualquer url no portal: /manage 

Após inserir login e senha nós somos levados à ZMI. Sua aparência não é das melhores:

Tela da ZMI do Plone
Zope management interface

Mas, como diz o “velho deitado”… Nunca julgue um livro pela capa! A ZMI é extremamente poderosa e vou te mostrar agora, resumidamente, alguns dos principais elementos que precisamos conhecer:

acl_users
As permissões de acesso e gerenciamento de usuários deve ser feita no painel de controle do Plone. No entanto tudo o que é feito lá é armazenado nessa sessão. Poucas vezes precisaremos fazer algo aqui, exceto quando queremos criar usuários administrativos na raiz do Zope ou configurar uma conexão LDAP por exemplo.

portal_quickinstaller
Mais um caso semelhante ao anterior. O gerenciamento de complementos no Plone pode ser feita no painel de controle, no entanto há quem prefira fazer por aqui. Não há nenhum problema, particularmente acho até mais rápido.

portal_skins
É/era a forma mais rápida de criar/customizar templates e arquivos estáticos emergencialmente, pois pode ser feito pelo navegador, ótimo para apagar “incêndios”. No entanto está sendo depreciado e seu uso está sendo desencorajado. O motivo é devido à nova maneira de customizar temas através do Diazo e atualmente a forma mais recomendada para customizar templates é através de um produto customizado utilizando BrowserView para novos templates ou com o z3c.jbot para customizar os existentes do Plone.

portal_catalog
Essa ferramenta trata dos dados que temos no ZODB. Na aba “Catalog” nós podemos ver todos os objetos indexados no banco atualmente, em “Indexes” temos acesso aos metadados indexados no banco, seus tipos e a quantidade de objetos. Na aba “Advanced” Nós podemos atualizar, limpar e reindexar o catálogo de objetos em nosso banco de dados.

portal_setup
O Plone armazena todas as configurações que fazemos no Painel de Controle e em outros lugares em arquivos XML, que podem ser exportados e customizados. Isso é útil para que seu produto plone possa definir configurações padrões no portal assim que é instalado. Essa seção merece um post exclusivo para explorarmos todo seu potencial, mas por hora precisamos apenas saber que ela existe =)

portal_css
Todos os arquivos CSS do Plone são registrados aqui. Isso inclui os arquivos padrões do Plone bem como os que você criou e registrou posteriormente em arquivos XML no seu próprio produto. Cada registro de arquivo CSS tem algumas opções como “Merging allowed” e “Caching allowed”. O Plone pega cada um desses arquivos com essas opções marcadas, junta e faz cache deles automaticamente para você. O objetivo é aumentar a velocidade de carregamento destes arquivos estáticos reduzindo a quantidade de requisições necessárias para download dos mesmos.

A opção “Development mode” se marcada irá desativar o cache e o merge automático desses arquivos. É útil para desenvolvimento e é selecionada automaticamente quando subimos a instância do Plone em “fg” (foreground mode).

portal_javascripts
Assim como o portal_css, essa seção tem o mesmo objetivo, porém para arquivos JavaScript. Ela também tem a opção “Development mode” com mesmo intuito e funcionamento o qual foi explicado anteriormente.

E as outras opções?

Precisaria escrever um livro se fossemos descrever detalhadamente cada opção que a ZMI fornece. No entanto esse não é o foco pois ela serve simplesmente como base de apoio para o funcionamento do Plone. Tudo que fazemos no Plone ou quando estamos desenvolvendo nossos produtos reflete de alguma forma na ZMI. Os itens que mostrei acima são os mais importantes para um entendimento inicial de como as coisas funcionam no Plone.

A aba “Security”

A ZMI te traz grandes poderes, mas também grandes responsabilidades. Muita atenção principalmente com a aba “Security” existente em quase todos os objetos por lá. O Plone tem foco em segurança e esse é um dos motivos que o fazem ter o histórico de confiabilidade que conquistou ao longo dos anos.

Fazer alterações de forma indiscriminada na aba “Security” pode ocasionar graves falhas de segurança no seu portal.

Qual o próximo passo?

O próximo passo depende muito do que você quer ou precisa fazer. O Plone vem com “baterias inclusas”, isso significa que sua instalação padrão tem tudo o que você precisa para por um portal no ar rapidamente. Você pode conferir as principais features do CMS na página oficial.

Mas se você deseja se aventurar no desenvolvimento com Plone, a primeira coisa que precisa fazer é criar um produto Plone e uma vez que ele foi criado, que tal aprender a implementar algumas views!? =)

Gostou do post? tem algo a acrescentar? deixe um comentário aí em baixo!

Até a próxima!

Sê o primeiro

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *