Re: [zope-pt] Re: logout fora da zmi
Não existe uma boa maneira de um servidor desfazer a autenticação de um usuário que se logou via HTTP Basic Authentication (o método padrão do HTTP, usado pelo Zope mas não pelo Plone). O motivo é que no protocolo HTTP não existe o conceito de sessão. Qualquer sistema Web que implementa sessões o faz se a ajuda do protocolo, em geral usando cookies ou identificadores de sessão apendados à URL. Quem gerencia o login no HTTP Básico é o navegador. É por isso, inclusive, que quem pede a senha é navegador (exibindo uma caixa de diálogo). Quando se usa algum mecanismo de sessão, a autenticação não é feita numa caixa de diálogo gerada pelo navegador, e sim num formulário HTML. No caso da autenticação básica, não existe uma forma 100% garantida do servidor dizer ao navegador para deixar de enviar a senha, o que simularia um logoff. Esta situação simplesmente não é prevista no protocolo HTTP. Na autenticação por cookies, o servidor pode enviar uma mensagem para o browser deletar o cookie da sessão. Se a sessão é mantida via um identificador nas URLs, novamente o servidor tem controle, pois é ele que gera as URLs dos links que o navegador usa para navegar. Resumindo, se a sua aplicação exige que o usuário possa se deslogar facilmente, você será forçado a usar algum método de autenticação por sessão, como faz o Plone. [ ]s Luciano
RES: [zope-pt] RES: delicious e digg como actions
Valeu Leonardo! Então, a titulo de arquivo e curiosidade para todos, os actions para delicious e digg nos documentos fica assim: string:http://del.icio.us/post?url=${object_url}title=${here/title} string:http://digg.com/submit?url=${object_url}title=${here/title} :) Obrigado novamente! Atenciosamente, Thiago Tamosauskas Gerência de Comunicação - Web Diretoria de Comunicação e Marketing * (11) 4366-5068 De: zope-pt@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Leonardo Rochael Enviada em: segunda-feira, 12 de março de 2007 19:03 Para: zope-pt@yahoogrupos.com.br Assunto: Re: [zope-pt] RES: delicious e digg como actions Prioridade: Baixa Thiago Garcia Tamosauskas wrote: Muito Obrigado pela ajuda... Com relação aos actions, existem outras variáveis além da ${object_url} que eu possa usar? Sim, várias: http://plone.org/documentation/how-to/cmf-expressions http://plone.org/documentation/how-to/cmf-expressions Thiago Garcia Tamosauskas wrote: Digamos se eu quiser puxar o Título do objeto, como eu faria? ${object/Title} -- View this message in context: http://www.nabble.com/delicious-e-digg-como-actions-tf3376608.html#a9444321 http://www.nabble.com/delicious-e-digg-como-actions-tf3376608.html#a9444321 Sent from the zope-pt mailing list archive at Nabble.com.
[zope-pt] Banner ao lado do logo
Pessoal, sou novo na tecnologia Plone e gostaria de saber como inserir um banner ao lado da logo no cabeçalho da página. Conseguir mudar o logo do Plone para o meu logo, mas, queria colocar também um banner ao lado deste logo. Estou usando o plone no FreeBSD 6.2 Zope (Zope 2.9.6-final, python 2.4.3, freebsd6), Plone 2.5.2 Desde já obrigado.
Re: [zope-pt] Banner ao lado do logo
Ferreira blza, A logo você já alterou, agora faça o seguinte: Customize esse template ( /portal_skins/plone_templates/global_logo) e adicione seu banner. Um Abraço. Luiz Melo Junior ThreePointsWeb Em 13/03/07, ferreira.luiz [EMAIL PROTECTED] escreveu: Pessoal, sou novo na tecnologia Plone e gostaria de saber como inserir um banner ao lado da logo no cabeçalho da página. Conseguir mudar o logo do Plone para o meu logo, mas, queria colocar também um banner ao lado deste logo. Estou usando o plone no FreeBSD 6.2 Zope (Zope 2.9.6-final, python 2.4.3, freebsd6), Plone 2.5.2 Desde já obrigado.
Re: [zope-pt] Adicionar um page template na raiz de navegação do CMF
Fala cara!! On 3/13/07, Vinÿedcius Perallis [EMAIL PROTECTED] wrote: Olá a todos, Após a criação de um page template eu desejo adicionar ele como parte de meu CMF, como se inserisse uma pagina. Por exemplo, em http://www.vestibulogia.com.br/testes/raciocinio raciocinio é um é um page template, mas ele não aparece na arvore de navegação do CMF. Algum sabe como faz isso ?, ou se tem alguma outra solução? O seu page template NÃO é um tipo de conteúdo de maneira que ele não é listado na navegação. Para que você faça com que ele apareça, você teria que customizar o código responsável pela criação do meu de navegaçãoo que não é uma tarefa trivial, mas não deixe que os meu comentário faça com que você desista ;). Não sei muito bem se o que você esta implementando via page template, não poderia ser substituída por um tipo de conteúdo (Content Type). Uma outra coisa, você citou que você está usando CMF. O CMF em si não oferece uma interface de programação amigável para que você crie novos tipos de conteúdo. Por outro lado, o Plone, que é uma implementação feita em cima do CMF, tem um framework exelente para criação de novos tipos e uma ferramenta que pode acelerar ainda mais o desenvolvimento desses novos tipo. Procure por ArcheTypes e ArchGenXML no site http://plone.org. Mas vale lembrar que se o que você precisa é apenas de colocar o seu formulário, verifique o código que cria a navegação do seu CMF. []'s Fernando Atenciosamente Perallis __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/
[zope-pt] Re: logout fora da zmi
Bem, estou usando o Plone. Aliás, o grande desafio que tenho há alguns meses é aproveitar essa ferramenta e seus recursos para fazer um portal de verdade. O usuário não deve se deslogar facilmente. Eu quero abortar o usuário, dado um evento certo, no caso, alteração da senha após primeiro acesso. Se ele realmente é orientado a objetos, então deve haver alguém para quem eu peço por favor, deslogue. Se ele faz isso quando clico num link, então pode fazer se eu enviar uma requisição sem interferência do usuário. Deixe ver se eu entendi, eu vou ter de esvaziar ou destruir o dicionário SESSION? --- Em zope-pt@yahoogrupos.com.br, Luciano Ramalho [EMAIL PROTECTED] escreveu Não existe uma boa maneira de um servidor desfazer a autenticação de um usuário que se logou via HTTP Basic Authentication (o método padrão do HTTP, usado pelo Zope mas não pelo Plone). O motivo é que no protocolo HTTP não existe o conceito de sessão. Qualquer sistema Web que implementa sessões o faz se a ajuda do protocolo, em geral usando cookies ou identificadores de sessão apendados à URL. Quem gerencia o login no HTTP Básico é o navegador. É por isso, inclusive, que quem pede a senha é navegador (exibindo uma caixa de diálogo). Quando se usa algum mecanismo de sessão, a autenticação não é feita numa caixa de diálogo gerada pelo navegador, e sim num formulário HTML. No caso da autenticação básica, não existe uma forma 100% garantida do servidor dizer ao navegador para deixar de enviar a senha, o que simularia um logoff. Esta situação simplesmente não é prevista no protocolo HTTP. Na autenticação por cookies, o servidor pode enviar uma mensagem para o browser deletar o cookie da sessão. Se a sessão é mantida via um identificador nas URLs, novamente o servidor tem controle, pois é ele que gera as URLs dos links que o navegador usa para navegar. Resumindo, se a sua aplicação exige que o usuário possa se deslogar facilmente, você será forçado a usar algum método de autenticação por sessão, como faz o Plone. [ ]s Luciano
Re: [zope-pt] Re: logout fora da zmi
Opa. On 3/13/07, FLÁVIO GOMES DA SILVA LISBOA [EMAIL PROTECTED] wrote: Bem, estou usando o Plone. Aliás, o grande desafio que tenho há alguns meses é aproveitar essa ferramenta e seus recursos para fazer um portal de verdade. O usuário não deve se deslogar facilmente. Eu quero abortar o usuário, dado um evento certo, no caso, alteração da senha após primeiro acesso. Se ele realmente é orientado a objetos, então deve haver alguém para quem eu peço por favor, deslogue. Se ele faz isso quando clico num link, então pode fazer se eu enviar uma requisição sem interferência do usuário. Deixe ver se eu entendi, eu vou ter de esvaziar ou destruir o dicionário SESSION? Retirado do script logout fo plone: from Products.CMFCore.utils import getToolByName try: context.acl_users.logout(context.REQUEST) except: pass # XXX we expect Unauthorized, but why do we do a bare except then? REQUEST = context.REQUEST # Invalidate existing sessions, but only if they exist. sdm = getToolByName(context, 'session_data_manager', None) if sdm is not None: session = sdm.getSessionData(create=0) if session is not None: session.invalidate() from Products.CMFPlone import transaction_note transaction_note('Logged out') target_url = REQUEST.URL1 # Double '$' to avoid injection into TALES target_url = target_url.replace('$','$$') target_url += '/logged_out' return state.set(next_action='redirect_to:string:' + target_url ) Advinha onde é que ele 'desloga' o usuário? ;) []'s Fernando --- Em zope-pt@yahoogrupos.com.br, Luciano Ramalho [EMAIL PROTECTED] escreveu Não existe uma boa maneira de um servidor desfazer a autenticação de um usuário que se logou via HTTP Basic Authentication (o método padrão do HTTP, usado pelo Zope mas não pelo Plone). O motivo é que no protocolo HTTP não existe o conceito de sessão. Qualquer sistema Web que implementa sessões o faz se a ajuda do protocolo, em geral usando cookies ou identificadores de sessão apendados à URL. Quem gerencia o login no HTTP Básico é o navegador. É por isso, inclusive, que quem pede a senha é navegador (exibindo uma caixa de diálogo). Quando se usa algum mecanismo de sessão, a autenticação não é feita numa caixa de diálogo gerada pelo navegador, e sim num formulário HTML. No caso da autenticação básica, não existe uma forma 100% garantida do servidor dizer ao navegador para deixar de enviar a senha, o que simularia um logoff. Esta situação simplesmente não é prevista no protocolo HTTP. Na autenticação por cookies, o servidor pode enviar uma mensagem para o browser deletar o cookie da sessão. Se a sessão é mantida via um identificador nas URLs, novamente o servidor tem controle, pois é ele que gera as URLs dos links que o navegador usa para navegar. Resumindo, se a sua aplicação exige que o usuário possa se deslogar facilmente, você será forçado a usar algum método de autenticação por sessão, como faz o Plone. [ ]s Luciano
[zope-pt] Re: logout fora da zmi
Ah, sim. Eu já havia suposto que se usasse o código do script logout conseguiria abortar o usuário. Mas o resultado foi parcial. Assim que o usuário se loga pela primeira vez, eu redireciono ele para um formulário de alteração de senha (cópia do password_form ) que vai submeter para um script python chamado password_change_logoff. Esse contém o context.acl_users.logout e o trecho que invalida a sessão. Depois que ele muda a senha ele chama o template logged_out e mostra a mensagem: Você não está mais autenticado. Mas a barra personal_tools continua mostrando o id do usuário, 'preferências' e o 'sair'. Quer dizer, ele continua autenticado. --- Em zope-pt@yahoogrupos.com.br, Fernando Correa Neto [EMAIL PROTECTED] escreveu Opa. On 3/13/07, FLÁVIO GOMES DA SILVA LISBOA [EMAIL PROTECTED] wrote: Bem, estou usando o Plone. Aliás, o grande desafio que tenho há alguns meses é aproveitar essa ferramenta e seus recursos para fazer um portal de verdade. O usuário não deve se deslogar facilmente. Eu quero abortar o usuário, dado um evento certo, no caso, alteração da senha após primeiro acesso. Se ele realmente é orientado a objetos, então deve haver alguém para quem eu peço por favor, deslogue. Se ele faz isso quando clico num link, então pode fazer se eu enviar uma requisição sem interferência do usuário. Deixe ver se eu entendi, eu vou ter de esvaziar ou destruir o dicionário SESSION? Retirado do script logout fo plone: from Products.CMFCore.utils import getToolByName try: context.acl_users.logout(context.REQUEST) except: pass # XXX we expect Unauthorized, but why do we do a bare except then? REQUEST = context.REQUEST # Invalidate existing sessions, but only if they exist. sdm = getToolByName(context, 'session_data_manager', None) if sdm is not None: session = sdm.getSessionData(create=0) if session is not None: session.invalidate() from Products.CMFPlone import transaction_note transaction_note('Logged out') target_url = REQUEST.URL1 # Double '$' to avoid injection into TALES target_url = target_url.replace('$','$$') target_url += '/logged_out' return state.set(next_action='redirect_to:string:' + target_url ) Advinha onde é que ele 'desloga' o usuário? ;) []'s Fernando --- Em zope-pt@yahoogrupos.com.br, Luciano Ramalho ramalho@ escreveu Não existe uma boa maneira de um servidor desfazer a autenticação de um usuário que se logou via HTTP Basic Authentication (o método padrão do HTTP, usado pelo Zope mas não pelo Plone). O motivo é que no protocolo HTTP não existe o conceito de sessão. Qualquer sistema Web que implementa sessões o faz se a ajuda do protocolo, em geral usando cookies ou identificadores de sessão apendados à URL. Quem gerencia o login no HTTP Básico é o navegador. É por isso, inclusive, que quem pede a senha é navegador (exibindo uma caixa de diálogo). Quando se usa algum mecanismo de sessão, a autenticação não é feita numa caixa de diálogo gerada pelo navegador, e sim num formulário HTML. No caso da autenticação básica, não existe uma forma 100% garantida do servidor dizer ao navegador para deixar de enviar a senha, o que simularia um logoff. Esta situação simplesmente não é prevista no protocolo HTTP. Na autenticação por cookies, o servidor pode enviar uma mensagem para o browser deletar o cookie da sessão. Se a sessão é mantida via um identificador nas URLs, novamente o servidor tem controle, pois é ele que gera as URLs dos links que o navegador usa para navegar. Resumindo, se a sua aplicação exige que o usuário possa se deslogar facilmente, você será forçado a usar algum método de autenticação por sessão, como faz o Plone. [ ]s Luciano
[zope-pt] PloneGazette
Pessoal estou usando o zope 2.9 e o plone 2.5 Estou precisando de um produto para newsletters. Alguem sabe de uma versão do plone gazette de funcione no 2.5, a versão svn/unrelease não está funcionando! Até mais Jacson __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/
[zope-pt] Re: Banner ao lado do logo
Muito obrigado xará! Posicionei o meu banner no template indicado via css. Funcionou redondo. Valeu. Luiz Ferreira. --- Em zope-pt@yahoogrupos.com.br, Luiz Melo [EMAIL PROTECTED] escreveu Ferreira blza, A logo você já alterou, agora faça o seguinte: Customize esse template ( /portal_skins/plone_templates/global_logo) e adicione seu banner. Um Abraço. Luiz Melo Junior ThreePointsWeb Em 13/03/07, ferreira.luiz [EMAIL PROTECTED] escreveu: Pessoal, sou novo na tecnologia Plone e gostaria de saber como inserir um banner ao lado da logo no cabeçalho da página. Conseguir mudar o logo do Plone para o meu logo, mas, queria colocar também um banner ao lado deste logo. Estou usando o plone no FreeBSD 6.2 Zope (Zope 2.9.6-final, python 2.4.3, freebsd6), Plone 2.5.2 Desde já obrigado.
[zope-pt] Reutilizar o conteúdo de uma pá gina
Boa tarde a todos, Estou com um problema ao tentar utilizar o conteúdo de um objeto (por exemplo, uma página com texto reestruturado) em outro lugar (um portlet, uma div no Main Template), A questão é que quem atualizaria este conteúdo não teria acesso à ZMI, apenas ao Plone... Então pensei em criar uma página, a qual eles teriam acesso, e através do tal:replace puxar o conteúdo dela para uma div... Mas estou apanhando para conseguir isto. Alguem pode ajudar? Muito obrigado, Moisés de Aguiar Júnior
Re: [zope-pt] Páginas iniciais diferentes para cada usuário
Olá Alexandre, Se for trabalhar somente com posicionamento de caixas, poderia salvar essa informação em uma propriedade do usuário, no portal_memberdata. Mas se você precisar guardar também a configuração de cada caixa, aí o bicho pega. O Xirú me mostrou uma solução implementada justamente para um caso parecido, feita com Ajax no portal da Câmara dos Deputados, onde eles gravavam um objeto Archetypes para cada caixa configurada. De qualquer maneira você precisará de uma relação usuário x caixa salva em algum lugar! ;-) Abraço, Jean Ferri Alexandre Marinho escreveu: Bom, essa vai para os mestres de PZP, o seguinte: estamos planejando um site coorporativo onde o principal atrativo dele será a página inicial personalizada, ou seja, cada usuario poderá personalizar a página inicial da sua maneira, mais ou menos como funciona o netvibes.com!! Já consegui colocar para funcionar o javascripts e criar a página customizável. O problema agora é salvar a customização! Quais seriam as opções de fazer isso? Vi num tutorial de ajax no site do Fábio Rizzo que salva as informações no próprio page template atravez de script Python. Sendo assim tive a ideia de colocar cada página inicial de usuário dentro de sua pasta em members, só que como faria pra quando o usuario (logado) entrasse no site essa sua página ficasse como principal? Ta meio complicado de entender?? :S É meio confuso mesmo!!! Alguem tem alguma idéia melhor? Alexandre