O Livro do Plone
Aviso: Esta é a visão de impressão com todas as páginas do Manual de Referência em uma página. A versão paginada está disponível aqui, se você preferir esta.
1. Introdução
O que é o Plone?
Plone é um Sistema Gerenciador de Conteúdo livre e de código aberto. Seu objetivo é fornecer valor a cada nível de uma organização. Ele vem com um sistema de workflow, segurança e funções pré-configuradas, um conjunto de tipos de conteúdo e suporte a várias línguas. Há vários desenvolvedores, escritores, e pessoas que testam o Plone de todas as partes do mundo, contribuindo todos os dias com o Plone. O Plone é baseado em um Framework de Gerenciamento de Conteúdo.
Homepage: http://www.plone.org/ O que é um Sistema de Gerenciamento de Conteúdo? Achar uma definição para o que é um Sistema de Gerenciamento de Conteúdo (CMS parece ser mais difícil que achar alguém disposto a vender a você um. Simplesmente ter um CMS permite você gerenciar conteúdo geralmente para um Website. Os principais objetivos do CMS são permitir fácil criação, publicação e retorno de conteúdo que se ajuste às necessidades requeridas.
- “O problema de gerenciar o conteúdo é que isto é banal ou impossível.”
Citação retirada de: OSCOM, 2002 Uma linha comun de divisão entre diferentes CMS's é a integração para com a Web e por isto podemos ter dois tipos de sistemas: um sistema baseado na Web, e um sistema que não se baseia na Web. Plone é um sistema open source web e free baseado em CMS.
Por que usar um sistema Web baseado em CMS?
Crédito: Marco Federighi
A maneira mais fácil de entender um CMS como o Plone é compará-lo com uma ferramenta padrão para desenvolvimento de sites para Web, como Macromedia Dreamweaver. Em ambos os casos as páginas podem ser produzidas em um computador remoto, e submetidas a aprovação e publicação. Há, entretanto, quatro diferenças chave:
- qualquer usuário com a devida permissão pode desenvolver páginas de qualquer lugar, usando um browser, não precisando de nenhum software específico. Um CMS é mais fácil de usar do que o Dreamweaver e FTP, portanto requer pouco treinamento, e muito mais tarefas podem ser alocadas a diferentes equipes. Em consequência, um CMS permite que mais usuários possam criar e editar conteúdos na Web. Também, menos treinamento e menor habilidade resulta em produção mais baixa e em custos de manutenção.
- páginas são desenvolvidas através da digitação de textos e a atualização de arquivos dentro de templates pré-desenvolvidos do site. Isto resulta em um estilo corporativo mais consistente. Assim, até mesmo o número de pessoas produzindo páginas para publicação direta pode ser grande, a consistência de estilo, e o mais importante, a consistência na estrutura do conteúdo estão garantidas.
- o controle do workflow em um CMS pode ser muito bem separado, como o trabalho do Webmaster sendo efetivamente desenvolvido por muitas pessoas que trabalham em diferentes lugares sem que se tenha problemas com a segurança e com padrões de qualidade.
- versões diferentes de um documento são automaticamente salvas, resultando em segmentos naturais de revisão quando necessárias. Estes benefícios dos Sistemas de Gerenciamento de Conteúdo são óbviamente mais significativos para empresas grandes, ou projetos com grande colaboração, do que para pequenos negócios ou empresas.
O que é um Framework de Gerenciamento de Conteúdo?
O Framework de Gerenciamento de Conteúdo (CMF) é uma aplicação que contém uma série de ferramentas para o Zope. Estas ferramentas formam um framework que oferecem muitos dos principais serviços que um Sistema de Gerenciamento de Conteúdo precisa. O CMF pode ser usado como um produto independente, ou no caso do Plone, construído no topo. O CMF oferece ferramentas essenciais como workflow, personalização e catalogação. O desenvolvimento do CMF é comandado pela Zope Corporation e é um produto de código aberto que se beneficia de uma união de vários desenvolvedores de todo o mundo.
Homepage: cmf.zope.org
O que é o Zope?
Zope é um servidor de aplicação para web de código aberto, escrito em Phyton. É um sistema escalável, estável, poderoso que inclui um banco de dados orientado a objetos, um servidor web e vários modelos de linguagem. Zope é desenvolvido e suportado pela Zope Corporation, mas também por muitos desenvolvedores de todo o mundo.
Homepage: http://www.zope.org/
Por que usar Zope e Plone?
Crédito: Marco Federighi
Zope e Plone são Softwares de Código Aberto (Open Source Software (OSS)), isto é, o código fonte está disponível para qualquer um de graça. A maneira como as pessoas que desenvolvem o Zope e o Plone ganham dinheiro está em prestar serviços de consultoria, principalmente para customização e uso em empresas. Outros exemplos de CMSes de código aberto são Midgard, Bitflux, OpenCMS, e Wyona.
CMSes proprietários e de código aberto não tem tecnicamente muita diferença. Em ambos os casos encontramos produtos muito bons, medíocres e pobres; a qualidade da documentação e o suporte também varia muito. A principal diferença é que os CMSes de código aberto são desenvolvidos por empresas menores que os proprietários. Isto faz levantar dúvidas sobre a continuidade do produto destas empresas, e do suporte que eles podem oferecer. No meu ponto de vista, entretanto a diferença é mais aparente que real. Desenvolvedores de código aberto são menores e assim mais vulneráveis, digo, a perda de um cliente ou a saída de uma peça-chave; desenvolvedores de sistemas proprietários são grandes, mas são afetados por compras entre si (exemplo Allaire, pela Macromedia) e pelos caprichos do mercado (exemplo Broadvision). Tomando em consideração o que foi dito, AMBOS os tipos de desenvolvedores podem facilmente desaparecer. A diferença é que, com um produto de código aberto, o mesmo fica disponível para o usuário e há a possibilidade de manutenção, customização e desenvolvimento, características as quais não estão disponíveis para usuários de sistemas proprietários, sem que haja interferência dos desenvolvedores do mesmo. Esta é a principal razão para usar um produto de código aberto.
Por que usar Plone e Zope ao invés de outros CMS de código aberto? Plone é baseado em Zope, que é um framework para construir softwares de gerenciamento de conteúdo. O Zope é um sistema operacional para aplicações para Web, um deles é o CMF (Framework de Gerenciamento de Conteúdo - Content Management Framework), uma aplicação que facilita a construção de CMSes. O Plone é um CMS, baseado em CMF, que roda no Zope, mas com seus próprios conjuntos de templates e tipos de arquivos. No nosso ponto de vista ("nosso" significa na visão da CMS Working Party set up by the Web e do Internet Steering Group, WISG), o Zope é significativamente melhor que outros produtos concorrentes, pelas seguintes razões:
- O Zope é orientado a objetos, sendo que tudo o que aparecer em um site Zope (páginas web, imagens, links, arquivos) são um objeto e está contido em um banco de dados orientado a objetos. A base de dados é hierárquica, não relacional, e é particularmente apropriada para estruturas de arquivos hierárquicos. O pessoal de tecnologia pensam em bases de dados em termos de coleções de tabelas de linhas e colunas, relacionados a uma chave-primária. Esta é a diferença, e reflete muito melhor a estrutura de um sistema de arquivos comum, com objetos dentro de objetos.
- A base de dados do Zope contém todas as versões antigas de um objeto: isto é particularmente útil para desfazer alterações, para o controle de versões de documentos colaborativos, e para itens que precisem de revisão.
- O Zope contém várias ferramentas que são adequadas a empresas grandes e trabalhos colaborativos, nas quais serão descritas mais tarde no manual. Um exemplo: buscas pré-definidas ao banco, baseadas em um flexível critério de busca, que mostra automaticamente todos os objetos satisfazendo certas condições especificadas pelo usuário.
- O Zope pode ser usado em todas as plataformas: Unix, Linux, Mac OS, e em todas as versões de Windows (98, 2000, XP, NT). Esta não é a realidade da maioria dos outros CMS, de código aberto e proprietário.
- O Zope é um ambiente de desenvolvimento bem amigável. A possibilidade de criar uma cópia personalizada de um script clicando um botão, enquanto mantém uma versão padrão na sua localização original, é o melhor sistema de segurança que eu já vi.
- No Zope é fácil desenvolver documentos XML estruturados, com workflow lincado a uma estrutura de documento. Esta é uma característica essencial para os sistemas administrativos em grandes organizações, e oferece tanto consistência corporativa no estilo quanto na estrutura de documentos e um aerodinâmico fluxo de trabalho.
- Concluindo, o Zope foi criado para uso em grandes empresas,
com as seguintes características: possibilidade de trabalho com vários
contribuidores em projetos colaborativos, e os mesmos localizados em
diferentes lugares e usando diferentes plataformas; exigências
organizacionais fortes para flexibilidade e segurança, para definir
papéis locais com diferentes permissões para visualização, escrita,
edição e aprovação de diferentes partes de projetos grandes;
escalabilidade para vários objetos e servidores.
A sétima, diferença cultural entre a equipe do Zope e seus competidores é crucial para as grandes organizações. Um dos clientes do Zope é a US Navy, que usa o Zope para o gerenciamento de projetos R&D: um setor público grande da organização com um faro aguçado para flexibilidade e segurança. O mesmo poderia ser dito da maioria das corporações, públicas bem como privadas.
O Plone acrescenta ao Zope duas características muito úteis, que são especialmente importantes para os objetivos dos Engineering Sciences web site:
- Um bom e estruturado framework para navegação, baseado em pastas e visualização de seu conteúdo ao invés de links em documentos html (que tem que ser atualizados) e adicionados por navigational shortcuts tais como Bulletin - Avisos (que mostram objetos criados ou modificados nos últimos dias, eliminando assim a necessidade de se navegar pelo site para achá-los).
- Uma ferramenta simples para a criação de documentos com estrutura complexa tais como formulários PIQ e UPC, com diferentes partes de cada documento visível para diferentes espectadores e um atalho de customização para aprovação.
A primeira característica faz do site baseado em Plone ser fácil e rápido de usar; a segunda faz ele ser útil para administração, ao contrário da maioria dos CMSes que são concebidos primeiramente para publicação ao invés de processamento de conteúdo.
O que é o Python?
Python é uma poderosa linguagem de programação orientada a objeto, interpretada e interativa. Python possui código aberto e pode rodar em quase todas as plataformas ou sistemas. Zope é escrito principalmente em Python, com algumas melhorias em C.
- python, (Gr. Myth. Uma enorme serpente que se esconde na caverna do Monte Parnassus e foi morta por Apollo) 1. qualquer um dos tipos de cobras grandes e não venenosas da Ásia, África e Austrália que sufocam até matarem suas presas. 2. popularmente, qualquer cobra grande que esmaga sua presa. 3. linguagem muito impressionante algum dia esmagará as linguagens $ além de outras também conhecidas como VHLL ;-) *
Citação: "O que é o Python" do python.org
Homepage: http://www.python.org/
Para quem está direcionado este livro?
Este livro está direcionado às pessoas de diferentes cargos incluindo:
- Os administradores de sistema
- O gerenciador de conteúdo do site (que supervisiona a adição e publicação de conteúdo)
- O membro do site (a pessoa que junta e pode adicionar conteúdo)
- O desenvolvedor do site (pessoa que escreve o HTML, ou o código)
Qual a versão do Plone este livro aborda?
Este livro aborda a última publicação do Plone que está disponível no Plone.org. Ele não aborda a versão CVS ou versões mais antigas. Também aborda um “site padrão” como definida pela política de padronização. Enquanto que outras versões tais como o “site privado” podem existir, este não estão abordados aqui, entretanto a maioria dos conceitos são os mesmos.
Feedback
Se você tem algo a dizer adoraremos ouvi-lo. A melhor coisa que você poderia fazer é enviar-nos um e-mail para a mailling list de documentação e alguém irá lhe enviar uma resposta.
2. Como Instalar o Plone
Como Instalar o Plone
Exigências
Plone pode ser instalado em qualquer plataforma que suportar o Zope: Windows, Mac OSX, Linux, a maioria dos Unixes e Solaris. No Windows 2000 é necessário ter permissões de administrador para instalar o Software.
Servidor
Um computador com alta qualidade de hardware obviamente fará com que o Plone tenha uma melhor performance. Requer máquina e memória. Em geral, para desenvolver ou servir sites grandes você não deve ter uma máquina com menos de 1.5Ghz e 1GB de RAM. Mas é recomendado 600 e 64 MB de RAM. Para maiores informações sobre a performance, veja o capítulo 9, "Como Otimizar o Plone".
Para realizar a instalação básica do Plone é necessário 50 MB de espaço em disco. Se você já tem instalações do Zope ou do Python, então esta instalação vai ser bem reduzida. Você também deve tomar cuidado com o banco de dados objeto do Plone que pode crescer muito dependendo da quantidade de dados que você armazena.
Cliente
O Plone necessita somente de um browser que possa acessar o servidor. Se os usuários quiserem se logar, os cookies devem estar habilitados. JavaScript não é necessário mas oferecerá uma experiência mais rica para o usuário.
Dicas de browsers para o Plone 1.0:
- Internet Explorer 5.5 ou superiores (6.0 ou superiores são recomendados)
- Netscape 7.0 ou superiores
- Mozilla 1.0 ou superiores (1.4 ou superiores são recomendados)
- Opera 7.0 ou superiores (7.20 ou superiores são recomendados)
- Konqueror 3.0 ou superiores (Há algumas inconscistências, mas você terá que conviver com elas até que atualizem-no conforme as mudanças do código base KHTML do Safari)
- Safari 1.1 e superiores
Plone também é completamente funcional nos seguintes browsers, mas pode ser possível que o layout original do Plone se pareça um pouco diferente:
- Netscape 4.7 ou superiores
- Internet Explorer 5.0
- Internet Explorer 4.0 (não foi muito testado, mas parece trabalhar bem)
- Konqueror 2.x
- Lynx (texto puro)
- w3m (texto puro)
- AWeb
- links (texto puro, com gráficos opcionais)
- Qualquer browser que reconheça um conjunto básico de HTML e formulários de entrada + cookies (incluindo a maioria dos browsers dos PDA´s)
Download do Plone
A última versão do Plone está sempre disponível em http://www.plone.org/download. Em breve deve estar disponível também em CD.
Instalação usando o Windows Installer
Créditos: Steve Rauch ajudou com screenshots e a documentação.
O Instalador
O Windows Installer mecaniza a instalação do Plone no Windows. As versões do Windows 9x, ME, NT 3.51+, 2000 e XP foram testadas, mas podem funcionar em outras. É recomendado que você tenha permissões de administrador no computador se quiser fazer a instalação. Se você já tem o Zope ou o Python instalados, você pode querer instalar o fonte separadamente para economizar espaço em disco. A instalação inclui pacotes extras e opções, um banco de dados pré-carregado e outras coisas.
O instalador do Plone para Windows pode ser baixado do site Plone.org, na sessão downloads. Depois de baixar o instalador, dê um clique duplo nele para começar a instalação. Deve ser apresentada a seguinte tela:
O instalador segue os passos comuns para instalação de softwares, siga as opções dos botões "Next" ou "Cancel". Não há necessidade de discutir todos os passos, a maioria deles são auto-explicáveis. Quando você chegar à tela "Enter a password" (Entre com uma Senha) (mostrada abaixo), você deve digitar uma senha. Este passo registrará uma senha para o usuário "admin". Você vai precisar desta senha mais tarde, então tome nota dela. Se você perder esta senha você pode colocar uma nova senha por meio do Plone Controller (Controlador do Plone).
A instalação leva aproximadadmente 3 minutos, dependendo da velocidade do seu computador. São realizadas algumas tarefas no final da instalação, tais como a compilação de todos os arquivos do Python. Quando a instalação terminar, o Plone não é iniciado automaticamente. Se você deixar a caixa "Launch Plone Controller" (Rodar o Controlador do Plone) marcada o Controlador do Plone vai ser executado possibilitando você iniciar o Plone.
O Controlador do Plone
O Plone Controller permite que você administre facilmente a instância do Plone de um GUI e dá o controle sobre "coisas" como os arquivos de log, portas e como o Plone pode ser iniciado. Para iniciar o Controlador do Plone, selecione a opção “Plone” do menu Iniciar.
O controlador começa com a página "Control" que faz com que você inicie ou pare facilmente sua instância do Plone. Para os impacientes, clique em "Start" para iniciar seu Plone.
Esta tela mostra se o Plone está iniciado ou parado, através dos botões que estão em evidência e pela mensagem no “Current Status” (Status Atual). Se o Plone não iniciar automaticamente você terá que clicar em "Start" para iniciá-lo. Em alguns computadores mais lentos pode levar algum tempo até que o Plone seja iniciado, especialmente pela primeira vez, isto faz com que o Controlador se conecte e pense que o Plone não iniciou. Clicando em "Start" novamente fará com que isto seja corrigido. Este bug será corrigido nas próximas versões.
Quando o Plone iniciar você pode acessar o site Plone clicando no botão "View Plone" (Visualizar o Plone). Isto vai iniciar um browser e será acessado o site Plone. O botão "Manage Plone" (Gerenciador do Plone) leva você a interface de gerenciamento do seu Zope se você tem definida uma porta "HTTP Manage" (Gerenciadora de HTTP), por default esta porta é a 8080.
Serviços
A aba "Services" (Serviços) permite que você especifique as portas que o Plone escuta para conexões como HTTP, FTP e WebDAV. Se você deixar a porta em branco então aquela porta não estará disponível. Certifique-se que nenhum outro servidor está "escutando" na mesma porta do Plone, servidores tais como IIS, Apache, PWS podem estar acessando portas similares.
- HTTP: especifica a porta que o usuário vai acessar o Plone, a porta default é a 80. Embora esta porta não seja necessária, sem ela você não será capaz de acessar o Plone com um browser. Se esta porta estiver habilitada e o Plone estiver rodando, o botão "View Plone" será habilitado na aba Control (Controle).
- HTTP Manage: especifica a porta de acesso ao Plone como gerenciador, a porta default é a 8080. Esta porta dá a você acesso a interface de gerenciamento do Zope, à raiz do Zope. Se esta porta estiver habilitada e o Plone estiver rodando, o botão "Manage Plone" estará habilitado na aba Control.
- FTP: especifica a porta para acessar o Plone via FTP, a porta default é a 21.
- WebDAV: especifica a porta para acessar o Plone via WebDAV, a porta default é a 8081.
Avançado
A janela "Advanced" (Avançado) deixa você especificar algumas das muitas opções avançadas. Se você não tiver certeza a que estes itens se referem, por favor, deixe os valores-padrões. A opção mais interessante é a "Service Daemon". Ela deixa você especificar como o Plone rodará e mostra os usos dos serviços no Windows.
Se você estiver trabalhando com Windows NT, 2000 ou XP você pode
executar o Plone como um serviço (na opção "Windows NT/2000"). Isto
deixará o Plone rodando em background, nenhum ícone ficará visível e o
Plone pode ser acessado como um serviço. Como um serviço o botão
"Restart" aparecerá na ZMI assim um usuário autorizado pode escolher
restartar o Plone através da Web. Uma outra vantagem de rodar o Plone
como serviço é que ele pode ser iniciado e parado pelo Management
Console (Gerenciador do Console) (dentro do Painel de Controle do
Windows) ou através da linha de comando usando os comandos net start Plone e net stop Plone.
Se você estiver trabalhando com Windows 95, 98 ou ME, você deve executar o Plone usando a opção "Windows 95/98". Isto executa o Plone como um processo com um ícone que é mostrado no system stray. Você pode ainda controlar o Plone do Controlador ou do system tray. Windows NT, 2000 ou XP podem usar esta opção se eles quiserem.
Estas opções são selecionadas para você automaticamente durante a instalação.
Rodando o Zope manualmente
Se houver problemas para rodar o Plone com o Controlador você pode também iniciar o Plone da linha de comando. Mais detalhes sobre este assunto estão disponíveis na documentação do Zope. O comando que o Controlador do Plone chama é o seguinte:
c:\Arquivos de Programas\Plone\Python\python.exe
c:\Program Files\Plone\Zope\z2.py
-X -w80 -w8080 -f21
INSTANCE_HOME=c:\Program Files\Plone\Data
HTTP_MANAGE=8080
- As linhas foram quebradas para lê-las facilmente, este comando é só uma linha.
- Este comando supõe que sua instalação do Plone esteja em c:\Arquivos de Programas\Plone
Conteúdo do Instalador do Windows
Além do Plone, os componentes instalados na instalação do Windows são:
- CMF 1.3:
- O CMF é requerido pelo Plone. A última versão pode ser encontrada em cmf.zope.org
- Zope 2.6.1:
- Esta é a última versão do Zope e pode ser encontrada em zope.org
- Python 2.1.3:
- Python 2.1.3 requer Zope 2.6.0. Python pode ser encontrado em http://www.python.org/
- Extensões Win 32 do Python:
- As extensões Win32 feitas por Mark Hammond oferecem acesso às API's do Windows e às funções. As extensões do Win32 podem ser encontradas em Starship
- PIL 1.1.3:
- A Biblioteca de Imagens do Python (Python Images Library) permite que você manipule e altere imagens do Python. A PIL pode ser encontrada em pythonware.com - PIL é usada pelo CMFPhoto para redimensionar imagens.
- ReportLab 1.15:
- ReportLab fornece interface para PDF's. Ele permite que você crie PDF's através do Python. ReportLab pode ser encontrado em reportlab.com
- Zope Controller 1.0:
- O Zope Controller é uma aplicação GUI para Windows que provê acesso fácil para iniciar, parar e configurar o Zope. A versão do Plone é derivada do Zope Controller
- CMF Collector 0.9b:
- O CMF Collector é um sistema de rastreamento de bug’s para o Plone. CMF Collector foi desenvolvido pela Zope Corp. e pode ser encontrado no cvs.zope.org
- CMF Wiki 0.1:
- O CMF Wiki 0.1 é uma implementação do sistema Wiki para o Plone. Foi desenvolvido pela Zope Corp. e pode ser encontrado em cvs.zope.org
- CMF Quick Installer:
- CMF Quick Installer permite que você instale rapidamente novos produtos do Zope facilmente, selecionando os produtos apropriados na Interface de Gerenciamento do Zope (Zope Management Interface). O instalador pode ser encontrado em SourceForge Collective project".
- CMF Photo:
- CMF Photo é um produto que permite que você visualize fotografias através do Plone e permite que sejam dinamicamente redimensionadas. CMF Photo pode ser encontrado em SourceForge Collective project"
- CMF Forum:
- CMF Forum permite que você faça fóruns para que os usuários possam adicionar e editar comentários. O CMF Forum pode ser encontrado em SourceForge Collective project"
- External Editor 0.6 (Aplicação Cliente e Servidor):
- External Editor é um programa que permite que você edite objetos e conteúdos do Plone localmente. Pode ser encontrado no "zope.org" em: http://www.zope.org/Members/Caseman/ExternalEditor
- Zope Book 2.5:
- Localizer:
- Localizer permite que você traduza o Plone em diferentes línguas.
- Translation Service and Translations:
- O Translation Service (Serviço de Tradução) permite que traduções sejam feitas nos Zope Page Templates e Plone. Permite integração entre o Plone e o Localizer. O Translation Service pode ser encontrado aqui.
- Há várias traduções para o Plone mantidas no SourceForge Plone i18n project - o instalador instala todos os arquivos de tradução que há, embora algumas das traduções ainda não estejam completas.
Um banco de dados com uma instância do Plone é instalado, a menos que o banco de dados já exista naquele diretório (caso exista, o banco de dados não é instalado). Este banco de dados possui nele instalados uma instância do Plone (com CMF Collector e CMF Wiki instalados), um Access Rule (Funções de Acesso), um Site Root (Raiz do Site) e um External Editor (Editor Extenos).
Instalando o Plone usando o Mac OSX Installer
Crédito: Jim Roepcke ajudou com os screenshots e a documentação.
O Instalador
O Mac OS X installer facilita a instalação do Plone no Mac OS X. Mac OS X 10.2.3 e superiores foram testados e são suportados. É recomendado que você tenha permissões de administrador no computador para instalá-lo. Se você já tem o Zope ou Python instalados, você pode querer instalar o fonte separadamente para economizar mais espaço em disco. A instalação inclui pacotes extras e opções, um banco de dados pré-carregado e outras coisas.
O instalador do Plone para Mac OS X pode ser baixado do site Plone.org, na sessão de downloads. Depois que você fez o download do instalador, dê um clique duplo nele para descompactá-lo, e um clique duplo no pacote do instalador descompactado para começar a instalação. Você deve ver a seguinte tela:
Digite a senha da sua conta do Mac OS X para autorizar a instalação. Sua conta deve ter privilégios de Administrador para fazer isto. Se sua conta não tem tais privilégios, desloque-se e logue novamente com uma conta que tenha estes privilégios, rode o instalador novamente. (Você pode mover o pacote do instalador para /Users/Shared antes de você se deslogar assim pode acessá-lo de outras contas). Depois que a instalação for autorizada, você verá a seguinte tela:
O instalador passa por passos comuns para a instalação do software, siga as opções pelos botões "Continue" ou "Go Back". Não há necessidade de discutir todos os passos, a maioria são auto explicáveis. Entretanto, quando for apresentada a tela com a escolha de volumes para a instalação do Plone, você deve escolher a partição na qual o Mac OS X está instalado.
A instalação leva mais ou menos 3 minutos, dependendo da velocidade do seu computador. Quando a instalação terminar, o Plone não iniciará por default. O arquivo ReadMe.rtf em /Applications/Plone contém algumas informações úties sobre como rodar e gerenciar sua instalação do Plone, incluindo como iniciar o Plone. Para facilitar o comando está abaixo:
sudo /Library/StartupItems/Plone/Plone start
Conteúdos do Mac OS X Installer
Além do Plone, os componentes instalados na instalação Mac OS X são:
- CMF 1.3:
- O CMF é requerido pelo Plone. A última versão pode ser encontrada em cmf.zope.org
- Zope 2.6.1:
- Esta é a última versão do Zope e pode ser encontrada em zope.org
- Python 2.1.3:
- Python 2.1.3 requer Zope 2.6.0. Python pode ser encontrado em http://www.python.org/
- PIL 1.1.3:
- A Biblioteca de Imagens do Python (Python Images Library) permite que você manipule e altere imagens do Python. A PIL pode ser encontrada em pythonware.com - PIL é usada pelo CMFPhoto para redimensionar imagens.
- ReportLab 1.15:
- ReportLab fornece interface para PDF's. Ele permite que você crie PDF's através do Python. ReportLab pode ser encontrado em reportlab.com
- CMF Collector 0.9b:
- O CMF Collector é um sistema de rastreamento de bug’s para o Plone. CMF Collector foi desenvolvido pela Zope Corp. e pode ser encontrado no cvs.zope.org
- CMF Wiki 0.1:
- O CMF Wiki 0.1 é uma implementação do sistema Wiki para o Plone. Foi desenvolvido pela Zope Corp. e pode ser encontrado em cvs.zope.org
- CMF Quick Installer:
- CMF Quick Installer permite que você instale rapidamente novos produtos do Zope facilmente, selecionando os produtos apropriados na Interface de Gerenciamento do Zope (Zope Management Interface). O instalador pode ser encontrado em SourceForge Collective project".
- CMF Photo:
- CMF Photo é um produto que permite que você visualize fotografias através do Plone e permite que sejam dinamicamente redimensionadas. CMF Photo pode ser encontrado em SourceForge Collective project"
- CMF Forum:
- CMF Forum permite que você faça fóruns para que os usuários possam adicionar e editar comentários. O CMF Forum pode ser encontrado em SourceForge Collective project"
- External Editor 0.6 (Aplicação Cliente e Servidor):
- External Editor é um programa que permite que você edite objetos e conteúdos do Plone localmente. Pode ser encontrado no "zope.org" em: http://www.zope.org/Members/Caseman/ExternalEditor
- Zope Book 2.5:
- Localizer:
- Localizer permite que você traduza o Plone em diferentes línguas.
- Translation Service and Translations:
- O Translation Service (Serviço de Tradução) permite que traduções sejam feitas nos Zope Page Templates e Plone. Permite integração entre o Plone e o Localizer. O Translation Service pode ser encontrado aqui.
- Há várias traduções para o Plone mantidas no SourceForge Plone i18n project - o instalador instala todos os arquivos de tradução que há, embora algumas das traduções ainda não estejam completas.
Um banco de dados com uma instância do Plone é instalado, a menos que o banco de dados já exista naquele diretório (caso exista, o banco de dados não é instalado). Este banco de dados possui nele instalados uma instância do Plone (com CMF Collector e CMF Wiki instalados), um Access Rule (Funções de Acesso), um Site Root (Raiz do Site) e um External Editor (Editor Externo).
Instalando no Linux
Debian
O Plone é um pacote padrão no Debian (em teste e instável). Assim,
os usuários do Debian podem instalar o Plone usando simplesmente o
comando apt-get install plone.
Red Hat/Mandrake/Suse
Os RPMs estão disponíveis para as distribuições Red Hat, Mandrake e Suse. Os últimos pacotes podem ser baixados em SourceForge.
Fique atento com as dependências dos pacotes. Se você usa-os com outra versão da distribuição pode ter problemas.
Instalando os fontes
Se você estiver familiarizado com as instalações dos produtos pela distribuição dos fontes, este pode ser um maravilhoso método de instalação do Plone. Entretanto a instalação supõe que você esteja familiarizado com as ferramentas tais como o tar, se você não está as outras opções de instalação devem ser escolhidas.
Exigências
- Zope 2.6.2 ou acima disponível em zope.org
- CMF 1.3.2 ou acima disponível em cmf.zope.org
Obtendo o último Plone
Está disponível como um tar ball no plone.org. Para extrair o tar ball, execute os seguintes comandos[1]:
gunzip CMFPlone1.0.tar.gz
tar -xvf CMFPlone1.0.tar
O tar bal atual do Plone contém vários produtos do Plone: ActivePak, DCWorkflow e Formulator. Você pode obtê-los do CVS do Sourceforge e com estes outros produtos rodando os seguintes comandos[2]:
cvs -d:pserver:anonymous@cvs.plone.sourceforge.net:/cvsroot/plone login
cvs -d:pserver:anonymous@cvs.plone.sourceforge.net:/cvsroot/plone co -r Plone-1_0 CMFPlone
cvs -d:pserver:anonymous@cvs.formulator.sourceforge.net:/cvsroot/formulator co Formulator
cvs -d:pserver:anonymous@cvs.zope.org:/cvs-repository login
cvs -d:pserver:anonymous@cvs.zope.org:/cvs-repository checkout Products/DCWorkflow
Instalação
- Instalar o Zope, siga as instruções contidas no
INSTALL.txtpara completar. - Instalar o CMF, siga as instruções contidas no
INSTALL.txtpara completar. - Copie os diretórios CMFPlone, ActivePak, DCWorkflow e
Formulator dentro do diretório Produtos da sua instância do Plone.
Informações podem também ser encontradas no arquivo
INSTALL.txtdentro do diretório CMFPlone. - Reinicie o Zope. Aqui depende de como você instalou o Zope e do seu sistema operacional.
- Vá a Interface de Gerenciamento, isto é feito adicionando /manage a URL do seu Zope. Você deve agora ver um "Plone Site" na lista de produtos para adicionar. Isto significa que o Plone foi instalado com sucesso, veja "Adicionando um Plone Site" para mais informações.
Adicionando um Plone Site
Chegar aqui supõe que você instalou com sucesso o Plone usando um dos procedimentos descritos acima. Se você usou os instaladores do Windows ou do Mac OSX então você já tem um site Plone criado para você chamado "Plone" e não há necesidade de ler esta seção a menos que você queira instalar outro site Plone dentro do seu Zope.
- Acesse a Interface de Gerenciamento do seu Zope, isto é feito adicionando o /manage a URL do seu Zope.
- Selecione "Plone Site" da sua lista:
- O seguinte formulário é apresentado para indicar algumas informações sobre seu site Plone:
- Id obrigatório: é o id (identificador) do site Plone e é um nome curto contendo um conjunto de caracteres restritos (somente caracteres alfanuméricos são recomendados), este será a URL do seu site Plone.
- Title: é o nome do site Plone que aparecerá em todas as páginas.
- Membership source: se você não tem certeza do que isto significa, deixe como default "Create a new...". Você pode também escolher adicionar uma pasta de usuários dentro do seu site Plone ou usar uma pasta de nível acima.
- Description: uma descrição do site.
- Site type: deixa você definir um tipo diferente de site, por
exemplo, uma skin para o site. Este manual assume que você usou o valor
Default.
- Depois clique em "Add Plone Site", um novo site será criado. Isto pode levar alguns segundos até que ele carregue as informações.
Parabéns, você instalou o Plone.
Migrando o Plone de uma instalação existente
Observe: estas instruções da instalação devem ser aplicadas a todas as versões e futuras versões do Plone. Entretanto deve haver passos extras necessários, por favor consulte as instruções de download para sua release.
Se você já tem uma instalação do Plone e deseja atualizá-la, então a ferramenta migration (migração) foi adicionada. Esta ferramenta de migração requer conhecimento, e acesso a Interface de Gerenciamento do Zope. Antes de executar uma migração faça um backup completo do seu site Plone.
Instalando o software
- Pare o Zope
- Faça um backup de sua instalação do Plone, incluindo o banco de dados. Veja o Capítulo 9 para fazer o backup do banco.
- Faça o download e instale a nova versão do Plone, como você vai fazer isso depende exatamente do seu sistema operacional e como você instalou o Plone. Esta instalação resultará em arquivos sendo atualizados para a nova versão no seu filesystem. Geralmente instalar diretamente sobre uma versão antiga já é o suficiente.
- Reinicie o Zope
- Para cada instância do Plone no seu Zope, ache a ferramenta chamada
portal_migrationna ZMI. Ela vai identificar a versão atual do Plone e a versão do seu sistema de arquivos. Para migrar para o Plone existente apenas clique em migrate. O Plone executará todas as atualizações necessárias.
Migrando de um site pre 1.0 Alpha
Isto não é abordado no procedimento da migração. Sugerimos que adicione uma nova instância de Plone usando o novo código e mova os objetos contidos para dentro do seu novo site. Apenas use o copy e paste nas telas de Gerenciamento do Zope.
Migrando de um pre 1.0 Beta3 (depois do alpha)
Na ZMI você deve adicionar uma ferramenta de migração. Selecione
"Plone Tool" da lista de objetos para adicionar, na página seguinte
selecione "Plone Migration Tool" e clique "Add". Um novo objeto foi
adicionado em sua instância Plone chamado migration_tool. Selecionado o objeto, serão mostradas algumas informações sobre a sua instância Plone e o código no sistema de arquivo.
Entretanto depois que esta ferramenta foi recentemente acidionada ela não será capaz de dizer que instância do Plone você tem e mostrará beta 1.3 para ambas as instâncias atuais e a instância do sistema de arquivos. Selecione a versão que você achar correta e selecione force migration.
[1] Ou em qualquer versão do Plone que você baixou.
[2] Depois de usar um comando de login do cvs será requerida a senha, apenas pressione enter (isto é, deixe a senha em branco)
3. Usando o Plone
O Plone usa os padrões e técnicas dos browsers atuais, assim é recomendado o uso da versão mais recente de um browser. Estas instruções abordam a configuração default para o Plone e podem não estar iguais ao site que você está visualizando, dependendo da forma como foi customizado.
Cadastrar-se a um Site
Cadastrar-se a um site Plone faz com que você tenha privilégios de Membro (Member) para adicionar conteúdo, tais como imagens, documentos e assim por diante. Os seus privilégios dependem de como o site foi configurado.
Para se cadastrar ao site, selecione o link join (cadastre-se) no canto superior direito da página inicial.
Isto apresentará o formulário de cadastro, para você completar. Se este é o primeiro formulário Plone que você vê você deve notar algumas coisas: um quadrado vermelho próximo ao título de um campo de entrada de dados significa que este campo é obrigatório. Quando você clica em um campo, uma janela de ajuda aparecerá no lado esquerdo. Você pode navegar através dos campos do formulário clicando neles.
Há vários campos no formulário de cadastro:
- Full Name: Seu nome.
- Username: O nome de usuário que você vai utilizar, a maioria das pessoas escolhem um valor alfanumérico sem espaços, como "bob" ou "jane97".
- E-mail: Um endereço de e-mail válido é exigido. De maneira que se você perder sua senha ela pode ser enviada para você. Você será capaz de alterar este e-mail mais tarde editando suas preferências.
- Password e Confirm Password: A senha que você quer usar; deve ter mais que 5 caracteres e pode conter letras, números e o caracter underscore(_). Senhas são sensíveis ao contexto.
- Mail Password?: Cheque esta caixa se você quer que sua senha seja enviada para o e-mail que você forneceu.
Depois que você competar este formulário, clique em register para enviar as informações. Então, clique no link log in para acessar o site imediatamente.
Log in
Se você já tem um nome de usuário e senha, você pode logar-se no site
digitando-os nos campos da caixa de log in na coluna da esquerda e
clicar no link log in. Os cookies devem estar habilitados no momento do log in no site.
Esqueceu a senha?
Se você esqueceu sua senha ela pode ser enviada para o endereço de
e-mail que você forneceu ao se cadastrar. Você pode pedir que sua senha
seja enviada para vpcê clicando no link Forgot your password?
que está na coluna da esquerda do site. Se você não especificou um
e-mail válido quando você se cadastrou, você precisará contatar o
administrador do seu site.
Deslogar-se
Depois que você estiver logado no site, no canto superior direito aparecerá um link log out. É bom você clicar em log out sempre que você terminar de usar o Plone.
Pasta Member
Cada membro tem uma pasta onde eles podem criar e armazenar conteúdo. Eles estão localizados na pasta Members e contém uma página inicial padrão chamada index_html. Para ver a sua pasta membro, clique no link my folder na barra pessoal no canto superior direito do site.
Configuração das Preferências dos Usuários
No canto superior direito há também o link my preferences que abre o formulário Personalize. Este formulário permite que você configure as preferências que alteram a maneira de como você interage com o site.
- E-Mail - Este é o endereço de e-mail associado com seu estado (membership) e é usado em vários lugares no site. O mais importante é que se você perder ou esquecer sua senha, este é o endereço para onde o sistema vai enviá-la.
- Content editor - Quando editar um conteúdo complexo, você pode receber a ajuda de um editor. Se o administrador do seu site disponibilizar um, você pode selecioná-lo aqui. Ele então será usado quando você clicar na aba de edição de um objeto. Padrão: None
- Listed status - Esta propriedade especifica se seu perfil será mostrado na aba Members e quando alguém buscar pelos membros. Padrão: Listed
- Form Help - Cada campo do formulário tem uma janela associada que oferece ajuda. Isto é muito útil para os novatos no sistema, assim eles podem ser ajudados a como usar os campos do formulário quando eles estão preencendo-os. Usuários que não querem ajuda podem desselecioná-la. Padrão: Yes
- Display Names - Os objetos têm uma propriedade
Nameque é usada para sua representação interna do conteúdo do objeto. O Name também é mostrado no endereço do objeto (também chamado URL). Por default se parece como: News_Item.2002-11-16.4102 mas você pode deixá-lo mais simpres como november_news alterando o valor Name. Padrão: YesObserve: Quando você alterar o valor nome do objeto, tudo que referenciar o antigo nome não será mais válido e resultará em erros de que a página não pode ser exibida. É melhor não mudar o valor nome depois que você der um submit no objeto ou lincá-lo de outro lugar.
- Look - Algumas pessoas gostam de modificar a aparência do Plone e
looksethemessão oferecidas para permitir isto. Selecione a aparência que você preferir para seu site Plone. Padrão: Plone Default - Portrait - Em grandes empresas e nos sites da comunidade é útil para ver as fotos de outros membros. O campo retrato permite que você coloque uma foto de 75 pixels de largura e 100 pixels de altura. (Se você colocou uma foto que é de tamanho diferente, ela vai ser redimensionada para 75 x 100).
Depois que você modificou a seu gosto as suas preferências, clique em save para salvá-las.
Adicionando e editando conteúdo
Como membro do site, você tem uma pasta na seção members onde você
pode armazenar seu conteúdo. Ao invés de detalhar como adicionar e
editar os diferentes tipos de conteúdos disponíveis, vamos abordar, em
detalhes, como adicionar um tipo de conteúdo, um Document.
Todos os tipos de conteúdo são adicionados e editados de uma maneira
muito parecida, assim a maioria das vezes os passos aqui serão
repetidos.
O que é um Documento?
Um documento é uma página de conteúdo, geralmente é um repositório próprio de texto. Documentos podem ser escritos de vários formatos diferentes, texto puro, HTML ou Texto Estruturado. Um exemplo de documento é a página incial padrão do site Plone.
Adicionando um Documento
Para adicionar um documento, você vai precisar estar no modo Contents View
(Visualização do Conteúdo); o link está disponível na parte esquerda da
página. Este modo mostra a você a lista de objetos na pasta e deixa
você editá-los. Se você não está vendo o link Switch to Contents View, você não tem permissão para adicionar ou editar conteúdo neste local.
Depois que você estiver no Contents View, você notará que tem uma caixa
com drop down no canto superior direito do painel central próximp ao
botão "add new item". Ele mostra a lista de tipos de conteúdo que você
pode adicionar nesta pasta. Selecione Document desta lista, então clique add new item. Depois que um documento foi adicionado você verá imediatamente a página de edição para aquele documento.
Editando um Documento
O documento pode ser editado diretamente no browser, usando o formulário apresentado. Um fator para ser observado são as abas de destaque de edição, no topo da página. As mensagens aparecem no topo da página, como mostrado abaixo.
Há quatro campos para um documento:
- Name: Este identificador fará parte do endereço na web do documento. Deve ser pequeno, descritivo e não conter underscores ou os dois casos. Por exemplo, "audit-report-2003". Se você não colocar um nome, o Plone criará um para você.
- Title: Este item será mostrado no topo da página, nos breadcrumbs, na interface de busca, no título do browser e assim por diante. Este campo é obrigatório.
- Description: Uma pequena descrição sobre o documento, geralmente não mais que 20 palavras para introduzir o documento e oferecer uma descrição para documentar o documento.
- Body Text: Este campo contém o corpo do documento.
O formato para o conteúdo é configurado usando os radio buttons abaixo
do campo. Eles são:
- Structured Text: é a configuração padrão. Texto estruturado é um formato para produzir texto puro e HTML sem que o usuário tenha que aprender ou digitar HTML. As referências para Texto Estruturado estão disponíveis nestes links:
- An Introduction to Structured Text
- Structured Text Help
- HTML: qualquer HTML pode ser usado.
- Plain text: é um texto comum sem marcação.
Se você possui um arquivo com o documento no seu computador, você pode carregá-lo ao invés de colocar algo no campo body text. Use o botão upload no final da página. O conteúdo de um arquivo carregado substituirá qualquer conteúdo no campo body.
Depois que você terminar de editar o seu documento, clique no botão save. Você voltará a aba view onde você pode ver como o documento será renderizado. Para editá-lo novamente, clique na aba edit.
Se você não digitou dados corretos no formulário de edição, quando
você salvar o documento será retornada a página de edição e seus erros
estarão destacados. Neste momento suas alterações ainda não foram
salvas - você deve corrigir os erros e clicar em save novamente.
Atribuindo propriedades a um documento
Qualquer objeto pode ter propriedades atribuídas a ele. Estas propriedades são também conhecidas como metadata e oferecem informações tais como palavras-chaves (keywords), autoria e informação sobre os contribuidores. O formulário de propriedades tem vários campos que são comuns a todos os tipos de objetos:
- Allow discussion: Esta propriedade dixa este documento ser discutido pelos usuários que tem privilégios para isto. Se deixar como default, será usada a política do site.
- Keywords: Keywords são a maneira de atribuir metadados a um objeto. Use control+click para selecionar várias palavras-chave da lista.
- Effective Date e Expiration Date: A data efetiva é o primeiro dia que o objeto deve estar disponível e a data de expiração é o último dia. Buscas e navegação somente mostram objetos dentro desta escala de datas. Se os items forem deixados em branco faz com que um objeto seja disponibilizado infinitamente.
- Format: É o MIME-type do objeto. Se você não sabe o que é isto, deixe como está.
- Language: A linguagem na qual o item está escrito.
- Copyright: Informação de autoria do objeto.
- Contributors: Os nomes das pessoas que contribuiram para o objeto. Cada nome de cada pessoa deve estar em linhas separadas.
Publicando seu documento
Os Documentos são criados no estado visible, que
significa que as pessoas podem acessá-los, mas eles não serão mostrados
na árvore de navegação. Documentos visíveis são disponíveis através de
buscas e acessando diretamente suas URLs.
Quando você esteiver satisfeito com seu documento você vai precisar publicá-lo. Para fazer isto, selecione a aba state. Esta página dará acesso para o processo de publicação.
- Effective Date: permite você especificar uma data de efetivação para este conteúdo. Até esta data chegar, o conteúdo não será publicado. Até que esta data ocorra, o conteúdo não será publicado. Se esta data não for especificada, então não terá efeito e o documento será publicado...
- Expiration Date: permite você especificar uma data para este conteúdo expirar. Despois desta data o conteúdo não será mais publicado. Se esta data não for especificada, então não terá efeito e o documento será publicado.
- Comments: oferece uma interface para adicionar comentários a este processo de publicação. Estes comentários podem ser lidos pelos revisores do seu conteúdo no processo de publicação. Igualmente se o revisor rejeitar seu conteúdo, eles serão capazes de colocarem comentários aqui assim você saberá porque seu conteúdo foi rejeitado.
- Change state: Estes são os estados nos quais os
documentos podem ser salvos. Os conteúdos de publicação e revisão serão
abordados com mais detalhes no Capítulo 4 deste livro, mas agora você
saberá como publicar seu conteúdo, assim selecione
Submite então cliquesave.
Seu conteúdo estará agora no estado pending. Um revisor irá revisar seu conteúdo e decidirá se o publicará como está, vai editá-lo e publicá-lo, ou rejeitá-lo.
Adicionando e editando outras formas de conteúdo
Há vários tipos diferentes de objetos que vêm por default em um site Plone. Adicionar e editar estes tipos de objetos são processos similares aos descritos acima para os documentos.
Image
Imagens são pedaços gráficos de conteúdo. Este tipo de conteúdo geralmente termina com uma extensão como: gif, jpg, png, tif ou pict. Imagens podem ser mostradas dentro do CMS do Plone sem ter que fazer download delas para o computador se o tipo da imagem (extensão) é visível no browser do usuário.
Quando você adiciona uma imagem, o id do objeto é mudado para ser o
arquivo da imagem. Assim se você carregar uma imagem chamada photo.gif,
ela estará acessível no Plone como photo.gif. Quando adicionamos ou
carregamos uma nova imagem podemos selecionar a imagem do seu sistema
de arquivo usando o botão browse e selecionando o arquivo.
Note que arquivos.pict da Macintosh as vezes não podem ser visualizados pelo browser da plataforma Microsoft.
File
Um arquivo é qualquer arquivo que pode ser carregado do seu sistema de arquivos. Ele pode ser qualquer tipo de item como um arquivo de texto puro, um documento do Word, uma tabela do Excel, uma apresentação do PowerPoint, um Acrobat PDF e assim por diante. Quando você adicionar um arquivo, o id será mudado para ser o nome do arquivo. Assim se você carregar um arquivo chamado book.pdf, ele ficará acessível no Plone como book.pdf.
Link
Os objetos Link são, de um modo geral, para os usuários compartilharem URL's. Estas URL's podem ser fontes da internet ou fontes locais. Os links podem conter metadados como qualquer outro objeto de conteúdo. Por favor observe que se você estiver lincando uma fonte da internet, você deve introduzir seu link com o protocolo adequado (por exemplo http://) de outra forma seu link possivelmente estará incorreto.
Topic
Os tópicos habilitam os usuários a criarem coleções de recursos buscando no repositório de informação central. Uma coleção é definida pela aba critério. O critério especificado vai determinar todos os conteúdos do objeto que são catalogados pelo sistema. Você pode buscar vários aspectos diferentes do sistema: por localização física, hora de criação, estado de revisão, e muitas outras formas. Os tópicos somente linkam a outros recursos; eles não mantêm recursos físicos dentro deles como uma Pasta (Folder).
Por padrão somente usuários com a função Manager têm permissão para criar tópicos.
Folder
Os repositórios são os mais simples e poderosos mecanismos para organizar conteúdo. Uma pasta é um repositório que pode hospedar qualquer tipo de objeto de conteúdo, tais como Files (Arquivos), Documents (Documentos), ou qualquer tipo de objeto de conteúdo. Por padrão todos os tipos de conteúdo podem ser adicionados em um Folder.
News Item
Itens Notícias são geralmente usados em websites. Ao serem publicadas as Notícias são mostradas em ordem cronológica reversa na News tab e na seção de Notícias.
Discussão de conteúdo
Qualquer conteúdo no Plone pode ser discutido. O proprietário do
conteúdo (conhecido como a pessoa que criou o conteúdo) coloca o mesmo
em discussão clicando na aba Properties do objeto e checando Allow. O radio button default é a plítica para o objeto de conteúdo que foi configurada pelo Administrador do Site.
Se a discussão estiver habilitada, quando o conteúdo for visualizado a discussão será mostrada e os usuários terão permissão para participar.
Buscando conteúdo
Há duas formas de buscar conteúdo no Plone. No topo do site Plone há
uma caixa de busca que oferece uma maneira fácil de fazer buscas
simples por palavras-chaves. Você pode procurar os resultados da busca
usando a funcionalidade Advanced search. Está acessível clicando na aba search no topo da página.
No formulário Advanced search você será capaz de
buscar o conteúdo por vários atributos, incluindo: title, keywords,
description, review state, creation date, content type e até mesmo
author.
Neste capítulo abordamos alguns dos elementos básicos como adição e publicação de conteúdo, busca e alteração da sua instância Plone par adequá-la a suas necessidades. Mesmo que cada site Plone seja diferente, cada um terá estes elementos básicos.
4. O Sistema de Workflow
Workflow é o processo usado para gerenciar objetos em um website. Um
exemplo é a publicação de reportagens em uma empresa: um funcionário
escreve uma reportagem e envia a seu editor para revisão antes de
publicá-la no site. Este processo de revisão ´e chamado de workflow e é
usado pelos gerenciadores de sites para assegurar que o conteúdo do
site está correto. O plone tem um sistema de workflow muito poderoso e
flexível que é construído através dos Object States (Estados dos Objetos) e User Roles (Funções do Usuário).
Estados dos Objetos
Um estado do objeto determina se ele está disponível para vários tipos de usuários definidos no Plone, e em que outros estados o objeto pode ser colocado. O workflow padrão do Plone inclui quatro estados: visible (visível), pending (pendente), published (publicado) e private (privado). Os gerenciadores do site podem criar estados padrões - estes são explicados com mais detalhes no Capítulo 5.
- Por padrão, objetos são criados no estado
visible. Todos os usuários podem achar os objetos visíveis através da função de busca e podem acessá-los diretamente visitando a url do objeto. Objetos visíveis não são mostrados na árvore de navegação. Objetos visíveis dentro de pastas privadas continuam visíveis para todos os usuários e disponíveis através da função de busca. Objetos visíveis são editáveis por seus donos e administradores do site. - Objetos
pendingforam submetidos a publicação por membros do site. Da visão de um usuário final, eles se comportam como objetos no estado visível (visible). A diferença entre os dois tipos é que os objetos pendentes são revisados ; os revisores do site publicam ou rejeitam os objetos pendentes. Objetos pendentes são editáveis apenas pelos administradores - Itens
publishedsão visíveis a todos os visitantes do site. Eles aparecem em resultados de buscas e na árvore de navegação. Quando um Item Notícias é publicado ele se torna visível na aba News e também na caixa News (veja o Capítulo 5). Itens publicados são editáveis somente pelos administradores, mas podem ser retirados pelos donos para edição (o estado de retirar faz com que o objeto vá para o estado visible). - Objetos no estado
privatesão visíveis e editáveis somente por seus donos e outros com acesso de administrador na pasta na qual eles estejam. Eles não aparecerão nos resultados das buscas ou na árvore de navegação para outros usuários. Itens provados são editáveis pelos administradores.
Nota: Embora a maioria dos objetos tenha seus próprios estados, alguns herdam seus estados de seus objetos pais. Os fóruns são um exemplo deste comportamento. Fóruns dentro de pastas visíveis ou publicadas ficam disponíveis para todos os usuários através da função de busca. Fóruns dentro de pastas privadas estão somente disponíveis para usuários com acesso a esta pasta privada.
Funções do Usuário
O Plone usa funções para definir o que diferentes usuários podem ver e fazer. Desta forma, o Plone tem segurança em todos os aspectos de sua operação. As funções definidas em uma instalação padrão do Plone incluem anonymous (anônimo), member (membro), owner (proprietário - dono), reviewer (revisor) e manger (administrador).
- Quanlquer um que visite o site e não se loga nele, possui a função de
anonymous. Em sites públicos, usuários anônimos podem ver conteúdo publicado, pendente e visível visitando a url ou pesquisando sobre o conteúdo, entretando somente conteúdo publicado está visível na árvore de navegação. Se você configurou seu site como privado, usuários anônimos não podem ver nada. Memberssão usuários que estão logados no site. Membros têm a habilidade de adicionar para criar conteúdo dentro de sua própria pasta, que é submetido aos revisores do site para publicação. Em sites públicos, os membros podem ver o mesmo conteúdo dos usuários anônimos. Em sites privados, os membros têm acesso ao conteúdo publicado, pendente e visível. Os membros também podem configurar suas preferências.- Como um
reviewer, você pode publicar ou rejeitar conteúdo enviados pelos membros. Quando um revisor se loga, se há conteúdo para ser revisado uma mensagem de "pendência" aparecerá em sua barra pessoal. Uma lista de revisões também aparece na coluna da direita da página. Os revisores têm acesso ao mesmo conteúdo dos membros. - Os membros têm a função de
ownersobre todo o conteúdo que eles criam. Isto faz com que eles editem o conteúdo, enviem ou retire-no, ou façam dele privado. Atribuir a função de proprietário a outros usuários não é recomendado. - Os
managersdo site podem ver o conteúdo em todos os estados (visible, pending, published e private). Além de todas as capacidades do membro e revisor, os administradores podem adicionar, editar, deletar e mover conteúdo. Os administradores podem também adicionar, editar e deletar usuários e atribuir a eles funções.
O Plone herda o modelo de função do Zope. Por favor para maiories informações Zope Book.
Transições - Alterando os Estados dos Objetos
Os proprietários e administradores podem alterar o estado dos objetos que eles controla. Os estados que estão disponíveis são controlados pelas transições pré definidas. Por exemplo, os membros do site podem submeter objetos visíveis a revisão ou fazê-los privados e revisores podem publicar items ou rejeitá-los. Os administradores do sote podem também customizar esta parte do sistema de workflow. (Veja o Capítulo 5)
Para alterar o estado de um objeto para conteúdo visualizado, marque a caixa próxima ao nome do objeto a ser mudado e então clique no botão change status no final da página. Vá até o botão Publishing Process da página e escolha o estado desejado, então clique submit (enviar).
O estado também pode ser alterado no item view. Simplesmente clique na aba state, vá até o final da página, escolha o estado desejado e clique em submit.
Funções Locais
Os administradires do site podem dar privilégios adicionais em certas seções do site a usuários específicos. Isto pode ser feito atribuindo funções locais às pastas. Os administradores e proprietários têm permissão para atribuir funções locais.
Para atribuir funções locais, mude para a visualização do conteúdo (contents view) da pasta e clique Local Roles na aba content. Busque pelo nome do usuário a quem você deseja atribuir uma função, e marque a caixa acima do seu nome. Escolha da lista a função para atribuir e clique "assign local roles to selected users" (atribuir funções locais aos usuários selecionados).
Esta mesma interface pode ser usada para deletar funções locais.
Publicando um objeto
Os proprietários do objeto podem alterar e editar ojetos no estado visible. Depois que um proprietário termina de editar um objeto, ele pode ser publicado clicando na aba State. Isto abre um formulário de publicação:
Este formulário oferece as seguintes opções:
- Status: Informa o estado atual do objeto.
- Effective Date e Expiration Date: A data efetiva é o primeiro dia que um objeto se torna disponível e a data de expiração é o último dia. Buscas e navegação somente mostram objetos dentro desta escala de datas. Deixando estes itens em branco faz com que o objeto fique disponível indefinidamente.
- Comments: Aqui você pode digitar qualquer comentário ou razão para a alteração do estado. Estes comentários serão preservados no change log do objeto.
- Change State: Os estados para os quais um usuário pode mover um objeto. Os membros podem submeter objetos ou fazê-los privados. Uma vez submetido, os objetos ficam disponíveis para usuários com privilégios de revisão, que podem então publicá-los ou rejeitá-los.
Revisando os objetos
Se você tem privilégios de revisor, quando você se loga no site, será apresentado uma indicação se qualquer objeto está esperando revisão. Isto é mostrado na personal bar como mostra a imagem:
Selelcione este link para obter uma lista de objetos prontos para revisão, então selecione cada objeto para revisá-lo. Clique na aba de publicação e será mostrado um formulário como o acima. Neste momento você tem basicamente três escolhas - tanto para aprovar um objeto e publicá-lo (a opção publish) como rejeitá-lo (a opção reject). Se você rejeitar o objeto você pode provavelmente querer colocar um comentário ao usuário explicando porque você rejeitou-o.
Editando um objeto depois que ele foi publicado
Os administradores pode editar objetos que estão em qualquer estado. Os
membros não podem editar um objeto depois que ele foi publicado; eles
devem primeiro fazê-los voltar ao estado visível para retirá-los. Para
fazer isto, clique na aba de publicação para o objeto e clique retract.
Então você pode editar o objeto quanto você quiser e re-submetê-lo.
Isto garante que o processo de revisão é mantido para os objetos que
foram editados.
5. Configurando o Plone
A Interface de Gerenciamento do Zope (Zope Management Interface – ZMI)
O Plone foi construído sobre o Zope e o Framework de Gerenciamento de Conteúdo (Content Management Framework - CMF). O Zope tem uma Interface de Gerenciamento embutida que é acessível pela web. Para suas atividades diárias com o Plone, tais como adicionar e editar conteúdo você não vai precisar acessá-la. Entretanto para manipular algumas das características mais avançadas do Plone você terá que acessar esta Interface de Gerenciamento (ZMI).
O acesso é simples, adicione /manage no final da sua URL, por exemplo: http://localhost/manage. Se você está usando Mac ou o instalador do Windows você pode acessar o site usando a porta 80 e a raiz da ZMI através da porta 8080. Por exemplo, o Plone será acessado via http://localhost e a ZMI via http://localhost:8080/manage.
A navegação está no frame da esquerda e os objetos são gerenciados na direita. Para mais informações sobre a ZMI por favor veja o Livro do Zope Capítulo X.
Nota: Se você logar na raíz da sua ZMI isto será feito através da Autenticação Básica HTTP que não tem nenhum método para deslogar você. Isto significa que será incapaz de se deslogar do seu site Plone, somente fechando seu browser. Isto não é um bug do Plone, mas especialmente uma falta na API da Autenticação Básica HTTP. Para testar é mais fácil ter dois browsers abertos, um logado em cada.
Layout de um site Plone na Interface de Gerenciamento
O Site Plone é separado em vários objetos que são tanto conteúdos ou ferramentas. Quando você acessa o Plone pela web você não pode ver as ferramentas que proporcionam o bom funcionamento do Plone, elas são abordadas aqui. Nem todas as ferramentas são únicas do Plone, a maioria delas vêm diretamente do CMF. Para mais informações sobre alguma dessas ferramentas, por favor leia a documentação do CMF.
...
Ações
No Plone há certas coisas que podem ser executadas em horas
diferentes, por pessoas diferentes, em partes diferentes do site.
Coisas como busca, navegação na pasta, acesso e assim por diante, são
chamadas Ações. O Plone traduz-as em abas, links e outros elementos.
Elas são a melhor maneira de configuração para oferecer elementos de
navegabilidade para o site. Ações são editadas através da Interface de
Gerenciamento do Zope (ZMI) e estão contidas em poucos lugares, tais
como portal_actions. Ferramentas que têm ações são chamadas de provedores de ferramentas.
Ações em Geral
Cada ação tem as seguintes propriedades que podem ser representadas na ZMI:
- Name – um bom nome para a ação, este nome é geralmente usado na UI, por exemplo quando a ação é usada como uma aba, este é o texto da aba.
- Id – um id único (para esta ferramenta corrente) para a ação.
- Actions – a ação que é para ser executada. Por exemplo, quando a ação é usada como uma aba, esta ação é usada como o link. Este campo é uma expressão tal, veja a documentação do ZPT para mais informações.
- Condition – uma condição que tem que ocorrer regularmente para a ação ser usada. Por exemplo, quando usada como aba, se esta condição for encontrada a aba aparecerá. Este campo é uma expressão tal, veja a documentação do ZPT para mais informações.
- Permission – a permissão que o usuário tem que ter para ter esta ação. Esta permissão tem que ser encontrada para a ação ser usada.
- Category – é usada para categorizar as ações. No Plone é
usada para distinguir as ações assim elas são usadas em diferentes
seções da UI. As seguintes categorias são usadas:
- Folder – ações nesta categoria aparecem nas pastas.
- Object – ações nesta categoria aparecem nos objetos.
- portal_tabs – estas ações aparecem no topo do site Plone os padrões são "Welcome", "Members", "News", "Search" e assim por diante. Ações nesta categoria são geralmente relacionadas ao portal inteiro, em oposição a conteúdos particulares.
- object_tabs – estas ações aparecem no meio da página no topo do conteúdo. Estas ações são geralmente relacionadas ao conteúdo, em muitos casos elas não são mostradas a menos que o usuário corrente tenha o privilégio de editar o conteúdo.
- folder_buttons – são os botões que aparecem nas páginas de conteúdos das pastas e relacionam-se à cópiar e mover o conteúdo em uma pasta, tais como copy e paste.
- User – são ações que relacionam-se ao usuário, tal como "Log in" (Acessar) e "Join" (Cadastrar-se).
- Visible – se a categoria está
active(ativa) ou não. Depois que as ações foram relacionadas a elementos visuais, o termo visível é usado.
No Plone, a ordem das ações em cada categoria apresentada na ZMI determina onde ela aparece na skin. Por exemplo, "Welcome" é a ação que está no topo e aparece na extrema esquerda das abas do portal no topo do site Plone. Selecione a ação e use os botões Move up e Move down para mover as ações para cima ou para baixo da lista.
Action Providers
Os action providers são pouco disseminados e algumas vezes pode ser
um pouco difícl achar onde as ações aparecem. Para obter uma lista dos
action providers correntes no seu site Plone na ZMI, vá ao portal_actions e selecione Action Providers. Ela lista todos objetos que estão habilitados para ter ações.
Portal Actions (portal_actions)
O Portal actions influencia em todas as ações que não estão em outros
providers. As ações mais usadas contidas aqui são as ações da categoria
portal_tabs.
Portal Membership Tool (portal_membership)
Contém as ações para um usuário que é um membro. Estes são geralmente todos da categoria user.
Estas ações aparecem nas abas do portal skin padrão do Plone. A maioria
destas ações têm permissões relacionadas ao usuário logado ou não.
Portal Registration (portal_registration)
Contém ações para registrar um usuário. No Plone padrão há apenas uma ação join.
Portal Discussion (portal_discussion)
Contém ações para discussão. No Plone padrão há apenas uma ação reply.
Portal Undo (portal_undo)
Contém ações para desfazer conteúdo, tais como undo e quick undo. Está na interface do usuário para que possam desfazer o conteúdo podendo voltar a versões anteriores do conteúdo.
Portal Synducation (portal_syndication)
Contém ações para divulgar conteúdo. Se você quer divulgar conteúdo você deve fazer esta ação ficar Visible. Então a aba "Syndication" aparecerá nas pastas e oferecerá aos usuários a opção de divulgar o conteúdo.
Portal Workflow (portal_workflow)
As ações aqui são contidas no workflow e como tal são uma parte chave do workflow. Workflow é discutido no Capítulo 4.
Portal Setup (portal_properties)
Contém uma ação para modificar o portal, a Plone setup que permite que você modifique alguns dos parâmetros chaves do Plone.
Slots (Caixas)
Uma slot é uma pequena seção de uma página web que tem um pouco de informação própria. No Plone estas slots são encontradas nas colunas da esquerda e da direita da página e contêm informações tais como calendário, navegação (menu), caixa de login (acesso) e assim por diante. Estas caixas podem apresentar informações dinâmicas ou estáticas ao usuário e podem ser facilmente configuradas através da ZMI.
Para configurar as caixas você precisa acessar a ZMI e selecionar a
aba "Properties" do objeto que você quer editar. No caso do Plone isto
significa selecionar sua instância do Plone, então "Properties". Isto
mostra uma lista de propriedades incluindo left_slots (caixas da esquerda) e right_slots (caixas da direita) como mostrado abaixo:
As left_slots se referem às caixas mostradas na parte esquerda da página, as right_slots
listam as caixas mostradas na parte direita da página, na ordem que é
dada a elas. As propriedades das caixas podem ser editadas aqui e elas
afetarão o site inteiro, ou podem editar as propriedades em cada pasta
para afetar as páginas abaixo delas, por exemplo, na instalação padrão
do Plone observe que a pasta Members tem uma diferente propriedade
diferente para right_slots.
Nem todas as caixas disponíveis são configuradas no Plone. A seguir estão os detalhes de cada caixa no Plone, seu arquivo de localização e o caminho da expressão que precisa ser adicionada nas caixas para serem mostradas.
Slot About – Caixa Sobre
Filename (Nome do arquivo): plone_templates\ui_slots\about_slot.pt
Path Expression (Caminho da expressão): here/about_slot/macros/aboutBox
Esta caixa mostra informações sobre o objeto corrente, tais como quem criou-o, quando foi a última atualização e assim por diante.
Calendar Slot – Caixa Calendário
Filename: plone_templates\ui_slots\calendar_slot.pt
Path Expression: here/calendar_slot/macros/calendarBox
Esta caixa mostra o calendário do Plone. Esta pode ser configurada usando a ferramenta portal_calendar na ZMI e mostra os tipos dos objetos selecionados no calendário.
Events Slot - Caixa Eventos
Filename: plone_templates\ui_slots\events_slot.pt
Path Expression: here/events_slot/macros/eventsBox
Mostra a lista de eventos. Se você tiver este item na lista de caixas ela não aparecerá a menos que você tenha algum evento publicado.
Favorites Slot - Caixa Favoritos
Filename: plone_templates\ui_slots\favorite_slot.pt
Path Expression: here/favorites_slot/macros/favoritesBox
Mostra uma lista dos favoritos do usuário e um link para oganizá-los. Mesmo se você tiver este item na lista de caixas, ela não aparecerá a menos que o usuário tenha algum favorito.
Login Slot - Caixa de Acesso
Filename: plone_templates\ui_slots\login_slot.pt
Path Expression: here/login_slot/macros/loginBox
Mostra a caixa de login (acesso) assim o usuário pode se logar. Mesmo se você tiver este item na lista de caixas ela não será mostrada se você estiver logado.
Navigation Slot - Caixa de Navegação - Menu
Filename: plone_templates\ui_slots\navigation_tree_slot.pt
Path Expression: here/navigation_tree_slot/macros/navigationBox
Note: a versão anterior desta slot navigation_slot, é oposta.
A caixa de navegação mostra uma árvore simples de pastas na posição
atual na forma de uma árvore. Ela oferece uma ferramenta de navegação
simples e poderosa. A caixa de navegação é extremamente customizável e
pode ser alterada acessando o portal_properties/navtree_properties dentro da ZMI.
News Slot - Caixa de Notícias
Filename: plone_templates\ui_slots\news_slot.pt
Path Expression: here/news_slot/macros/newsBox
Mostra uma lista de todas as notícias recentes, com links para elas. Mesmo se você tiver este item na lista de caixas, ela aparecerá somente se você tiver uma notícia publicada.
Related Slot - Caixa de Conteúdo Relacionado
Filename: plone_templates\ui_slots\related_slot.pt
Path Expression: here/related_slot/macros/relatedBox
Mostra uma lista de todos os itens relacionados, como determinadas pelas palavras chaves. Por exemplo, na imagem acima, a página atual tem a palavra chave Python e todas as outras páginas com aquela palavra chave serão mostradas. Os itens são separados em recursos internos e externos. Mesmo se você tiver este item na lista de caixas ela não aparecerá a menos que haja alguns objetos relacionados.
Review Slot - Caixa de revisão
Filename: plone_templates\ui_slots\review_slot.pt
Path Expression: here/review_slot/macros/reviewBox
Mostra uma lista de objetos que estão no estado de revisão e estão esperando serem revisados. Ela é somente mostrada se o usuário tem função de revisor e se há itens aguardando revisão. O número de itens também é mostrado na barra de navegação como mostrado abaixo
Escrevendo a sua própria slot
O uso dos caminhos das expressões para produzir uma slot é como tal
uma ferramenta poderosa. Possibilita que você coloque qualquer conteúdo
de qualquer objeto em uma caixa, o Plone achará somente o resultado
relacionado da expressão e mostrará. Por exemplo, se você tem um
produto de Enquete (Poll) e quer mostrá-lo em uma caixa você pode fazer
o seguinte here/polls/funnylaughter/frontpage_poll_view (nota:
este é um exemplo, este caminho da expressão não funcionará em uma
instalação padrão do Plone). Caminhos das expressões são partes chaves
do Zope e do Plone, para mais informações veja informações sobre as
caixas acima ou ...
Se você quer somente escrever sua própria caixa você deve adicionar um Page Template com o HTML correto e classes TAL, para mais informações veja:...
Navigation and Forms
...
Divulgação (Syndication)
Divulgação (Syndication) é a capacidade de acessar o conteúdo da pasta através da RSS (Divulgação Realmente Simples - Really Simple Syndication ou Resumo Rico do Site - Rich Site Summary). RSS gera uma lista de todos os objetos na pasta. Este resumo pode então ser acessado programaticamente através de diferentes programas de leitura de notícias.
Para habilitar a divulgação na ZMI vá até o objeto portal_syndication. Há uma ação para pastas chamada "Syndication", isto não está visível por padrão. Marque a check Box "Visible" para assegurar que a ação está visível. A divulgação para o site também precisa estar habilitada clique na aba "Properties" e clique em "enable syndication".
Qualquer pasta no seu site Plone terá então uma aba Syndication. Você tem que habilitar a divulgação para cada pasta que você quer que a tenha. Vá até a pasta que você quer habilitar e clique na aba "syndication". Há um botão simples para habilitar a divulgação clique nele, se você obtiver a mensagem "Syndication not allowed" (Divulgação não permitida) vá ao objeto portal_syndication assegure-se que você habilitou a divulgação na aba de propriedades.
Alguns dos valores da página de divulgação, depois de habilitá-la:
Período Atualizado (Update period): Quão regularmente o cliente deveria checar se a alimentação da RSS está atualizada.
Frequência de atualização (Update frequency): ...
Base de atualização (Update base): ...
Itens Máximos (Maximum Items): O máximo de itens para mostrar
Nota: A divulgação não é recursiva para cada pasta abaixo, é somente para a pasta corrente e seus conteúdos.
6. Customizando o Layout do Plone
Alguns conceitos básicos
Skins
Uma pele é um conteúdo visual. Ela pode conter pequenas porções de lógicas diretamente relacionadas para aquela representação visual. Quando você instala o Plone você verá a pele padrão, esta é a que os usuários estão mais familiarizados e é o padrão que você verá no plone.org e em outros sites. Escrevendo uma nova skin você pode mudar o jeito do layout do Plone, entretanto ela terá ainda aquela aparência similar ao Plone - zopezen.org ou zopera.org por exemplo.
Mas o Plone não tem que se parecer com todos os outros ou até mesmo ser reconhecido vagamente, como um site Plone. Pegue, por exemplo, a lista de sites encontrados aqui - todos eles são totalmente diferentes e adaptados a vontado do usuário. Na maioria dos casos os sites podem facilmente mover-se entre as skins oferecendo diferentes skins para os usuários. Muito sites usam o poder e a flexibilidade da interface do Plone internamente assim os usuários podem adicionar e editar conteúdo facilmente, apesar de apresentar uma visualização externa totalmente diferente.
As skins são definidas na ZMI na ferramenta portal_skins. Quando clicar no portal_skins clique em properties.
Isto apresentará uma lista de skins disponíveis neste site. Por
exemplo, há uma skin chamada "Plone Default". No formulário você verá
uma entrada para esta skin e alguns valores próximos a ele, estas são
as camadas.
Na aba properties um usuário pode alterar a skin
padrão para ser mostrada aos usuários e ou permitir que os usuários
mudem suas skins Se os usuários podem mudar suas skins eles podem ir
para a tela my preferences e mudá-la.
Layers (Camadas)
Cada skin contém camadas. Uma camada é um conjunto individual de templates e scripts que são apresentados aos usuários, combinando estas camadas uma skin é formada. Isto permite que um usuário adicione ou remova facilmente componentes em uma skin alterando estas camadas. Novamente, por exemplo, na skin "Plone Default" (acessada através da ZMI indo por portal_skins -> properties), tem uma série de camadas, "custom, ..." e assim por diante. Estas são as camadas para esta skin.
Duas coisas são importante para saber sobre camadas:
- a ordem das camadas é importante, a que estiver no topo será checada primeiro para um objeto
- cada camada é uma entrada em portal_skins -> contents, e é geralmente uma Visualização do Diretório do Filesystem ou um Folder.
Mudando o logo, um rápido exemplo
Depois de ler acima, você está provavelmente intimidado a tentar alterar algo. A pergunta mais comum é "como eu faço para mudar o logo no canto superior esquerdo do logo do Plone". Isto é uma coisa muito simples de se fazer.
- na ZMI vá até portal_skins -> plone_images
- ache logo.jpg na lista e clique nele
- clique no botão
Customize - carregue uma nova imagem usando a navegação e clique em
Upload
É isto, volte para a interface do Plone, a imagem foi alterada. Simples.
Alterando o logo, a explicação
No exemplo acima mostramos como mudar o logo da página principal. ISto acontece porque usamos uma das principais características das skins, as camadas como descrevemos acima. Uma das coisas mais importantes sobre camadas é a ordem da busca, a camada que está mais acima (a primeira da lista) será sempre verificada primeiro para achar o item procurado.
Assim, primeiro vamos olhar as camadas da skin "Plone Default". A
primeira camada é "custom", esta é a pasta padrão achada em
portal_skins -> custom. Em algum lugar abaixo desta lista você vai
achar a camada plone_images.
Ela mapeia o Filesystem Directory View e estes arquivos podem ser
encontrados no sistema de arquivos dentro da instalação do Plone.
QUando você clica na imagem image (portal_skins -> ploneimages, não
haverá opção para editar a imagem, mas você pode customizá-la, o texto
na imagem abaixo vai ajudar a explicar isto.
Clicar em customise faz uma cópia da imagem dentro da
pasta de customização dentro do ZODB e leva você diretamente a ela. Se
você olhar com atenção vocÊ verá que o caminho da imagem foi alterado,
o meta type mudou e agora você pode editar a imagem.
Por que isto é feito, porque em nossa lista de camadas vem antes a
camada plone_images, depois que esta imagem foi copiada dentro da pasta
de customização esta imagem é agora a primeira imagem a ser procurada.
Assim quando quando o browser requer logo.jpg, ele vai procurar em cada camada, achando a imagem na customização primeir, e retornará aquela imagem.
Agora, no quarto passo acima carregamos uma nova imagem. Este logo.jpg é alterado e a imagem será encontrada como primeira da lista.
Este é o conceito básico de skins e camadas no Plone. Alterando as camadas e movendo os elementos individualmente entre as camadas vocÊ pode facilmente alterar e customizar seu site. Permite que você customize tanto quanto quisero seu site.
Customizando o resto do site
Antes de você se embrenhar nas customização do site e dos page templates, o primeiro lugar para olhar são as stylesheets (folhas de estilo).
Style sheets
A maioria dos estilos do Plone são controlados das folhas de estilo e configurar estas folhas de estilo faz você mudar radicalmente o Plone. Há quatro stylesheets no portal_skins -> plone_styles:
- ploneCustom.css: são as stylesheet padrão, está em branco. Você deve customizar esta primeiro. Nota: Esta folha foi adicionada no Plone1.1.
- plone.css: são as stylesheet principais que controlam a maioria das configuração para o site, se possível altere o ploneCustom.css primeiro.
- ploneNS4.css: são as stylesheet para o Netscape 4
- plonePresentation.css: contém código para o modo de apresentação do Opera
- plonePrint.css: contém código para páginas impressas
Um elemento futuro, stylesheet_properties contém todasas definições de cores, fontes e tamanhos correntes que são usados nos stylesheets acima. Customizar estas propriedades é uma maneira fácil de alterar o layout. Por exemplo se você customizar este ojeto e você pode alterar a fonte principal, alterando a propriedade mainFont para "65% Verdana, Helvetica, Arial, sans-serif".
As outras pastas no portal_skins -> plone_styles são skins que vêm com o Plone e oferecem bom exemplos de sites diferentes.
Images
Todas as imagens (exceto produtos específicos) estão contidas no plone_images.
Plone content
Contém os templates relacionados ao conteúdo. Estes são todos Page Templates, que é Zope templating languages, usado mais que HTML e usado quase exclusivamente pelo Plone. Page Templates são um exemplo extremamente poderoso e elegante de linguagem de templating language[1]. Alterando qualquer um deste templates você pode alterar como o conteúdo está apresentado.
Plone templates
Aqui está, provavelmente a parte mais importante do site, os templates principais, o cabeçalho e rodapé padrão e assim por diante.
Realmente a maneira principal de customizar um novo site é achar as
partes que você precisa que sejam customizadas. Isto é atualmente fácil
de se fazer. Primeiro ache a URL da página que você está chamando, se
há um último elemento como login_form ou document_edit,
então estes serão relacionados diretamente aos objetos no diretório
portal_skins. Para achar o objeto atual vá para portal_skins -> find
e digite o último elemento da URL. Para elementos mais complicados você
vai precisar examinar a ferramenta portal_types para ver que ação está
sendo chamada. Se todos este falharem, use o find ou grep para achar os
arquivos no sistema de arquivos.
Fazendo uma skin totalmente nova
Certamente modificar skins é bom e legal, mas agora vamos fazer uma nova skin.
- vá para portal_skins e adicione uma pasta, dê o nome de
alpha - então vá ao portal_skins -> properties e adicione uma skin, para fazer isto digite o nome e alista de camadas, apenas digite
alpha
Para uma nova skin você pode querer ou não adicionar ao seu Plone anterior e aos elementos do CMF, se você adicioná-los depois na camada alpha. É isto, você tem uma nova skin chamada alpha que pega os itens primeiramente da camada alpha.
Exemplo de sites
Um exemplo de site que usa Plone é o ZopeZen.org e todo o código da skin do ZopeZen está disponível. E o conjunto de três artigos discutem como esta skin foi feita. Entretanto com as novas versões do Plone se tornaram desatualizadas em partes, a maioria continua relevante.
- "Building ZopeZen, Part One": http://www.zopezen.org/Members/zopista/News_Item.2002-09-30.2355
- "Building ZopeZen, Part Two": http://www.zopezen.org/Members/zopista/News_Item.2002-10-02.2007
- "Building ZopeZen, Part Three": http://www.zopezen.org/Members/zopista/News_Item.2002-10-09.3743
- Código e skin
Outras configurações
Abas
Abas são determinadas por "Actions" e "Action Providers", abordadas no Capítulo 5 do Livro do Plne. Abas são geradas pela criação de ações. O campo categoria afeta as abas da seguinte maneira:
- se a categoria é
portal_tabsserá mostrada no topo do site,(por exemplo: News) - se a categoria é
object_tabsserá mostrada na borda verde editável (por exemplo: Edit) - se a categoria é
folder_buttonsserá mostrada como um botão no folder_contents (por exemplo: Folder Contents)
Exemplo: Adicionando uma aba no Plone.org para documentação
Uma tarefa comum é adicionar uma aba no topo do portal apontando
para uma pasta de conteúdo. Por exemplo no Plone.org toda a
documentação está em uma pasta chamada documentation. Depois queremos que usuários possam acessar facilmente a documentação, uma ação foi adicionada.
- Na interface do Plone:
- Crie uma pasta chamada
documentationna raiz do seu site Plone. - Publique esta pasta (se necessário)
- Na ZMI:
- Vá até
portal_actions - Vá até o final da página para a seção
Adde digite o seguinte: - Name: documentation
- Id: documentation
- Action: string:$portal_url/documentation
- Condition: leave blank
- Permission: View
- Category: portal_tabs
- Visible: checked
- Selecione
Add
Você agora tem uma aba visível para qualquer um, para documentação.
Datas
O Plone apresenta data em um certo formato para melhor ler. Estes formatos podem ser alterados da Zope Management Interface. Os valores estão armazenados como propriedades no site. Na ZMI vá até portal_properties -> site properties.
- localTimeFormat são data e hora curtas
- localLongTimeFormat são data e hora em um formato longo
Ambos valores usam o módulo de formato de hora do Python para produzir o formato da hora. A referência para estes formatos podem ser encontrados aqui - Se você não está familiarizado com este módulo, aqui está um rápido resumo.
- %a Abrevia nome dos dias da semana (exemplo: Mon)
- %A Nome completo dos dias da semana (exemplo: Monday)
- %b Nome abreviado do mês (exemplo: Jan)
- %B Nome completo do mês (exemplo: January)
- %d Dia do mês como um número decimal
- %H Hora (24) como um número decimal
- %I Hora (12) como um número decimal
- %m Mês como um número decimal
- %M Minuto como um número decimal
- %S Segundos como um número decimal
- %y Ano sem século como um número decimal
- %Y Ano com século como um número decimal
Por exemplo a configuração padrão para o localTimeFormat é %b. %d, %y. Isto formata a data fazendo com que esteja no formato de mês abreviado. dia númérico, ano com dois dígitos, por exemplo: Oct. 24, 02. Se queremos incluir o nome do dia, tem uma maneira simples de alterar o localTimeFormat para ler %A, %b. %d, %y. Produz o seguinte: Thursday, Oct. 24, 02.
Renderizando as páginas do Plone
Créditos: Jean Jordaan pela documentação inicial
Aqui abordamos como uma página do Plone é renderizada assim você pode
alterar ou editar esta renderização e adequá-la ao seu próprio site. A
apresentação do conteúdo no Plone se dá através do page template
chamado main_template.pt, que pode ser encontrado no sistema de arquivos en skins\plone_templates e através da ZMI para customização em portal_skins -> plone_templates -> main_template.
Agora está desatualizado, precisa ser atualizado para a 1.1
[1] Page Templates são explicados no Zope Book veja os Capítulos 6 e 13 para mais informações.
7. Extendendo o Plone
Criando um novo tipo de conteúdo
Há vários tipos de itens incluídos no Plone e no CMF. Entretanto pode haver um momento onde os tipos oncluídos não são suficientes para suas necessidades. Esta seção irá ensinar como adicionar suas próprias extensões em uma instância do Plone.
Adicionar seus prórpios tipos pode exigir um pouco de conhecimento de Python. Há várias maneiras de criar extensões para o Plone:
- Realocando tipos de conteúdo existente
- Criando um novo Produto do Zope
- Archetypes
Nota: Alguns deste podem também ser feitos usando ZClasses. Não recomendamos ou abordamos o uso de ZClasses. Há um excelente How To sobre a criação de tipos de conteúdo usando ZClasss aqui:
Realocando tipos de conteúdo existentes
Um tipo de conteúdo é desenvolvido para tarefa e função específicas. Mesmo o Plone tendo vários tipos de conteúdo genéricos, eles podem, ou não preencher suas necessidades. Realocar é um termo para para pegar um tipo de conteúdo existente, como as Notícias, e mudá-lo para que se adecue as suas mecessidades de uma maneira melhor.
É mais fácil seguir com um exemplo. A marioria das empresas publicam Reportagens que são avisos de companhias de notícias tais como novos produtos ou objetivos. Para elas as notícias são suficientes, mas vamos dizer que elas querem que algumas coisas diferentes aconteçam a estas publicações:
- um nome diferente, descrição e ícone do Item Notícias
- cada publicação terá texto padrão no final descrevendo a empresa, um contato, e assim por diante. Ao invés de ser adicionado por cada publicação, vamos adicionar isto em um template e ter todas as publicações mostradas com estas informações.
Faremos passo a passo para completar isto.
Criando um novo tipo de conteúdo de um tipo existente
Na ZMI acesse portal_types. A ferramenta portal_types
lista todos os tipos de conteúdos registrados no site. Isto inclui
todos os tipos padrões, Documents, Folders e é claro News Items. -
Usando o menu Add no canto direito, selecione Factory-based Type Information
- Digite o id
Press Releasee emUse default type informationselecioneCMF Default: News Item. Então precioneAddpara competar este formulário.
Cada tipo de conteúdo no Plone tem informação sobre describing the content type, these are listed in the menu. Selecting the News Item means that the Press Release will have the same initial properties and configuration as the News Item.
Na lista do portal_types você verá que um novo tipo de conteúdo foi criado chamado Press Release.
Você também vai ver que se você acessar o Plone como um usuário normal,
eles irão ser capazes de adicionar o objeto Press Release.
Customizando este novo tipo de conteúdo
Neste momento o objeto Press Release não é muito expressivo, ele será o mesmo que um News Release, mas com nome diferente. Na ferramenta portal_types selecione o ojbeto recém criado Press Release. Isto trará as propriedades do tipo, que serão as mesmas que a das Notícias News Item. Por exemplo, a descrição tem "News Items contain ...". Esta é a descrição que aparece para o Press Release e deve ser alterada para algo mais adequado, por exemplo: "Press Releases contain news for the public".
Alterando estes valores você pode alterar como o conteúdo aparece.
Valores dos Tipos de Conteúdo
- Description -- as descrição que aparece para este conteúdo
- Icon -- o id do ícone que é usado para este conteúdo
- Product meta type -- o meta type para este conteúdo
- Product factory method -- o método que é chamado pelo produto factory para criar este pedaço de conteúdo.
- Initial view name -- não é usado no Plone
- Implicitly addable -- este conteúdo pode ser adicionado a uma pasta, a menos que seja especificado onde.
- Filter content types -- se este tipo de objeto é baseado em Folder (exemplo: Folders) então este filtro é habilitado para os tipos de conteúdo que podem ser adicionados pelos usuários a este objeto.
- Allowed content types -- se este objeto é um objeto baseado em Folder e o
Filter content typesé permitido, somente os tipos de conteúdo especificados nesta lista serão adicionados. - Allow discussion -- sconjunto de status padrão para discussão para todos os tipos do conteúdo.
Custominzando os templates para este tipo de conteúdo
Para completar nosso segundo objetivo nós teremos que alterar os
templates para este tipo de conteúdo para apresentar uma visão
diferente para o usuário. Na ferramenta portal_types selecione Press
Releases e então a aba Actions.
É mostrada a lista de ações para cada tipo de conteúod, você
provavelmente reconhecerá estas ações das abas que aparecem no topo da
página para o conteúdo.
No nosso caso a ação que queremos alterar é a ação View.
Esta ação é a página padão que o usuário obtém quando acessa este
conteúdo. Cada ação aponta para um Page Template que é chamado quando a
ação é chamada. Pelo fato de termos baseado este tipo em um News Item a ação de visualizar apontará para newsitem_view. Fazendo uma busca pelas skins do Plone veremos que newsitem_view atualmente está relacionado ao objeto portal_skins/plone_content/newsitem_view.
PAra alterar a visualização teremos que fazer uma nova página, a
maneira mais fácil de fazer isto é selecionar o objeto na ZMI e clicar
no botão customise. Isto vai criar uma cópia do objeto na pasta de customização, você pode acessá-la em portal_skins/custom.
Você notará que o nome deste objeto ainda é o mesmo daquele
especificado na ação. Para distinguir os objetos vamos renomear este
objeto de newsitem_view para pressrelease_view. Volte para portal_types/Press Releases/manage_editActionsForms ae encontre a ação View e mude-a de newsitem_view para pressrelease_view. A ação de visualização para um Press Release deve agora apontar para aquele novo page template.
Tudo o que temos que fazer agora é alterar a visualização assim temos o
que queremos no botão. Esta é uma maneira simpres de alterar o pressrelease_view assim que a HTML requerida é adicionada á página. Por ecemplo depois:
This item does not have any body text, click the edit tab to change it.
Você pode adiconar:
About My Company
Blah....
Isto agora nos possibilita completar o que queremos para mostrar algum conteúdo extra no final de cada página
Overview
REalocar conteúdo é uma maneira simples de alterar conteúdo no Plone assim alterações simples podem ser feitas no conteúdo. Enquanto permite alterações simpres, não permite alterações complicadas no scopo do tipo de conteúdo original.
Criando um novo Produto Zope
De todos os métodos de criação de tipos de conteúdo, criar um novo produto Zope é de longe o mais poderoso. Entretanto pode ser mais complicado de entender e requer conhecimento de Python. Se você é um programador experiente ou deseja se familiarizar mais com o Plone internamente, esta é a opção para você. Os limites para escrever o produto são a sua imaginação.
Entretanto pelo fato deste assunto ser tão profundo, não vamos abordá-lo todo aqui, ao invés vamos fazer algumas suposições.
- Você entende Python.
- Você sabe como fazer um produto básico para o Zope.
...
Usando Archetypes
Archetypes é um framework para o desenvolvimento de novos Tipos de Conteúdo no Zope/CMF/Plone. Schema geram automaticamente os formulários, tem simples integração com tipos de conteúdo ricos, e tem baixa barreira de entrada para as exigências complexas que o Zope coloca nos novos objetos de conteúdo.
Archetypes (formalmente conhecido como CMFTypes) é um Produto Zope que simplifica a criação de novos tipos de conteúdo abaixo do Zope 2 e para o Framework de Gerenciamento de Conteúdo - Content Management Framework (CMF). Um tipo de conteúdo deve ser um documento, evento, imagem, ou qualquer outro objeto de conteúdo que está disponível para os criadores usuários/conteúdo para adicionar a um site de gerenciamento de conteúdo do Zope. A maioria dos projetos de gerenciamento de conteúdo envolvem a introdução de novos tipos de conteúdo, que podem ser ambos complicados e concumir tempo. Archetypes oferecem um framework simples e extensivo que pode tanto ter desenvolvimento e custos de manutenção dos tipos de conteúdo do CMF enquanto reduz a curva de aprendizado para os casos mais simples.
TA criação de um novo Tipo usando Archetypes envolve um arquivo texto principal (python) que define os campos e outros objetos dentro do seu tipo, suas propriedades, e seus comportamentos. Archetypes usa estas informações para auto gerar sob demanda todos os formulário e páginas que precisamos adicionar, editar e visualizar os dados dos tipos. Quando você escrever este arquivo, você então tem um produto que você deve instalar como qualquer outro porduto do CMF/Plone.
Mais informações sobre Archetypes, seu Guia do Desenvolvedor e outras informações estão em http://plone.org/documentation/archetypes/
Os formulários e navegação do Plone
Crédito: Geoff Davis
O Plone tem um sistema de navegação de de formulário que ajuda a facilitar a criação e navegação dos formulários.
Portal form
A ferramenta portal_form oferece serviços de validação
e navegação para os formulários. A maneira mais fácil de descrever isto
é ver como o portal_form funciona, por exemplo o processo de editar um
objeto Link.
A URL para editar um link é ../myLink/portal_form/link_edit_form. A ação do HTML de editar o formulário é ../myLink/portal_form/link_edit_form.
A ferramenta 'portal_form intercepta a url e checa pelos mais novos
valores submetidos. Se a ferramenta portal form vê novos valores,
portal_form acha um conjunto de validadores para o formulário em portal_properties/form_properties sheet e invoca-os nos valores submetidos. A corrente dos validadores retorna success ou failure. Portal_form olha no portal_properties/navigation_properties
para ver o que deve acontecer depois, e leva ao destino apropriado.
Pelo fato do portal_form cuidar da invocação da validação e da
navegação, tudo o que os códigos de processamento do formulário tem que
fazer é atualizar seu objeto. O resultado final: validadores simples e
medulares e simples códigos de processamento de formulários, todos eles
podem ser reconfigurados usando property sheets em portal_properties.
Aqui está o que você precisa fazer para que um portal_form funcione para seus formulários:
- No seu formulário: Mude as ações de seu formulário para que
ele seja submetido a ele mesmo (configure a ação para request/URL --
veja
link_edit_form). Adicione uma variável escondida chamada form_submitted e configure seu valor para template/id. Portal_form testa a REQUEST.form_submitted para determinar se um formulário foi submetido ou não. - Registre um conjunto de validadores para seu formulário. O
registro toma lugar através de uma chamada para o método
setValidators() do portal_form. O primeiro argumento é o nome do
formulário, e o segundo é uma lista de validadores. Ou você pode também
registrar validadores manualmente através de
portal_properties/form_properties. Para configurá-los automaticamente:
portal_form.setValidators('link_edit_form', ['validate_id', 'validate_link_edit']) - Os validadores na lista são chamados em ordem. No exemplo acima, validate_id é um validador genérico usado pela maioria dos fomrulários para checar um id do objeto, e validate_link_edit checa as propriedades específicas da classe Link.
- Escreva um validador para seu formulário. Seu validador deve retornar (1) um status (geralmente se
successoufailure), (2) um conjunto de mensagens de erro em um dicionário, e (3) um dicionário de propriedades que são passadas pelo o próximo estado da navegação. Se seu validador é parte de uma corrente, você pode acessar o status / erros retornados pelo validador anterior na corrente. Estes valores estão disponíveis no REQUEST como 'REQUEST['validation_status']' e 'REQUEST['errors']'. - Uma aplicação comum dos dicionários de propriedades é passar para um portal a mensagem de status configurando a chave
portal_status_message. A ferramenta de navegação passará estas propriedades para o próximo estado da navegação, se no REQUEST (quando o próximo estado é um page template ou um script python) ou como parâmtros de busca (quando o próximo estado é uma URL ou ação). Observe que se você invocar um script depois da validação, você vai precisar ter um script para obter seu portal_status_message fora do REQUEST e passá-lo para a=o próximo estado da navegação. - Escreva um formulário de manipulação. O manipulador deve
modificar seu objeto e seu metadata do REQUEST e então retornar um
código do status. Qualquer código adicional para invocar o validador e
para executar a navegação é agora desnecessário e deve ser deletado.
Seu formulário de manipulação deve retornar uma tupla consistindo de um
status (geralmente se
successoufailure), o contexto que deve ser usado pelo próximo estado de navegação (retornar um contexto permite que o objeto seja instanciado através do portal_factory -- veja abaixo), e um dicionário de propriedades que serão passados pelo próximo estado de navegação. - Configure a navegação do formulário desejado em
portal_navigation(veja abaixo)
Portal navigation
A ferramenta portal_navigation é parte de um controlador para tratar os formulários de navegação. A navegação é completamente configurável através da navigation_properties sheet em portal_properties. O formato de uma propriedade de navegação é:
[type].[action].[status] = [next thing to do]
Por exemplo, a navegação para editar um link se parece com:
link.link_edit_form.failure = link_edit_form
link.link_edit_form.success = script:link_edit
link.link_edit.success = action:view
A ferramenta de navegação implementa o padrão do controle do estado para Design Patterns, e o navigation_properties sheet é uma tabela de transição do estado. Do lado esquerdo das propriedades de navegação acima, é indicado o estado atual, e no lado direito é indicado a transição.
Por exemplo:
link.link_edit_form.failure = link_edit_form
significa que depois de receber um aviso de failure do link_edit_form de validação em um link, a ferramenta de navegação deve reinvocar o page template no contexto atual. E:
link.link_edit_form.success = script:link_edit
significa depois de receber um aviso de success de um link_edit_form de validação em um linl, invoca o script link_edit em um contexto atual. E:
link.link_edit.success = action:view
significa que depois de receber um aviso de success do link_edit invocado em um link, executa a ação de visualização no link atual.
As transições especificadas no lado direito podem ser as seguintes:
PAGE_TEMPLATE
invoca o page template PAGE_TEMPLATE em um contexto atual
action:ACTION
invoca a ação ACTION em um contexto atual
script:SCRIPT
invoca o script SCRIPT no contexto atual
url:URL
redireciona para a URL (absoluta) especificada
Além disso, as transições pode incorporar dados do request através de colchetes. Por exemplo, url:http://www.zope.org/?myId=[id] será enviado para o usuário para a URL especificada com o [id] substituída pelo valor do REQUEST.id.
Diagnosticando Segurança no Plone
Se você está desenvolvendo no Plone e algo falhar na segurança será apresentado o login_form. Isto não é muito útil no desenvolvimento. Então aqui temos alguns mecanismos para ajudar você a saber o que está acontecendo de errado.
- Na ZMI (/manage) selecione o objeto cookie_authentication e apague o valor para
Auto-login page IDque está provavelmente configurado para login_form. - Instale o produto VerboseSecurity
- Configure a variável de ambiente, ZOPE_SECURITY_POLICY para PYTHON (Para maiores informações sobre as variáveis de ambiente que fazem o Zope se comportar diferentemente, olhe o arquivo doc/environment.txt dentro dos fontes do Zope)
- Reinicie seu Zope
- Quando um erro de segurança ocorre, o VerboseSecurity deve dar informações úteis.
- Isto é muito útil para debug, mas observe que é um performance hit, assim deve rodar somente em site de desenvolvimento.
8. Texto Estruturado
Formatação básica do texto
- Texto em itálico
Digite:
*italics*
para obter isto: italics
- Texto sublinhado
Digite::
_underline_
para obter isto: underline
- Texto negrito
Digite::
**boldface**
para obter isto: boldface
Cabeçalhos e parágrafos
- Cabeçalhos de texto
Digite::
My header
If you enter a single line paragraph (e.g. like the one
above and then indent the first line of the next paragraph,
the text in the one-line paragraph will be transformed into
a header.
Note that the second paragraph in the section also has
its first line indented.
Be sure to leave a blank line between paragraphs. This
paragraph's first line is indented, too.
Subheading 1
Use additional indentation to generate subheaders.
Notice that the subheading's level of indenting is the
same as the level for the previous paragraph, but that
*this* paragraph is further indented. It's the extra
indenting of *this* paragraph that creates the subheading.
Subheading 2
Get smaller subheadings by indenting even more.
Subheading 3
Get even smaller subheadings by indenting even more.Para obter isto:
My header
If you enter a single line paragraph (e.g. like the one above and then indent the first line of the next paragraph, the text in the one-line paragraph will be transformed into a header.
Note that the second paragraph in the section also has its first line indented.
Be sure to leave a blank line between paragraphs. This paragraph's first line is indented, too.
Subheading 1
Use additional indentation to generate subheaders. Notice that the subheading's level of indenting is the same as the level for the previous paragraph, but that this paragraph is further indented. It's the extra indenting of this paragraph that creates the subheading.
Subheading 2
Get smaller subheadings by indenting even more.
Subheading 3
Get even smaller subheadings by indenting even more.
Texto pré-formatado
- Bloco de texto pré-formatado
Digite:
The next block of text will be formatted exactly the way I have typed it::
This is all preformatted.
Your formatting will be used until...
... you stop indenting text.
None of the *structured text* **commands** _work_ here.
This is still indented.
This is no longer preformatted.
Para obter isto:
The next block of text will be formatted exactly the way I have typed it:
This is all preformatted.
Your formatting will be used until...
... you stop indenting text.
None of the *structured text* **commands** _work_ here.
This is still indented.
Não é pré-formatado.
- Texto pré-formatado na linha
Digite:
Some ordinary text here. Some 'preformatted text here'. More ordinary text.
para obter isto:
Some ordinary text here. Some preformatted text here. More ordinary text.
Listas
- Listas não ordenadas
Digite:
* First item
* Second item. Note that there is a blank line between
each list item.
* Make lists within lists by using extra indentation
* Second indented item.
* Third item in the main list.para obter isto:
- First item
- Second item. Note that there is a blank line between
each list item.
- Make lists within lists by using extra indentation
- Second indented item.
- Third item in the main list.
- Listas numeradas
Digite:
1 First item
2 Second item. Again, note that there is a blank line
between each list item.
3 Third item in the main list.para obter isto:
- First item
- Second item. Again, note that there is a blank line between each list item.
- Third item in the main list.
Observe que listas nimeradas não podem ser colocadas dentro de listas não numeradas.
- Listas de definição
Digte:
First item -- More information about the first item.
Second item -- More information about the second item.
Third item -- More information about the third item.para obter isto:
- First item
- More information about the first item.
- Second item
- More information about the second item.
- Third item
- More information about the third item.
Links
- Links
Digite:
"A link to CNN":http://www.cnn.com
para obter isto:
- Email
Digite:
"address@example.com":mailto:address@example.com
para obter isto::
- Referências
Digite:
I am going to refer to a footnote here [1].
Later in the text I will have a footnotes
section.
.. [1] My footnote. The initial whitespace
controls indentation, then the two periods
followed by the space and the bracketed text
create the anchor.para obter isto:
I am going to refer to a footnote here [1].
Later in the text I will have a footnotes section.
[1] My footnote. The initial whitespace controls indentation, then the two periods followed by the space and the bracketed text create the anchor.
Imagens
- Imagens
Digite:
"Text shown when the browser does not load the image":img:logo.jpg
para obter isto:

Você pode usar uma URL arbitária para a imagem, exemplo:
"Plone logo":img:http://www.plone.org/logo.jpg

Tabelas
- Tables
Digite:
|------------------------------------|
| Fruit | Nut | Mammal |
|====================================|
| Apple | Peanut | Squirrel |
|------------------------------------|
| Orange | Macadamia | Woodchuck |
|------------------------------------|
| Banana | Walnut | Dolphin |
|------------------------------------|
| This spans 2 columns! | Cat |
|------------------------------------|
| Pear | This spans 2 columns! |
|------------------------------------|
| This spans 3 columns! |
|------------------------------------|
para obter isto:
|
Fruit |
Nut |
Mammal |
|---|---|---|
|
Apple |
Peanut |
Squirrel |
|
Orange |
Macadamia |
Woodchuck |
|
Banana |
Walnut |
Dolphin |
|
This spans 2 columns! |
Cat |
|
|
Pear |
This spans 2 columns! |
|
|
This spans 3 columns! |
||
9. Apêndice A: Fontes
Websites
- Zope Labs é especialmente útil para receitas para Zope/CMF e trechos de código.
- HOW-TO do Plone geralmente contém informação atualizada.
- Listas São a melhor maneira de se comunicar através de chat em tempo real como IRC.
- Python Cookbook é especialmente útil para iniciantes em Python
Desenvolvimento
- Collective é uma comunidade de iniciativa de desenvolvimento. As pessoas com grande conhecimento em Python podem obter acesso e contribuir para seus módulos. Muitos módulos não estão publicados e são somente acessíveis usando CVS.
- Archetypes é a melhor maneira de gerar classes para usar com o Plone. TTWTypes são outras abordagens interessantes para construir objetos de conteúdo com pouca programação.
- Zope CVS
é um tesouro cheio de coisas boas como os produtos CMFStaging e
PageDesign. Muitas coisas do CVS são pouco documentadas e requerem o
uso dos fontes.
Aprendizagem dos Recursos
- The Pavoda Videos são um conjunto de vídeos feitos no sprint de Pavoda. Eles abordam muitos tópicos do Plone incluindo: CMF Collection, CMF Member Groups, o Control Panel, Instalação, e adição de novo conteúdo. Eles estão disponíveis em Inglês, Japonês e Alemão.
- The Zope Book é um completo conjunto de documentos para o Servidor de Aplicações Zope, no qual o Plone é baseado. O livro do Zope ajudará os usuários ou desenvolvedores a entender melhor como o Plone funciona.
10. Sobre este livro

Este livro é um experimento na publicação Open Source mantendo um produto de software Open Source, o Plone, direcionado para vários espectadores, de usuários finais a desenvolvedores. Produtos Open Source dirigem-se as necessidades de usuários comuns que são raros. De fato, a falta de documentação boa e compreensiva mantém o Código Livre longe de acesso de muitos. Neste apêndice, explicaremos como vamos construir este livro e como você pode contribuir para manter a evolução do Plone.
Regras do livro
Este não é um livro tradicional. Ao invés de matar árvores ele é um arquivo --- uma crescente coleção de documentação disponível na web, editado e organizado para facilitar o uso. Os objetivos do Livro do Plone são claros, corretos, compreensivos e atualizados. Isto significa que também necessita ser adaptado. Enquanto outras documentações são e devem estar disponíveis, o livro quer ser a principal fonte que o usuário precise.
Mecanismos do livro
Ele é escrito usando texto estrutura e armazenado em cvs no Sourceforge no projeto de documentação do Plone (plone-docs).
Processo de Documentação
Este é o processo para escrever a documentação. Pretende ser um guia.
- As pessoas escrevem a documentação de qualquer forma onde eles escolha. Isto faz com que seja fácil para alguém escrever a documentação diminuindo as fronteiras.
- Eles enviam um email para plone-docs dando a localização da documentação que escreveram. Deve ser um email longo, wiki, arquivo texto.
- Um editor revisa a documentação e se é apropriada é incluída no livro.
- Um crédito será dado ao autor. [2]
- A documentação será editada de acordo com o resto do livro em termos de estilo e conteúdo.
- O editor adiciona na documentação.
- O editor envia um email para plone-docs e ao autor da documentação deixando-o ciente das mudanças.
- Quando novas publicações ocorrere, se aquela documentação não é mais relevante ou incorreta, o autor original será contatado para uma atualização.
Scope e Usuários
Vamos nos concentrar primeiramente nos usuários finais do Plone neste livro. Há vários possíveis usuários e casos de uso, mas a chave é melhorar a usabilidade imediata do Plone. Pode ser tentador documentar o CMF, mas isto deve ser feito somente quando conincidir com o Plone. É também tentador discutir Plone, CMF, Zope, DTML, ZPT e assim por diante. Este não é objetivo do livro, onde foi possível apontamos outras referências (por exemplo o Zope Book) assim os usuários podem achar as soluções.
Funções dos leitores
Estas são as funções sugeridas que os leitores tem que ter:
Usuário do Site
A pessoa que adiciona conteúdo, escreve documentos e assim por diante. Tem segurança muito limitada.
Gerenciador do Site
A pessoa que gerencia o site, desperdiça tempo com abas, caixas e assim por diante. Faz a revisão do conteúdo e modifica as funções. Deve conhecer css e HTML.
Administrador do Site
A pessoa que instala e olha depois a administração do Plone geralmente combinada com uma das outras funções. Mais concentrado em coisas como integração com Apache, etc. Realmente não muito abordado neste livro.
Desenvolvedor
A pessoa que desenvolve código novo para o site com novos produtos e skins.
Editores
Andy McKay

Email para contato: andy@agmweb.ca
Andy roda ZopeZen e Agmweb Consulting. Resultado de várias noites no computador. Quando não sentava na frente do computador Andy podia ser encontrado caminhando com seu cachorro, concertando a casa, surfando ou seu passatempo preferido, usando seu kaiak.
Copyright e Licensa
Os conteúdos deste livro estão sob a licensa Open Publication License v1.0 sem qualquer opção.
[1] Como outros contribuidores terão crédito.