Curso Online - Plone Básico - Versão 2.0.5
Entendendo o Workflow do Plone
Todos os objetos do Plone estão dentro de
um sistema de Workflow, que nada mais é que um sistema de
fluxo de informações, onde a informação
vai sendo direcionada de acordo com regras para o conteúdo.
O Plone trata o Workflow de uma maneira simples,
onde os usuários tem User Roles, que são os papéis
do Plone. Estes papéis permitem que se alterem os estados dos
objetos, funcionando tudo isso através de transições.
Porém, vamos por partes, para termos um
bom entendimento de todo o seu funcionamento, passando por todas as
partes, desde definições de papéis até os
estados dos objetos.
6.1 – Estados dos Objetos
Todos os objetos padrões de um site Plone,
possuem alguns estados em comum. E estes estados são: visível,
pendente, publicado e privado.
Desenvolvedores pode criar novos Estados, porém
esse assunto foge de nosso objetivo de curso. Vamos detalhar os
estados agora:
Visível: Este é o estado padrão dos objetos no Plone. Objetos definidos como visiveis podem ser acessados através da url ou através do sistema de busca do Plone. Porém não aparecem na árvore de navegação. Estes Objetos só podem ser editados por seus donos ou por administradores do portal Plone.

Pendente: Este estado é definido pelo dono do documento, geralmente membros, que enviam o documento, com o objetivo de publicar o documento. Quando um documento é enviado, ele vira pendente, e passa a permitir que os revisores possam publicar ou rejeitar a publicação do documento. Quando um objeto é definido como pendente ele somente pode ser editado por managers (administradores do site).


Publicado: Um objeto publicado fica
visivel para todos os visitantes do site. Quando um item de news
(notícia) é publicado ele aparece no menu
news(notícias) do Portal Plone. Quando uma pasta é
publicada, ele também aparece no Portlet de Navegação.
Quando um item é publicado, ele somente pode ser editado pelo
manager do site ou poder ser retraido e voltar novamente ao estado
visível para ser editado, ai sim, novamente enviado para
aprovação e ser publicado.


Privado:
Objetos em estado privado só podem ser visualizados e editados
por seus donos e por managers que tenham acesso a pasta em questão.
Eles não aparecem na lista de buscas e na lista do Porltet de
Navegação.

6.2 - Roles / Local Roles (papéis/papéis locais)
Dentro de um site Plone, existem diversos papéis (roles) que permitem dizer o que cada usuário dentro do Plone pode fazer. Quando o Plone é instalado, por padrão existem: anônimos, membros, dono, revisor e gerente (anonymous, member, owner, reviewer e manager).
6.2.1 – Roles
Anônimo
(anonymous) – Todo visitante de um site plone e não tenha
feito o login, automaticamente recebe o papel de anônimo.
Membros
(members) – Membros são os usuários que fizeram o
login em um site Plone. Usuários com papéis de membro
podem adicionar conteúdos e mudar as suas próprias
preferências.
Revisores (reviewer) – São usuários que além de serem membros, são revisores. Este papel permite que se publique ou rejeite o pedido de publicação de conteúdos de outros sites. Quando um revisor loga no site e tem documentos pendentes aguardando aprovação, uma lista de revisão aparece, como esta abaixo:

Dono
(owner) – Todo membro que cria um conteúdo dentro do Plone,
se torna dono de seu conteúdo. Podendo modificar a vontade o
seu conteúdo.
Gerente
(manager) – Podem visualizar todos os tipos de conteúdos
em todos os seus estados, podendo publicar diretamente documentos, ou
rejeita-los. Podem também incluir, remover e adicionar papéis
a outros usuários.
6.2.2 –
Papéis Locais
Papéis Locais (local roles) – Em algum momento, pode se determinar que somente em algumas áreas do site, um determinado usuário tenha um papel em específico. Nesse caso se cria um papel local e atribui ao usuário a permissão desejada.
Vamos
atribuir o papel de manager para um outro membro dentro da pasta
Minha Pasta:

![]()
Vamos clicar
em compartilhamento:
Uma tela
semelhante a essa vai aparecer:

Vamos
trabalhar todas as opções por partes.
Papéis
adquiridos: Baseado no sistema de aquisição do
Zope, todas as permissões de nível superior, são
automaticamente herdadas para seus objetos. Todos os objetos pai
passam sua herença a seus objetos filhos, onde no caso são
os membros. Objetos filhos. Esta permissão só pode ser
mudada por seu Dono.

Papéis Atribuidos: São papéis atribuidos a sua pasta por você ou por um manager(gerente). É possível remover o

Para adicionar outro usuário com algum papel em específico, basta que no formulário, como esse abaixo, colocar o nome do usuário ou clicar em executar busca, que ele mostra todos os usuários


Baseado
em seus papéis você pode adicionar determinados papéis.
Vamos atribuir o papel de dono da pasta Minha Pasta do usuário
fabio para o rodrigo. Selecione o usuário rodrigo e clique em
atribuir papel....
![]()

Podemos realizar essa operação com grupos também.

6.3 - Revisando e Publicando Objetos
Como foi falado anteriormente, o Plone possui um mecanismo para revisar e publicar objetos. Vamos fazer todo esse procedimento, passo a passo.
Utilizando um usuário membro, sem o papel de revisor, foi criado um documento.Clicando em sua lista de estados e clique em enviar. Estou usando o usuario fabio.

Agora o nosso estado do documento foi mudado:

Agora, vamos logar no Plone com o usuario admin ( o administrador do Plone), e vamos dar permissão de revisor de todo site a um outro usuário.
Acesse a interface de gerencia do zope, e clique em acl_users

Vamos visualizar uma tela com os usuários, agora vamos clicar no usuário rodrigo:

Com o usuário rodrigo selecionado, atribua a permissão de reviewer (Revisor) a ele, e clique em change.

Com isso os seus papéis foram mudados:

Agora, saia do usuário admin, e faça o logon com o usuário rodrigo. Veja que do seu lado direito apareceu uma janela de lista de revisão .

Clicando no item, podemos escolher ou aprovar ou rejeitar a solicitação:

Clicando em publicar aprovamos a solicitação e clicando em rejeitar, cancelamos a solicitação.
Exercícios Proposto:
Criar outros documentos e publicá-los
-
- Publicar Notícias e Eventos (para visualização no calendário)