Re: [zope-pt] Workflow - Abortar transição
2009/3/31 vinicius_marco marco_vinic...@hotmail.com Pessoal, Preciso criar uma validação que impeça a transição para determinado estado enquanto as condições não forem atendidas. Assim, por exemplo, caso se deseje publicar um objeto inconsistente, a transição deve ser abortada e uma mensagem exibida. Tentei utilizar os scripts nos eventos de pre e pos transição, mas não vi forma de abortar a transição uma vez iniciada. Na transição tem como usar um expression, pense nele como sendo um condition (do template). Eu já utilizei e funcionou. A diferença de usar o expression é que enquanto o objeto estiver incosistente a transição não poderá ser feita. Crie um método no seu objeto que diga se ele está insconsistente e no expression use algo como here/estaInconsistente. Ou crie uma browser view que diga se o objeto está incosistente e use algo como here/@@estaInconsistente no expression. Lá na tela da transition na ZMI tem uma ajuda ao lado do campo Expression, lá vc encontra mais informações. Até mais, -- Luciano Pacheco Simples Consultoria www.simplesconsultoria.com.br
Re: [zope-pt] Workflow
2008/6/10 Cristina Souza [EMAIL PROTECTED]: Olá pessoal, Olá! Alguém sabe como fazer isso? Montar uma estrutura de workflow. Funcionará da seguinte forma: - usuário coloca uma notícia ou texto no site; - notícia fica com status de revisão; - revisor olhará a notícia; - se ok, publica essa notícia que irá para um portlet da página inicial automaticamente.; - se não estiver ok ou descarta ou altera; Bom Cris, o Workflow padrão (do Plone 3.0.6 pra frente) eh exatamente assim ... sugiro que vc instale o DCWorkflowGraph. Eh apenas um produto que cria uma nova guia/aba onde existe um desenho sobre o Workflow, estados e transições, com o desenho vc entende rapido! Uma imagem vale mais q ... =) Sorte! Att., Cris -- Castardo ThreePointsWeb [EMAIL PROTECTED] +55 61 8162-2072
[solucionado] Re: [zope-pt] workflow actions
Caros, o problema acontecia por que as ações de workflow são chamadas dentro de um bloco try/except, e quando há exceções elas são simplesmente descartadas, dando a impressão de que o código está correto e não sendo chamado. No meu caso o erro estava no processamento do texto que vinha do comentário, com o qual eu fazia uma formatação para uma string unicode sem antes ter convertido o comentário para unicode. Quando eu fazia a transição sem comentários, ou com comentários em ascii, funcionava, mas quando eu botava acentuação no comentário parava de funcionar, sem nenhuma mensagem para me alertar. Então a dica que fica: cuidado com as ações de workflow, e criem blocos try/except próprios. []'s Daniel -- Daniel Monteiro Basso Líder Técnico do Centro de Inovação Trino Pólo - Pólo de Informática de Caxias do Sul http://www.trinopolo.com.br
Re: [zope-pt] workflow actions
Daniel, Isso não é uma erro INFO Plone Debug é uma informação que o método que esta sendo utilizado esta obsoleto. Utilizando o tradutor do Google já tirava a sua dúvida: O is_folderish script é obsoleto e será removido no plone 3,5. Use o isStructuralFolder método do @ @ plone vista vez Da uma olhada no código que o ArchGenXml gerou, procure aonde esta sendo chamado is_folderish e troque por isStructuralFolder fazendo isso irá para de aparecer essa mensagem. abraços, Clayton Em 13/12/07, Daniel Monteiro Basso[EMAIL PROTECTED] escreveu: Caros, estou enfrentando um probleminha esquisito, tentei procurar casos semelhantes pela internet mas não sei se estou procurando direito, não achei nada, por isso peço a ajuda de vocês. Tenho um tipo de conteúdo, criado com o ArchGenXML, que tem vários estados e transições, mas para simplificar vou mencionar apenas os envolvidos no problema: +--+ Voltar para Edição +---+ |Edição|-|Análise| +--+ +---+ `^ Enviar para Análise Tenho uma ação associada a cada uma das transições, que são chamadas normalmente quando seleciono seus itens no menu estado. Porém, quando uso a opção avançado... para mudar o estado, a ação só é chamada no enviar para análise, e o voltar para edição apresenta esta mensagem no console: 2007-12-13 17:33:36 INFO Plone Debug: The is_folderish script is deprecated and will be removed in plone 3.5. Use the isStructuralFolder method of the @@plone view instead. Alguém tem idéia do que possa estar acontecendo? []'s Daniel -- Daniel Monteiro Basso Líder Técnico do Centro de Inovação Trino Pólo - Pólo de Informática de Caxias do Sul http://www.trinopolo.com.br Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Links do Yahoo! Grupos
Re: [zope-pt] workflow actions
Olá Clayton, valeu pela resposta, mas eu sei que isso não é uma mensagem de erro. O que eu quis chamar a atenção é que esta mensagem não é apresentada quando a transição é feita diretamente, sem usar a opção avançado Mesmo com a mensagem ele ajusta corretamente o estado no workflow e as permissões do objeto, apenas não chama a ação (pós-transição) que eu associei. Quanto a ser algo relacionado ao código gerado pelo ArchGenXML, acho pouco provável, mas de qualquer forma continuarei investigando, e caso encontre o motivo reportarei aqui na lista. []'s Daniel On Thu, 13 Dec 2007 19:19:27 -0200, Clayton [EMAIL PROTECTED] wrote: Daniel, Isso não é uma erro INFO Plone Debug é uma informação que o método que esta sendo utilizado esta obsoleto. Utilizando o tradutor do Google já tirava a sua dúvida: O is_folderish script é obsoleto e será removido no plone 3,5. Use o isStructuralFolder método do @ @ plone vista vez Da uma olhada no código que o ArchGenXml gerou, procure aonde esta sendo chamado is_folderish e troque por isStructuralFolder fazendo isso irá para de aparecer essa mensagem. abraços, Clayton
Re: [zope-pt] Workflow - Eventos
On 5/17/07, Natalia [EMAIL PROTECTED] wrote: Olá! Boa tarde Opa =) Alguem sabe me dizer se é possivel que um evento publicado fique visivel somente para membros do site? Que 'papel esse usuário deve ter? Sim, para isto vc deve intervir no portal_workflow, eh ele quem controla o acesso aos objetos. Vah em portal_workflow aba states(estados) clique no estado published(publicado) clique na aba permissions (permissoes) chegou =) E entao vc encontra quatro permissoes, assumindo que seu workflow seja o padrao do Plone, duas delas (View Access Content Information) vc precisa mexer, tirando o acesso de usuarios anonimos. Dicas: 1-Vc, provavelmente, vai precisar mexer em mais de um estado e restringir isso 2-Quase com certeza, vc precisa deste mesmo comportamento para pastas. Entao vai ter que intervir no folder_workflow e no plone_workflow 3-Vc vai precisar retirar o acquire permissions das duas permissoes q eu comentei acima []'s! Obrigada Natália -- Castardo ThreePointsWeb [EMAIL PROTECTED] +55 61 8162-2072
Re: [zope-pt] Workflow no plone
guimavini escreveu: Olá Pessoal, Olá Vinicius, Criei uma pasta de nome Artigos, quero permitir que apenas três usuários possam postar documentos nesta pasta (vitor, pedro, andre), mas eles não podem sem visualizados no site sem antes se publicado pelo revisor (fernando). Eu atribuo permissão de membro aos três usuários na pasta Artigos, mas não está aparecendo a opção adicionar na pasta para esses usuário e assim eles não conseguem postar os artigos para revisão. Alguém saberia como posso fazer isso? Quem pode criar conteúdo é o 'Dono'. Dê uma lida nessa apostila[1], vai te ajudar a entender melhor o gerenciamento de conteúdos no Plone. [1] http://repositorio.interlegis.gov.br/ILPortalCasas/trunk/docs/gerenciamento_conteudo/GerenciamentoConteudo.pdf Abraço, -- Jean Ferri
Re: [zope-pt] workflow
Alexandre,Voc no precisa mecher no workflow, apenas bastas voc setar a role do seu usurio para Owner e Reviewer.Com esta permisso ele podera publicar direto o contedo.Leonardo Santos caros, tenho um site que ter apenas um manager e gostaria de saber o que eu tenho que alterar no workflow para poder publicar diretamente, sem passar por reviso. Grato.-- :?) __._,_.___ Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: Links do Yahoo! Grupos Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/ Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED] O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. __,_._,___
Re: [zope-pt] workflow
Alexandre,O workflow padrão permite a publicação sem passar por revisão ... O estado inicial é visível e, de lá, pode-se publicar diretamente ...Se não está assim, vá até seu estado inicial (por exemplo, privado) e, em properties, marque publish em Possible Transitions e salve. [ ],-- JJ (|´:¬{)»-Eu sou a ressurreição e a vida. Quem crê em mim, ainda que morra, viverá; e todo o que vive e crê em mim não morrerá, eternamente. Crês isto?O Senhor, Jesus Cristo - Jo.11:25-26- 2006/9/4, alexandre [EMAIL PROTECTED]: caros, tenho um site que terá apenas um manager e gostaria de saber o que eu tenho que alterar no workflow para poder publicar diretamente, sem passar por revisão. Grato.-- :?) __._,_.___ Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: PUBLICIDADE Links do Yahoo! Grupos Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/ Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED] O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. __,_._,___
Re: [zope-pt] Workflow
Elizandra,Experimente o tagged value label na transição que deseja.Wesley,Interessante a sua estratégia! ;-) Vou experimentar ...[ ]s,-- JJ (|´:¬{)»- Eu sou a ressurreição e a vida. Quem crê em mim, ainda que morra, viverá; e todo o que vive e crê em mim não morrerá, eternamente. Crês isto?O Senhor, Jesus Cristo - Jo.11:25-26- Em 01/08/06, Elisandra Fidler Pez [EMAIL PROTECTED] escreveu: Wesley, estou acompanhando essa tua dúvida desde o começo pois preciso muito disso também. Testei essa tua solução e funcionou. Mas agora a questão é como fazer isso no Archetypes*,* será que alguém da lista saberia? Obrigada! Elisandra Wesley Lopes escreveu: Jean, consegui resolver o problema, indo na transição pelo portal_workflow e deixando a propriedade Display in actions box sem o nome. Assim o usuário não pode alterar a propriedade pela interface. Wesley 2006/7/31, Jean Rodrigo Ferri [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]: Wesley Lopes escreveu: Pessoal, Tenho um script que altera o estado de um objeto com o método doActionFor. Para isso, é preciso que o papel que criei (Gestor de Conteúdo) possa tenha acesso as transações de estado. Estas transações devem ser feitas sem a ação direta do usuário. Contudo, está aparecendo a aba estado quando o Gestor de conteúdo está logado e ele pode mudar manualmente o estado. Se tiro as permissões do Gestor de Conteúdo realizar as transações, o script de alterar o estado automaticamente não funciona. Alguém sabe como fazer o script funcionar sem que apareça a aba estado no objeto? Bem, não entendi porque ele poderia aplicar uma transição via script mas não via UI? Mesmo assim uma solução, novamente quick and dirty, seria habilitar um proxy role no script. Abraço, -- Jean Ferri __._,_.___ Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: PUBLICIDADE Links do Yahoo! Grupos Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/ Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED] O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. __,_._,___
Re: [zope-pt] Workflow
Jean, consegui resolver o problema, indo na transição pelo portal_workflow e deixando a propriedade Display in actions box sem o nome. Assim o usuário não pode alterar a propriedade pela interface. Wesley 2006/7/31, Jean Rodrigo Ferri [EMAIL PROTECTED]: Wesley Lopes escreveu: Pessoal, Tenho um script que altera o estado de um objeto com o método doActionFor. Para isso, é preciso que o papel que criei (Gestor de Conteúdo) possa tenha acesso as transações de estado. Estas transações devem ser feitas sem a ação direta do usuário. Contudo, está aparecendo a aba estado quando o Gestor de conteúdo está logado e ele pode mudar manualmente o estado. Se tiro as permissões do Gestor de Conteúdo realizar as transações, o script de alterar o estado automaticamente não funciona. Alguém sabe como fazer o script funcionar sem que apareça a aba estado no objeto? Bem, não entendi porque ele poderia aplicar uma transição via script mas não via UI? Mesmo assim uma solução, novamente quick and dirty, seria habilitar um proxy role no script.Abraço,-- Jean Ferri ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com __._,_.___ Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: PUBLICIDADE Links do Yahoo! Grupos Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/ Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED] O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. __,_._,___
Re: [zope-pt] Workflow
Wesley, estou acompanhando essa tua dúvida desde o começo pois preciso muito disso também. Testei essa tua solução e funcionou. Mas agora a questão é como fazer isso no Archetypes*,* será que alguém da lista saberia? Obrigada! Elisandra Wesley Lopes escreveu: Jean, consegui resolver o problema, indo na transição pelo portal_workflow e deixando a propriedade Display in actions box sem o nome. Assim o usuário não pode alterar a propriedade pela interface. Wesley 2006/7/31, Jean Rodrigo Ferri [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]: Wesley Lopes escreveu: Pessoal, Tenho um script que altera o estado de um objeto com o método doActionFor. Para isso, é preciso que o papel que criei (Gestor de Conteúdo) possa tenha acesso as transações de estado. Estas transações devem ser feitas sem a ação direta do usuário. Contudo, está aparecendo a aba estado quando o Gestor de conteúdo está logado e ele pode mudar manualmente o estado. Se tiro as permissões do Gestor de Conteúdo realizar as transações, o script de alterar o estado automaticamente não funciona. Alguém sabe como fazer o script funcionar sem que apareça a aba estado no objeto? Bem, não entendi porque ele poderia aplicar uma transição via script mas não via UI? Mesmo assim uma solução, novamente quick and dirty, seria habilitar um proxy role no script. Abraço, -- Jean Ferri ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com http://br.acesso.yahoo.com/ Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/zope-pt/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html begin:vcard fn:Elisandra Fidler Pez n:;Elisandra Fidler Pez org;quoted-printable:Universidade de Caxias do Sul;N=C3=BAcleo de Processamento de Dados adr;dom:;;;Caxias do Sul;RS email;internet:[EMAIL PROTECTED] title:Analista de Sistemas tel;work:(54) 218-2198 Ramal 2306 version:2.1 end:vcard
Re: [Zope-pt] Workflow c/ permissões apenas p/ alguns estados - AGX
Opa JJ, Agora, uma coisa que fiquei em curioso: Vc se refere a uma opção de Add no reference field ... Como assim? Isso quer dizer que o reference field me permitiria adicionar o tipo, caso ele não estivesse listado? Se é isso, que opção é essa (e, se tiver algo mais a fazer p/ isso, como é)? é isso mesmo, basta adicionar o atributo 'addable = True' no widget do ReferenceField. Para ativar isso via ArchGenXML, bastaria definir um novo tagged value no field em questão: widget:addable, com um valor verdadeiro. Mas como eu não uso ele, não sei se o suporte está implementado... ;-) Vale a pena dar uma sapeada nas propriedades adicionais que cada Field e Widget disponibilizam. O melhor lugar para ver isso é no próprio fonte: http://trac.plone.org/archetypes/browser/Archetypes/branches/release-1_3-branch/Field.py#L1500 http://trac.plone.org/archetypes/browser/Archetypes/branches/release-1_3-branch/Widget.py#L178 HTH, -- Dorneles Treméa X3ng Web Technology Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/zope-pt/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [Zope-pt] Workflow c/ permissões apenas p/ alguns estados - AGX
E aí, Dorneles? É ... Parece q no AGX (1.4.0-final) não vai rolar (pelo menos, no TaggedValuesSupport não tem) (|':¬{(» Mas, se for o caso, vai na mão, mesmo! ... Muito obrigado pelas dicas e pelas fontes! ... [ ], -- JJ (|´:¬{)» - Eu sou a ressurreição e a vida. Quem crê em mim, ainda que morra, viverá; e todo o que vive e crê em mim não morrerá, eternamente. Crês isto? O Senhor, Jesus Cristo - Jo.11:25-26 -Em 14/12/05, Dorneles Treméa [EMAIL PROTECTED] escreveu: Opa JJ, Agora, uma coisa que fiquei em curioso: Vc se refere a uma opção de Add no reference field ... Como assim? Isso quer dizer que o reference field me permitiria adicionar o tipo, caso ele não estivesse listado? Se é isso, que opção é essa (e, se tiver algo mais a fazer p/ isso, como é)? é isso mesmo, basta adicionar o atributo 'addable = True' no widget do ReferenceField. Para ativar isso via ArchGenXML, bastaria definir um novo tagged value no field em questão: widget:addable, com um valor verdadeiro. Mas como eu não uso ele, não sei se o suporte está implementado... ;-) Vale a pena dar uma sapeada nas propriedades adicionais que cada Field e Widget disponibilizam. O melhor lugar para ver isso é no próprio fonte: http://trac.plone.org/archetypes/browser/Archetypes/branches/release-1_3-branch/Field.py#L1500 http://trac.plone.org/archetypes/browser/Archetypes/branches/release-1_3-branch/Widget.py#L178 HTH, -- Dorneles Treméa X3ng Web Technology Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: PUBLICIDADE Links do Yahoo! Grupos Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/ Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED] O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.
Re: [Zope-pt] Workflow c/ permissões apenas p/ alguns estados - AGX
JJ (Arnaldo Janz Júnior) wrote: E aí, Dorneles? É ... Parece q no AGX (1.4.0-final) não vai rolar (pelo menos, no TaggedValuesSupport não tem) (|':¬{(» Mas, se for o caso, vai na mão, mesmo! ... Muito obrigado pelas dicas e pelas fontes! ... Funciona sim rapá, já tentou o tv 'widget:addable = python:1'? Se a propriedade não está registrada no ArchGenXML ele deixa passar o que você inseriu. Tempos atrás eu postei aqui um modelo simples[1] de associação no ArchGenXML pois uma pessoa estava com dúvidas, e implementa o addable também. [1] http://www.tchezope.org/Members/jean/arquivos/ExemploAssociacao.tgz/view -- Jean Ferri Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/zope-pt/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [Zope-pt] Workflow c/ permissões apenas p/ alguns estados - AGX
Ôps! ... Foi malz ... Bom, não tinha testado nada, só fui olhar o taggedvaluessupport.py e não tinha pensado nisso ... Ôw! ... Muito melhor! ... Valewz, Jean! [ ]ão, -- JJ (|´:¬{)» - Eu sou a ressurreição e a vida. Quem crê em mim, ainda que morra, viverá; e todo o que vive e crê em mim não morrerá, eternamente. Crês isto? O Senhor, Jesus Cristo - Jo.11:25-26 -Em 14/12/05, Jean Rodrigo Ferri [EMAIL PROTECTED] escreveu: JJ (Arnaldo Janz Júnior) wrote: E aí, Dorneles? É ... Parece q no AGX (1.4.0-final) não vai rolar (pelo menos, no TaggedValuesSupport não tem) (|':¬{(» Mas, se for o caso, vai na mão, mesmo! ... Muito obrigado pelas dicas e pelas fontes! ... Funciona sim rapá, já tentou o tv 'widget:addable = python:1'? Se a propriedade não está registrada no ArchGenXML ele deixa passar o que você inseriu. Tempos atrás eu postei aqui um modelo simples[1] de associação no ArchGenXML pois uma pessoa estava com dúvidas, e implementa o addable também. [1] http://www.tchezope.org/Members/jean/arquivos/ExemploAssociacao.tgz/view -- Jean Ferri Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: PUBLICIDADE Links do Yahoo! Grupos Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/ Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED] O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.
Re: [Zope-pt] Workflow c/ permissões apenas p/ alguns estados - AGX
On 12/11/05, JJ (Arnaldo Janz Júnior) [EMAIL PROTECTED] wrote: Olá, pessoALL! (|':¬{D Estou desenvolvendo um cadastro de usuários via AGX em um site que estou trabalhando. É minha primeira experiência c/ AGX (e não muito mais do que isso c/ AT). Tenho quase tudo já modelado exceto uma parte, que, sinceramente, ArchGenXML - Getting started (em plone.org), apesar de muito bom e útil em muitas outras coisas, não me deu idéia de como fazer. Se puder contar c/ a ajuda de vcs (q seja c/ referências onde possa aprender o que preciso e/ ou trocar uma idéia - mesmo q em PVT, quem quiser - ), agradeço muito. A idéia é essa: 1- Member (derivado de CMFMember) possui um campo (['SIM','NÃO']) onde responde se quer ser voluntário do site. APENAS se responder SIM, ele pode preencher seu currículo, que implementei pela agregação de uma classe Curriculo (+ schemata) ao member (mas essa implementação pode mudar de acordo c/ a sugestão). Como representar essa possibilidade (ou não) de prencher seu currículo, dependendo do valor do campo? Bem... eu modelaria assim. Criaria uma classe para o Member, com o esteriotipo member e com o campo adicional curriculo que seria uma referencia para um objeto curriculo. Se a referencia nao aponta para nenhum objeto curriculo, esse member nao tem curriculo. Como voce vai fazer isso na UI nao depende muito do modelo, mas acho que se voce implementar como eu disse e colocar a opcao de add no reference field, fica aceitavel. 2- Após preencher esse currículo (e toda vez que modificá-lo), um e-mail deve ser enviado ao gestor, p/ que lhe atribua funções, que implementei por referências a uma classe Função (e isso tb pode variar à sugestão). Também não consegui imaginar como representar isso. Mandar email é coisa que gosto de fazer em transicoes de workflow. O que voce poderia fazer é criar uma transicao automatica que verifica se o conteudo do objeto mudou e colocar nessa transicao o envio do email. 3- APENAS após a atribuição dessa função, um e-mail deve ser enviado ao voluntário p/ que continue seu cadastro (dados profissionais, dados pessoais, ..., tb classes + schematas). Mesmo esquema aqui. Definir o fluxo do workflow e colocar scripts nas transicoes. Acredito que a solução p/ os 2 primeiros deve resolver isso aqui. Tinha pensado em representar todas as agregações e relacionamentos/referências no diagrama de classes e dar as permissões de adicionar o determinado tipo p/ os estados de workflow. Nao é má ideia, mas seria legal proteger o field (write_permission) com uma permissao tambem (alem da permissao de add do objeto). Assim: Tinha pensado em resolver a 1ª como se o Member fosse criado num estado inicial de workflow (novo, criado, sei lá) e só fizesse a transição p/ um próximo (CandidatoAVoluntario ou coisa parecida) se preenchesse SIM. Esse estado teria de ser mudado via script, que o faria de acordo c/ a resposta. Apenas esse estado, CandidatoAVoluntario, teria permissão p/ criar Curriculo. Nao gosto muito da modelagem, mas parece que atenderia sua necessidade. Contudo, tb ainda não sei como fazer uma transição de workflow quando um objeto é salvo (ou como disparar um script que o faça quando o objeto é salvo). Alguém pode ajudar? Tens que criar uma transicao com trigger automatico (zero se nao me engano é automatico, tem que olhar umas constantes no DCWorkflow). Ai, basta voce definir um script que consiga detectar o comportamento que voce quer que seja o causador da transicao e coloca-lo num script que é invocado na expressao da transicao. Disparar um script quando um objeto é salvo nao é uma implementacao perfeita (apesar de funcionar) pq o objeto pode ser salvo vazio ou com os mesmo dados que estavam antes de ele ser editado. Se fosse fazer assim, seria apenas meter um hook (sobreescrever) o metodo manage_afterAdd ou asemelhados, por exemplo. A 2ª pensei que, semelhante ao acima, assim que ele preencher o currículo, esse último estaria num estado inicial de workflow (tipo, Preenchido) onde, após transição, execute um script que envie o e-mail p/ o gestor. Apenas o gestor (que é um role) teria permissão p/ fazer a referência. OK A 3ª pensei que, após fazer a(s) referência(s) do Member p/ a(s) Função(ões), faria uma transição no workflow do Member, de CandidatoAVoluntario p/ Voluntario, por exemplo, e, após ela, executaria um script p/ enviar o e-mail p/ o Voluntário. Apenas esse estado, Voluntário, teria permissão p/ criar Dados Pessoais, Dados Profissionais, ... De fato, permissoes é a forma mais adequada de controlar essas coisas. Bom, além de tudo, a idéia tá boa? É por aí? Ou tem jeito mais simples? É minha primeira experiência c/ AGX e as sugestões são muito bem vindas. Desculpem pela mensagem tão grande ... Muito obrigado, de antemão. [ ],-- JJ (|´:¬{)»-Eu sou a ressurreição e a vida. Quem crê em mim, ainda que morra, viverá; e todo o que vive e crê em mim não morrerá, eternamente. Crês isto?O Senhor, Jesus
Re: [Zope-pt] Workflow c/ permissões apenas p/ alguns estados - AGX
Xirú, Obrigado pelas explicações e gostei das sugestões. Vou tentar implementá-las. Muito obrigado. [ ],-- JJ (|´:¬{)» - Eu sou a ressurreição e a vida. Quem crê em mim, ainda que morra, viverá; e todo o que vive e crê em mim não morrerá, eternamente. Crês isto? O Senhor, Jesus Cristo - Jo.11:25-26 - Em 11/12/05, xiru [EMAIL PROTECTED] escreveu: On 12/11/05, JJ (Arnaldo Janz Júnior) [EMAIL PROTECTED] wrote: Olá, pessoALL! (|':¬{D Estou desenvolvendo um cadastro de usuários via AGX em um site que estou trabalhando. É minha primeira experiência c/ AGX (e não muito mais do que isso c/ AT). Tenho quase tudo já modelado exceto uma parte, que, sinceramente, ArchGenXML - Getting started (em plone.org), apesar de muito bom e útil em muitas outras coisas, não me deu idéia de como fazer. Se puder contar c/ a ajuda de vcs (q seja c/ referências onde possa aprender o que preciso e/ ou trocar uma idéia - mesmo q em PVT, quem quiser - ), agradeço muito. A idéia é essa: 1- Member (derivado de CMFMember) possui um campo (['SIM','NÃO']) onde responde se quer ser voluntário do site. APENAS se responder SIM, ele pode preencher seu currículo, que implementei pela agregação de uma classe Curriculo (+ schemata) ao member (mas essa implementação pode mudar de acordo c/ a sugestão). Como representar essa possibilidade (ou não) de prencher seu currículo, dependendo do valor do campo? Bem... eu modelaria assim. Criaria uma classe para o Member, com o esteriotipo member e com o campo adicional curriculo que seria uma referencia para um objeto curriculo. Se a referencia nao aponta para nenhum objeto curriculo, esse member nao tem curriculo. Como voce vai fazer isso na UI nao depende muito do modelo, mas acho que se voce implementar como eu disse e colocar a opcao de add no reference field, fica aceitavel. 2- Após preencher esse currículo (e toda vez que modificá-lo), um e-mail deve ser enviado ao gestor, p/ que lhe atribua funções, que implementei por referências a uma classe Função (e isso tb pode variar à sugestão). Também não consegui imaginar como representar isso. Mandar email é coisa que gosto de fazer em transicoes de workflow. O que voce poderia fazer é criar uma transicao automatica que verifica se o conteudo do objeto mudou e colocar nessa transicao o envio do email. 3- APENAS após a atribuição dessa função, um e-mail deve ser enviado ao voluntário p/ que continue seu cadastro (dados profissionais, dados pessoais, ..., tb classes + schematas). Mesmo esquema aqui. Definir o fluxo do workflow e colocar scripts nas transicoes. Acredito que a solução p/ os 2 primeiros deve resolver isso aqui. Tinha pensado em representar todas as agregações e relacionamentos/referências no diagrama de classes e dar as permissões de adicionar o determinado tipo p/ os estados de workflow. Nao é má ideia, mas seria legal proteger o field (write_permission) com uma permissao tambem (alem da permissao de add do objeto). Assim: Tinha pensado em resolver a 1ª como se o Member fosse criado num estado inicial de workflow (novo, criado, sei lá) e só fizesse a transição p/ um próximo (CandidatoAVoluntario ou coisa parecida) se preenchesse SIM. Esse estado teria de ser mudado via script, que o faria de acordo c/ a resposta. Apenas esse estado, CandidatoAVoluntario, teria permissão p/ criar Curriculo. Nao gosto muito da modelagem, mas parece que atenderia sua necessidade. Contudo, tb ainda não sei como fazer uma transição de workflow quando um objeto é salvo (ou como disparar um script que o faça quando o objeto é salvo). Alguém pode ajudar? Tens que criar uma transicao com trigger automatico (zero se nao me engano é automatico, tem que olhar umas constantes no DCWorkflow). Ai, basta voce definir um script que consiga detectar o comportamento que voce quer que seja o causador da transicao e coloca-lo num script que é invocado na expressao da transicao. Disparar um script quando um objeto é salvo nao é uma implementacao perfeita (apesar de funcionar) pq o objeto pode ser salvo vazio ou com os mesmo dados que estavam antes de ele ser editado. Se fosse fazer assim, seria apenas meter um hook (sobreescrever) o metodo manage_afterAdd ou asemelhados, por exemplo. A 2ª pensei que, semelhante ao acima, assim que ele preencher o currículo, esse último estaria num estado inicial de workflow (tipo, Preenchido) onde, após transição, execute um script que envie o e-mail p/ o gestor. Apenas o gestor (que é um role) teria permissão p/ fazer a referência. OK A 3ª pensei que, após fazer a(s) referência(s) do Member p/ a(s) Função(ões), faria uma transição no workflow do Member, de CandidatoAVoluntario p/ Voluntario, por exemplo, e, após ela, executaria um script p/ enviar o e-mail p/ o Voluntário. Apenas esse estado, Voluntário, teria permissão p/ criar Dados Pessoais, Dados Profissionais, ... De fato, permissoes é a forma mais adequada de controlar essas
Re: [Zope-pt] Workflow refaz as permissões.. ., porque?
Opa Fernando, Na discussão anterior que obtive, acho que foi até o Jean que me falou, não me lembro, que se eu alterar as permissões do workflow no botãozinho mágico update security...bla... ele refaz todas as permissões que eu coloquei anteriormente. Fiz modificações no workflow e apertei aquele botãozinho. O plone refez todas e voltou ao original. Por que ele refaz tudo? Depois caso queira voltar ao original não tem como. Gostaria de saber porque ele refaz e volta ao original. li e reli e confesso que ainda tenho dúvidas a respeito do que você quis dizer... :-( Para tentar clarear, o botão 'Update security settings' faz o seguinte: ele verifica se todos os objetos do site estão com um estado consistente no workflow. Um estado é dito consistente se a) ele existir e b) as permissões atribuídas ao objeto fecharem com o que está definido no workflow. Caso o estado do objeto não exista mais (ocorre quando você apaga um estado do workflow e o objeto estava nesse estado) então o objeto é alterado para usar o estado inicial do workflow, com as devidas permissões desse estado. Caso alguma permissão do objeto controlada pelo workflow for diferente do que é definido pelo estado atual no workflow (isso ocorre quando você altera um permissão direto no objeto), então a permissão é resetada para aquilo que o estado atual definir. Mais claro agora? :-) HTH, -- Dorneles Treméa X3ng Web Technology Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/zope-pt/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html