Re: [zope-pt] Segurança no Plone
Opa Plone Devel[1], > Estou na fase de implementação de alguns portais, mas > o pessoal para quem estou implementando está me > cobrando uma documentação sobre segurança, mas não uma > documentação de como implementar a segurança, pois > isso eu já encontrei no tchezope. > > O que eu quero é um pequeno texto justificando: > - Por que o Plone é seguro? > - Estatistica sobre segurança no plone. > - Por que utitlizar o plone e não outras plataformas, > olhando da referência de segurança. complementando o que o Zénrique já informou, aqui vão mais duas fontes fresquinhas que podem dar uma idéia do quanto a segurança é levada a sério em todas as camadas PZP: http://blogs.onenw.org/jon/archives/2006/07/22/plone-and-zope-security http://castlemurphy.com/blog/archive/2006/07/25/plone-and-zope-security O que talvez resuma tudo sejam essas duas frases do Murphy (não aquele que você está pensado, mas o do segundo post acima...): "Security was designed into the software from early on. It is not an add on." [1] Um dos grandes baratos da comunidade PZP são as pessoas e nada melhor do que saber com quem a gente fala. Se possível (e não vejo nenhuma justificativa contra), gostaria de pedir a todos, mais uma vez, que revisassem seus dados pessoais no cliente de e-mail... 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] Obrigatoriedade condicional no Archetypes
Oi Elisandra, > Fiz uma classe com dois campos em que um deles deve ser preenchido > obrigatoriamente, o usuário que escolhe qual dos dois quer preencher, > mas não sei como fazer isso no Achetypes, alguém poderia me dar uma luz? campos 'condicionalmente obrigatórios', volta e meia alguém sempre precisa disso... :-) Uma das saídas é usar um dos 3 hooks de validação existentes, que são chamados na seguinte ordem: - pre_validate(self, REQUEST, errors) - validate_CAMPO(value) - post_validate(self, REQUEST, errors) Mesmo o segundo hook recebendo apenas o valor, ainda é possível ter acesso ao REQUEST (self.REQUEST) e dessa forma, consultar os valores de outros campos. A diferença entre os hooks está apenas na ordem em que eles são chamados. Caso o pre_validate acuse algum erro, a validação é interrompida e os erros são exibidos. Já o post_validate é sempre executado após a validação individual de todos os campos, então ele pode, caso necessário, mudar o resultado da validação, tanto adicionando erros, como removendo. Os métodos {pre,post}_validate retornam None quando não há erro, ou quando há, um dicionário contendo nas chaves o nome dos campos e nos valores os erros a serem exibidos para cada campo. O método validate_CAMPO (onde sim, CAMPO é o nome do campo...) retorna None para informar que não há erro ou a mensagem a ser exibida, caso tenha erro. Exemplo para o post_validate, definido na classe do teu conteúdo: def post_validate(self, REQUEST, errors): # Caso nenhum dos dois campos tenha sido preenchido if not REQUEST.get('campo1') and not REQUEST.get('campo2'): msg = 'Você precisa preencher o campo1 ou o campo2.' errors['campo1'] = msg errors['campo2'] = msg # Caso ambos tenham sido preenchido if REQUEST.get('campo1') and REQUEST.get('campo2'): msg = 'Você precisa preencher o campo1 ou o campo2, não ambos.' errors['campo1'] = msg errors['campo2'] = msg 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] Problemas do CacheFu
Opa Francisco, > 2006-08-09T11:20:15 WARNING Cache ZCache_set() exception > Traceback (most recent call last): > File "/usr/local/www/Zope28/lib > /python/OFS/Cache.py", line 212, in > ZCacheable_ > > set > mtime_func) > File > "/usr/local/www/Zope28/Products/PolicyHTTPCacheManager/PolicyHTTPCacheMan > > ager.py", line 102, in ZCache_set > REQUEST.setHeader('Pragma', 'no-cache') > File "/usr/local/www/Zope28/lib/python/ZPublisher/HTTPRequest.py", > line > 1219, > > in __getattr__ > raise AttributeError, key > AttributeError: setHeader acho que o Sidnei leu essa tua mensagem e deu uma endireitada no PolicyHTTPCacheManager, ou então foi 'transmimento de pensação', pois isso foi corrigido a pouco: http://dev.plone.org/collective/changeset/27007 []'s -- 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] Não consigo excluir objeto no ZOPE
Opa João, > Estou dando uma limpa no meu Zope e tem duas pastas (folder) que não > consigo excluir... dá o erro: > > Module ZODB.Connection, line 786, in _setstate > Module ZODB.serialize, line 605, in setGhostState > Module Shared.DC.ZRDB.Connection, line 74, in __setstate__ > Module logging, line 962, in error > TypeError: _log() got an unexpected keyword argument 'error' > > Alguém sabe como excluir estas pastas?? algo me diz que você andou tentando o SQLPASPlugin, não? ;-) Mas esse erro aí de cima é do Zope mesmo[1], atualiza ele que tu deves conseguir excluir essas pastas. [1] http://www.zope.org/Collectors/Zope/2155 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
[zope-pt] Re: O Plone eh confiavel?
Opa Castardo, > Agora ele saiu da empresa e foi para SP para trabalhar em uma empresa > focada em seguranca, na bagagem ele leva a lição de que SQL Injection em > Zope 'nao tem vez'! hum... como meu trabalho de conclusão de curso foi sobre a área de segurança, e eu ainda lembro do que eu escrevi, eu me sinto meio que 'obrigado' a um pequeno adendo... :-) Não faz muito sentido dizer que tecnologia A ou B não tem problema de segurança. Algumas tecnologias podem ser mais (ou menos) propensas a esses tipos de problema, mas dizer que 'não tem vez' é um exagero. Por que isso? Porque ainda temos mais um componente envolvido no processo: o *desenvolvedor*... e todos nós podemos imaginar o que este pequeno detalhe pode significar no contexto geral da coisa... > Rox! :) Yep, esse é um dos responsáveis pela boa fama do Zope, mas se neguinho for 'ixperto' e usar porque é 'mais fácil de usar' (ou porque não sabia que dtml-sqlvar existia, ou por qualquer outra desculpa para lá de esfarrapada) vai se deparar com a mesma caneca de vermes existente em todas as outras tecnologias que estão por ai... ;-) 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] Conceito Ajax no Plone
Opa João Paulo, > Comecei a estudar o conceito AJAX e gostei muito. Como uso o > Zope/Plone, eu quero aplicar este conceito no Plone. > Alguém tem alguma dica ou conhece sites que utiliza o AJAX no Plone? como o Sidnei e o Ramalho já comentaram, o Plone usa o tal do AJAX muito antes dele ser conhecido por esse nome, afinal os XMLHttpRequests da vida já estão conosco desde o Mozilão 1.0 em 2002 (e até mesmo antes disso, numa implementação meia-boca da Microsoft no IE 5.0)... :-) O Plone 2.5 também vem com um outro exemplozinho bacana: clique na aba que mostra o conteúdo de uma pasta (folder_contets), depois basta arrastar os itens para cima ou para baixo para mudar a ordem deles, sem precisar mais ficar clicando trocentas vezes nas setinhas, até mover para a posição desejada... > Qualquer dica é bem vinda. Bom, faz tempo que no mundo Plone vêm ocorrendo uma briga de foice! A discussão foi, digamos, bem apimentada no último Archipelago Sprint[1] (sim, ano que vêm tem mais!)... :-) Basicamente temos duas frentes de trabalho: uma usando o Bling[2], do Benjamin Saller, e outra usando o KSS/Azax[3], do Balazs Ree e do Godefroid Chapelle. A idéia do Bling é fornecer 'primitivas' básicas para se usar Ajax sem precisar escrever Javascript, de uma forma bem parecida como o RubyOnRails faz, diretamente nos PageTemplates (basta conferir os exemplos). Ele é agnóstico em relação ao toolkit, suportando prototype e rico no momento, mas poderia suportar qualquer outro. De uma forma semelhante, o KSS/Azax pretende ser independente de framework, mas aplicado de uma forma diferente, não nos templates. Os comportamentos seriam adicionados através de arquivos contendo regras que se aplicam em cima de IDs e classes CSS. Recomendo também dar uma conferida nos exemplos que eles valem mais do que mil palavras. De qualquer forma, as idéias que ficam são: - evitar escrever JavaScript na unha; - evitar depender de um framework específico. No sprint, em abril, surgiu a idéia de fazer uma fusão entre estes 2 produtos, mas não é algo muito simples de ser feito. Nós últimos meses, ambos os produtos passaram a disponibilizar exemplos de como efetuar as operações mais triviais, para o pessoal ir pegando as manhas... [1] http://plone.org/events/sprints/past-sprints/archipelagosprint [2] http://plone.org/products/bling [3] http://azax.ree.hu 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] Resultado ZSql com string ?
Opa Fernando, > Seguinte, eu tenho um cadastro onde gravo uma string em um SGBD. > Ex: > string:${context/absolute_url}/meuzpt > > Negocio é que ao colocar o retorno da zsql em tal:attributes não > consigo fazer com que seja interpretado minha string. > Ex: > tal:define="link resultadosql/meulink" > tal:attributes="href link" > > Ao invés do Zope me trazer o endereco tipo > (http://ip:8080/plonesite/meuzpt), ele me traz > (string:${context/absolute_url}/meuzpt). > > Alguma sugestão de como resolver isso ? simples, usa uma das funções adicionais disponíveis para expressões Python TALES: string, path, exists e nocall. No teu caso, 'string' dá conta do recado: tal:define="link resultadosql/meulink" tal:attributes="href python:string(link)" Mas tu tens que retornar '${context/absolute_url}/meuzpt' em 'link', ou seja, sem o prefixo 'string:'... ;-) 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] problema com exportação em importação
Oi Cleber, > Alguém já teve algum problema parecido? uma galera... tanto que ganhou até uma entrada na referência de erros no plone.org, referência essa que é a #1 no Google quando se procura por "AttributeError: _length"... ;-) > Desenvolvi um site sobre a estrutura; > > Python 2.1.3 > Zope 2.6.4 > Plone 2.0.5 > > Agora estou tentando migrar o site para as versões; > > Python 2.4.1 > Zope 2.8.0-final > Plone 2.1 Dica: nessa caso, usa as releases mais recentes do Zope 2.8.x e do Plone 2.1.x. > Mas ai tentar importar para a nova estrutura tenho um AttributeError com > o valor _length, segue o traceback; > > Traceback (innermost last): > [...] > Module Products.PluginIndexes.common.UnIndex, line 233, in _index_object > Module Products.PluginIndexes.common.UnIndex, line 189, in > insertForwardIndexEntry > AttributeError: _length Seus problemas acabaram!™ http://plone.org/documentation/error/zope-upgrade-attributeerror-length 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] Passando variavél de um zpt para um Script python
Opa Carlos, > eu estou passando para o script pelo hidden mesmo. na verdade eu queria > colocar todos os valores q eu defino no ZPT em algum lugar onde eu possa > pegar sempre(em alguma variavel, um objeto, sei lá tornar todas > globais. naum sei se existe esta opção. tudo o que estiver definido dentro do formulário no PageTemplate pode ser acessado no PythonScript com context.REQUEST.form: for key, value in context.REQUEST.form.items(): print key, value 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] Enviar email ao criar usuário
Opa, > Não, não ... me referia a enviar aos administradores que um novo usuário > foi criado! > > Seguindo a sugestão do Deo vou criar um script pra enviar o email e ter > o auxilio do FormController para controlar o registro/envio. só explicando um pouquinho melhor: a idéia é registrar uma nova ação para quando o register.cpy finalizar com 'success', de forma a chamar um outro cpy, que faz o que precisa ser feito, e por fim chama o que o register.cpy chamaria. Ou seja, estaremos adicionando algo novo no 'chain' de registro de usuários, sem tocar nenhum template ou script do Plone, apenas sobrescrevendo uma ação no portal_formcontroller. 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] script para adição de conteúdo
Opa Gustavo, > Estou montando um script para adicionar conteúdo (migrando um site xoops > para plone). No canal #plone recebi a sugestão de usar o método > invokeFactory. Estou testando ele no ploneshell e parece funcionar bem. > Um exemplo do uso seria: > > pasta.invokeFactory("News item", id="noticia1", title="Titulo Noticia", > text="texto") > > O problema é que eu não queria passar o "id" para este método. Quando > adicionamos conteúdo via web o plone automaticamente gera um id baseado > no titulo. Como fazer isso? Esta função exige que eu forneça um id. a Tânia já deu uma sugestão, aqui vai mais uma. Basta chamar o método 'processForm' no objeto criado, que ele se encarrega de nomear o objeto conforme o título passado. Como bônus, ele ainda chama o hook de criação de objetos e a mágica para desmarcar a flag de criação. > Outra questão. Existe outra forma de adicionar conteúdo via script? Existe. Usando o invokeFactory, você está sujeito às restrições impostas pelo container (o local onde você está adicionando os objetos). Em algumas situações é conveniente adicionar coisas onde depois usuários normais não poderão mais fazer isso. Para tal, existe o _createObjectByType, e você usaria da seguinte maneira (untested): from Products.CMFPlone.utils import _createObjectByType obj = _createObjectByType('News Item', pasta, 'noticia1', title="Titulo Noticia", text="texto") obj.processForm() 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] script para adição de conteúdo
Opa Gustavo, > Como faço para alterar o dono e a data de criação de objetos? Como é uma > migração seria estranho várias noticias terem a mesma data e terem sido > criadas pelo "admin". # Data de criação obj.setCreationDate(date) # Data da última alteração obj.setModificationDate(date) # Criador do objeto obj.setCreators((userid,)) # Dono do objeto (Onwer role) obj.plone_utils.changeOwnershipOf(obj, userid, subobjects) 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] [ off-topic ] Zope Freak Show - manipulando datas
Opa Braga, > Passei por uma situação curiosa envolvendo datas e estou relatando por > dois motivos, pode auxiliar outras pessoas no futuro e pode também > surgir uma solução mais interessante. > > Ocorre o seguinte, eu gravo uma data no banco e depois ela é colocada em > um textbox em uma janela de edição de dados e etc. > > Ao carregar essa data (em um ZPT) o Zope simplemente subtrai um dia, sem > perguntar religião, time que torce e etc., ele subtrai e pronto. isso está seriamente cheirando a algo relacionado com a mudança de timezone, ou seja, para nós o famigerado horário de verão... > a solução sugerida foi a seguinte: > > tal:attributes="value > python:DateTime(*MinhaData.parts()[:3]).strftime('%d/%m/%Y')" > > onde eu "recrio a data" e posteriormente formato, ao tentar formatar > diretamente a data é subtraída em um dia. > > Caso alguém queira acrescentar algo naturalmente será deveras > interessante :D Seria interessante você tentar produzir um trecho mínimo de código onde o problema possa ser reproduzido para darmos uma olhada. []'s -- 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: Res: [zope-pt] [ off-topic ] Zope Freak Show - manipulando datas
Opa Braga, > Eu tenho ZSQL que traz a data do banco e não há qualquer manipulação e etc. Hum... e qual o timezone dessa data que o banco está retornado? Eu aposto que o furo está aqui... > no zsql eu tenho o "select" ... tenho um script python que carrega esse > SZQL e repassa ao ZPT (com a opção dictionaries) e no ZPT é extamente > este trecho > > tal:attributes="value > python:DateTime(*MinhaData.parts()[:3]).strftime('%d/%m/%Y')" > > se eu tentar algo como: > > tal:attributes="value python:DateTime(MinhaData).strftime('%d/%m/%Y')" Opa, opa, porque cargas d'água você está criando um novo DateTime se o MinhaData retornado já é um DateTime? :-) Isso altera o timezone da data para o timezone usado no Zope, veja uma explicação mais detalhada abaixo. > Um dia é subtraído da data Será? Eu diria que isso é tecnicamente *impossível*... ;-) O que está acontecendo é que a representação do mesmo DateTime em timezones diferentes é, como esperado, diferente. Porém a data continua sendo a mesma, afinal quando já é zero hora de amanhã em Londres, ainda são 21:00 aqui, na pacata Garibaldi, assim como são 2:00 da matina na igualmente pacata Tønsberg, na Noruega. Deixa eu tentar provar isso... Se a data que estiver retornando do banco estiver num timezone diferente do que é usado no Zope o que ocorre é o seguinte: >>> # Criando uma data no formato ISO 8601[1] (timezone: GMT+0) >>> UTC = DateTime('2006-10-18') >>> UTC.parts() (2006, 10, 18, 0, 0, 0.0, 'GMT+0') Agora, se você passar esse DateTime como parâmetro para a criação de outro DateTime (que é o que você está fazendo no PageTemplate por uma razão que eu desconheço), o timezone dele muda para o do Zope (que herda o que estiver definido pelo sistema operacional): >>> DateTime(UTC).parts() (2006, 10, 17, 21, 0, 0.0, 'GMT-3') Note que mesmo a representação sendo diferente, eles continuam sendo a mesma coisa: >>> UTC == DateTime(UTC) True >>> UTC.timezone() == DateTime(UTC).timezone() False Ou seja, continua sendo a mesma 'data' só que em timezones diferente. Esse é o problema comum quanso se usa datas sem um timezone associado. A solução para o seu problema é fazer com que a instância do DateTime criada pelo banco esteja no mesmo timezone do que está sendo usado no Zope. A forma mais simples é fazendo o banco retornar uma string ISO 8601 ou, de forma mais simplificada, "-MM-DD GMT±X" ou ainda algo mais simples, "AAAA/MM/DD", detalhe para as barras no lugar dos traços. Espero ter ajudado a entender a questão e, conseqüentemente, a resolver o problema. [1] http://www.w3.org/TR/NOTE-datetime 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] Novo Portal do Plenarinho
Olá André, > Lançado ontem o novo portal do infantil da Câmara do Deputados, > desenvolvido em Zope/Plone. > > Acesse: http://www.plenarinho.gov.br quando acessado a partir do Firefox 2.0 (e provavelmente versões anteriores também) no Linux, a única coisa que aparece na tela é o movie flash com a coruja e as crianças, todo o resto da página fica em branco... :-( Isso está ocorrendo devido ao movie flash não ficar com o fundo transparente. Eu lembro de ter visto tempo trás um banner com forma arredondada flutuando num site, e o conteúdo era Flash, mas não consigo lembrar onde foi. Aparentemente fazer o flash ficar transparente no Linux é que vai ser a parte mais complexa (isso se vocês tiverem interesse em fazer funcionar no Linux, claro). Fora isso, o site tem pequenos erros com marcação XHTML inválida. Grande parte desses erros podem ser rapidamente identificados e corrigidos com a ajuda do serviço de validação do w3.org: http://validator.w3.org Para manter o suporte à Flash válido (que é algo que muita gente despreza), basta dar uma olhada no 'A list apart': http://alistapart.com/articles/flashsatay E para finalizar: as ilustrações ficaram show de bola, minhas filhas aprovaram! :-) -- 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] Novo Portal do Plenarinho
Opa Walter, > Bom, vamos fazer uma mandinga pra ver se o flash 9 no linux passa a > funcionar transparências :) infelizmente ainda não... :-( Pelo menos a versão 9.0.21.55[1] ainda não funciona com o wmode definido como 'transparent'. Se bem que o problema parece ser mais complexo do que isso, já que *nenhum* link abaixo do movie pode ser clicado... [1] http://labs.adobe.com/downloads/flashplayer9.html -- 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] acesso à lista via forum
Opa luchannus, > por acaso não tem como fazer igual ao pythonbrasil, cuja lista de > discussão pode ser acessada como forum?? > > ai o link para vcs verem: > > http://www.nabble.com/Python---Brasil-f13844.html quem procura acha! :-) http://www.nabble.com/zope-pt-f16083.html Particularmente, eu prefiro via NNTP e uso o GMANE para isso: http://dir.gmane.org/gmane.comp.python.zope.portuguese 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] Limitar qtd de caracteres
Opa Mário, > alguem sabe como posso restringir o numero de caracteres... > > tipo assim, ao pegar a propriedade "Description" de um objeto "Document" > retornar no maximo 30 caracteres, não teria problema cortar as palavras, > pois devo incluir "..." ao fim para caracterizar a continuação do texto o Plone já disponibiliza essa funcionalidade, inclusive com tratamento para evitar corte de palavras, dá uma conferida em: CMFPlone/skins/plone_scripts/cropText.py 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] Problemas em codificação
Opa Marcos, > Pessoal estou usando o plone 2.1 e zope2.8.8, e estou fazendo varias > consultas em um banco mysql que está com a base codificada pra iso > (latin1) > > o portal em utf-8, funciona certinho, com excessão das consultas na > base mysql que retornam no caracteres especias o erro de codificação. > tentei alterar o site-properties a codificação de utf-8 para > iso-8859-1 e retornou o seguinte erro: > > UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2122' > in position 34: ordinal not in range(256) (Also, the following error > occurred while attempting to render the standard error message, please > see the event log for full details: 'latin-1' codec can't encode > character u'\u2122' in position 34: ordinal not in range(256)) o caracter u'\u2122' é o trademark, ou mais conhecido como: ™... :-) A muitas luas atrás ele estava presente no template colophon.pt, mas conferi agora e não está mais lá, então aproveitei e removi[1] ele do plone-pt-br.po também. Se você não quiser atualizar o produto PloneTranslations, basta editar o seu plone-pt-br.po também. > pensei que fosse algo a ver com o meu BD, dai acesse um ZPT e retornou > o mesmo erro, criei um novo plone site e novamente o mesmo erro... > > tentei mudar algusn parametros no próprio zope.conf como vi no blog do > fábio rizzo e o são surtiu em nenhum efeito... > > alguém de voces sabe como resolver este problema? Eu nunca tinha visto, mas agora está resolvido... ;-) Uma outra forma de resolver o problema seria deixar o Plone em utf8 (o que é altamente recomendado) e recodificar os dados do MySQL antes de usá-los, algo como: dados.decode('latin1).encode('utf8') Uma última solução inclui recodificar os dados direto no MySQL, mas isso pode ficar inviável caso os dados sejam compartilhados com outras aplicações. [1] http://dev.plone.org/collective/changeset/33122 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] como limitar o tama nho da foto postada com a notícia?
Opa Cristiano, > Enfim, existe algum meio de configurar uma resolução mínima para envio > de fotos em anexo às notícias de um site Plone? uma rápida busca no histórico da lista nos leva a: http://thread.gmane.org/gmane.comp.python.zope.portuguese/2935 HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Re: como mudar cor dos links dos portlets
Opa Cristiano, > Por exemplo, esse arquivo ploneCusto.css tá vazio, logo, como vou > saber qual é o nome da classe CSS que o Plone usa para construir os > links dos portlets? > > :-) > > Entendeu a dúvida aí qual é? yep, e a resposta é mais uma da série 'o maravilhoso mundo do histórico das listas de discussão'... :-) Desta vez, ao invés do Gmane, vamos pelo Yahoo, para dar uma variada: http://br.groups.yahoo.com/group/zope-pt/message/9050 E para melhorar um pouco mais, alguns links que surgiram desde então (especialmente o Firebug): http://plone.org/documentation/how-to/firefox-tools http://plone.org/documentation/tutorial/creating-plone-themes/toolchain HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Como aplicar determinadas customiza ções CSS somente a um determinado Portlet ?
Opa jogibaab[1], > Pessoal, tenho uma dúvida: preciso saber como aplicar determinadas > customizações CSS somente a um determinado Portlet que está dentro do > do site Plone, e não ao site inteiro. Como posso fazer isso? Agradeço > qualquer ajuda. confere o e-mail que eu enviei a pouco para o Cristiano, lá você identifica qual o ID do portlet, depois disso, basta aplicar os seletores[2] de CSS para restringir a atuação. Para aplicar uma borda vermelha em todos os divs dentro do elemento que possui o imaginário ID portlet-foo, podemos usar algo como: #portlet-foo div { border: 1px solid red } Para aplicar uma borda vermelha apenas nos filhos diretos do tal portlet-foo, a sintaxe é a seguinte: #portlet-foo > div { border: 1px solid red } E por aí vai... [1] Parece nome de personagem de Star Wars, provavelmente um primo distante do jarjarbinks[3]... :-P Não é de agora que eu reclamo, mas vocês poderiam *pelo menos* se identificar nas mensagens? Posso estar parecendo muito chato, mas eu realmente gosto de saber o nome das pessoas com quem eu compartilho conhecimento. [2] http://www.w3.org/TR/CSS21/selector.html [3] http://www.starwars.com/databank/character/jarjarbinks HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] ferramenta de estatística para o Plone
Opa Robson, > Me interessei pelo assunto, instalando o Analytics for Plone... > mas no fim das contas, não sei como usá-lo... O readme dele é > muito superficial... Alguma dica de como usá-lo? primeiro faça o cadastro do seu site no: http://analytics.google.com ...em seguida, instale o produto no Plone e insira o ID gerado na configuração do produto, dentro do painel de controle do Plone. Espere uns dois dias e as estatísticas começarão a aparecer no site do Google. HTH, -- Dorneles Treméa X3ng Web Technology
[zope-pt] Firebug 1.0 beta
Olá pessoal, quando o link para o site do Firebug[1] pipocou[2] pela terceira vez no canal #plone hoje eu finalmente me dei por vencido e acabei indo ver do que se tratava... A versão anterior tinha seus méritos, mas a nova mata a pau! Devo confessar que essa é uma das mais (isso se não for *a* mais) fantásticas extensões já criada para o Firefox. Não é sempre que aparecem coisas tão boas da noite para o dia. Ela foi liberada na segunda-feira dessa semana e a divulgação parece que está indo de vento em popa. Não sei como eu passei 4 dias sem ela... :-) Siga meu conselho, pare o que você está fazendo nesse momento e dedique 10 minutos para uma leitura atenta de tudo o que está no site. Garanto que esses 10 minutinhos vão economizar pelo menos uma hora por dia durante todos os dias da sua vida daqui para frente. Talvez bem mais, caso você seja um webdesigner que passa o dia fazendo isso. Se alguém reclamar daqui para frente que não sabe como alterar o CSS ou o JS do Plone, que não entende como o LiveSearch é feito ou qualquer coisa relacionada, esse alguém merece uma havainada de pau muito bem dada! Este é mais um software que entra para a seleta lista daqueles que eu tive prazer de fazer uma doação... ;-) [1] http://www.getfirebug.com [2] meu cliente de IRC (XChat) está configurado para abrir automaticamente qualquer link postado no Firefox, algo como: http://hellocity.net/~iolo/moniwiki/pds/UploadedFiles/sangu.py.txt HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Ressaca de ZPT
Opa Luciano, Hugo, > > Pessoal, vamos combinar que tem algo de errado com uma linguagem que > > produz um template como o document_byline.pt. Faz anos que eu explico > > este código nos nossos cursos de Plone, mas ontem explicando ele pela > > n-ésima vez caiu a ficha: 73 linhas para produzir uma linha de HTML é > > ridículo. > > Eu digo isto faz varios anos... mas ninguem acreditou ainda! > > Nao faz sentido usar uma linguagem de template para produzir HTML > quando temos o proprio HTML para usar! > Querem separar a apresentacao da logica? Simples... ha melhores formas > de o fazer do que o ZPT. permitam-me discordar de vocês... :-) Luciano, visualmente, pode parecer apenas uma linha, mas realmente há um bocado de informações sendo exibidas nela, sem contar que algumas delas possume link, outras possuem imagens e tudo ainda ainda passa por i18n. O número de linhas exagerado é apenas para dar uma caprichada na indentação. Esse capricho todo ainda pode ser aberto direto no browser ou num editor visual e ser alterado por designers sem destruir a lógica embutida. Hugo, você poderia ser um pouco mais claro? Não entendi o que tu quis dizer com temos o próprio HTML para usar. Me mostrem uma forma mais elegante do que ZPT para fazer isso que eu mudo de time... ;-) PS: E a propósito, o Ministério Plone avisa: suco de maçã e ZPT não causam ressaca! :-P Abração. -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Anti-spam uol.
Jean, > Por favor Sr. [EMAIL PROTECTED], se você não desligar esse > recurso em 24h, seremos obrigados a desativar sua conta nessa lista. cata a stchopa e prega-lhe fogo! ;-) -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Ressaca de ZPT
Fala Hugo, > > Hugo, você poderia ser um pouco mais claro? Não entendi o que tu > > quis dizer com temos o próprio HTML para usar. > > Peco desculpa mas meu portugues do brasil esta mais enfraquecido estes > dias... :-) nah... ainda está *perfeicto*! > Traduzindo... Para que usar uma linguagem pra produzir HTML se o HTML > ja existe pra usar directo? Cara, confesso que ainda não entendi... :-) ZPT, como o nome diz, são apenas templates para gerar código HTML. Esses templates, que nada mais são do que arquivos HTML com áreas de marcação predefinidas, são então usados para gerar conteúdo dinâmico. Como você geraria o mesmo HTML diretamente? Embutindo a lógica junto com a apresentação, à la PHP, ou mesmo DTML? Como se usaria HTML direto (ou mais direto do que com ZPT) nesse caso? É isso que eu quero entender. > Por outras palavras... > Pra que sair de Porto Alegre de barco, chegar em Floripa, apanhar o > busao ate curitiba, apanhar carona ate sao paulo, pegar uma bicicleta > e rolar ate uberlandia e fazer o resto do percurso ate brasilia a > pe... Se podemos apanhar o aviao de POA ate BSB directo? > > A nao ser que me digam que, so pra ver as malucas em floripa torrando > no sol, vale a pena toda a viagem por terra e mar... :-) Acredito que a analogia não tenha relação direta com a geração de HTML, mas mesmo assim ficou interessante de ler! ;-) []'s -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Ressaca de ZPT
Grande Hugo, > > Cara, confesso que ainda não entendi... :-) > > Meu... Pra que escrever 73 linhas de codigo para gerar uma linha > Hello World > > Se a gente pode agarrar na bosta do Hello World e colocar na > pagina??? ah... mas aí que está! A questão é que para gerar esse hello world simples com ZPT o código usado fica igual a fazer na mão, ou seja: Hello World As coisas começam a ficar interessantes quando o conteúdo a ser apresentado tem que ser dinâmico, onde em ZPT, como tu sabes, bastaria alterar para: Hello World Se isso fosse feito com Python puro, seria algo como: "%s" % contexto.getTexto() Em DTML, deus me livre, assim: Ou para ficar ainda pior... :-) &dtml-getTexto; E por aí vai... Note que no caso acima temos apena o conteúdo do parágrafo dinâmico. No caso daquelas 73 linhas, tem *muita* coisa sendo feita no meio (imagens/links/...) e o HTML final não fica muito longe das 73 linhas, apesar de, no browser, ela aparecer visualmente apenas como uma linha. Mostre esses 4 pedaços de código para um designer e peça para ele alterar alguma coisa. No ZPT, que usa apenas um namespace adicional, garanto que não haverá problemas, já em relação ao resto... Resumindo: *eu* ainda prefiro ZPT e só estou argumentando para mostrar os motivos. É obvio que eu não preciso catequizar todo mundo... > > ZPT, como o nome diz, são apenas templates para gerar código HTML. > > Esses templates, que nada mais são do que arquivos HTML com áreas de > > marcação predefinidas, são então usados para gerar conteúdo dinâmico. > > Precisamente!!! Qualquer dia temos uma porra de um PLT (Python > Language Template) que vai gerar codigo Python... > E a minha pergunta vai se repetir de novo... Pra que usar o PLT se > podemos agarrar no vi e escrever Python directo??? Eu não exageraria tanto, afinal Python está intrinsicamente relacionado à lógica da aplicação. A menos que fosse algo como um Clipper da vida, que a propósito eu gostava muito... :-) >> Como você geraria o mesmo HTML diretamente? Embutindo a lógica junto >> com a apresentação, à la PHP, ou mesmo DTML? Como se usaria HTML >> direto (ou mais direto do que com ZPT) nesse caso? > > O Zope ja tem objectos muito bons pra separar logica de > apresentacao... vide DTML Method vs DTML Document... Basta usar os > recursos que ja temos! Deixa eu confessar que eu já fui um super fã do DTML, sério. Levou um bom tempinho até eu me acostumar com ZPT, mas foi um caminho sem volta. Hoje em dia eu pego *qualquer* ZPT feito por aí, bato o olho e já altero o que eu preciso. De forma similar, eu bato o olho nos meus próprios DTMLs e fico abismado com o que eu vejo... :-) > > Doidas gostosas a torrar ao sol... > > > Ou prefere escrever 73 linhas para gerar este HTML acima??? :-) Não exagera Hugo, em situações simples como essa, praticamente todo e qualquer método vai usar apenas *uma* linha. Sendo sincero, a questão nem é o número de linhas, mas sim a legibilidade e manutenabilidade da coisa, motivos pelos quais todos nessa lista são amantes de Python. Eu até ia converter aquelas 73 linhas para código DTML para te mostrar que em DTML não fica melhor, mas acho que não preciso, não é mesmo? ;-) []'s -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Anti-spam uol.
Hup! > > cata a stchopa e prega-lhe fogo! ;-) > > O prazo acabou se estendendo por bem mais que 24h, desculpem. Foi de > trabuco mesmo! ;-) mais um para o pelotão de fuzilamento: [EMAIL PROTECTED] -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Ressaca de ZPT
Opa Castardo, > Proponho um exercício entao! > > Todos poderiam falar alguma coisa que pensam ser complicada usando ZPT e > nos mesmos sugerimos melhorias, ou justificar a implementação ... daí > podemos implementá-las tbm e ainda fazer exemplos de codigos em DTML, > PHP, ASP enfim ... comparar e chegar a uma conclusão final mais sóbria > do que essa nossa. > > Acho mto mais útil e produtivo :) > > Alguém topa? temos algumas comparações entre DTML e ZPT em: http://www.zope.org/Members/peterbe/DTML2ZPT Daria para acrescentar mais situações, mas acredito já ser um ótimo começo. []'s -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Evento sem classificação
Opa Thiago, > Deixa eu estrear o ano com uma pergunta, que espero seja fácil de > resolver. Bom fácil eu sei que não é porque já estou tentando por um tempo. > > Como eu faço para não ter que selecionar o “Tipo de Evento” ? Work, > Social Event, etc... > > Detalhe, não tenho acesso ao file system :( essa frase é algo semelhante ao paciente pedindo ao médico: "Como eu faço para não ser operado num transplante de rim?" :-) De qualquer forma, acredito que dê para usar uma solução alternativa, caso você considere que a seleção de uma opção em branco para o tipo do evento resolve o problema. Se resolver, então siga os passos: - acesse o portal_metadata; - clique na aba Elements, depois em Subject; - no vocabulário do tipo Event, adicione uma nova linha com um espaço em branco (o espaço é importante). Agora a opção em branco passará a aparecer quando você criar um novo evento, basta selecionar ela. 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] Equipe de moderacao - Bem vindos Dorneles e Luciano
[Alguns dias offline depois...] Opa, > Caro Hugo e outros honoráveis moderadores, muito grato pelo convite. aproveito a oportunidade para também agradecer o convite, espero corresponder às expectativas, sejam elas quais forem... :-) > É muito bacana fazer parte deste grupo e ainda ter o privilégio de ser > convidado junto com o grande Dorneles, um guru hoje reconhecido até > nos fiordes da Noruega mas que mantém a simpatia e a simplicidade > daquele jovem e talentoso web designer que conhecemos há não sei > quantos anos num FISL. Na verdade o privilégio é meu e o 'guru' fica por sua conta Ramalho, 'guri' já está mais do que bom! :-) > Quanto a Rafahela e Jean, Marta (minha esposa) e eu estivemos no > casamento deles em Iraí, RS, no último dia 30. Karla e Xiru também > compareceram. Ficamos muito felizes de poder viajar os mil e poucos > quilômetros para estar com Rafa e Jean na cerimônia e no Reveillon, > pois são amigos para a vida inteira. > > Um grande abraço e um Feliz 2007 para todos os amigos da nossa comunidade! Mais uma vez aproveitando o gancho, muitíssimas felicidades ao nosso (agora) oficial casal 20 e um 2007 de grandes realizações para todos nós! -- Dorneles Treméa X3ng Web Technology
Re: RES: [zope-pt] Evento sem classificação
Opa Thiago, > Se eu tivesse acesso ao file sytem, o que eu teria que fazer então para > o ""Tipo de Evento" não ser um item obrigatório? se for isso e *apenas* isso o que você precisaria alterar, eu nem perderia muito tempo, alteraria diretamente o campo 'eventType' no schema do ATContentTypes/content/event.py, removendo o 'required' e adicionaria uma nota na documentação do projeto, para que isso não se perdesse em futuras atualizações. Entretanto, caso o conjunto de alterações seja algo substancial eu já partiria para criar um novo Produto, com um tipo de conteúdo baseado no Evento original e mais todas as customizações necessárias. HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] debug??
Opa Luis, > Pessoal, alguém sabe como inicializo o Plone/Zope, no Linux, no modo > debug??? (Plone 2.5) vou tentar complementar o que o pessoal já falou... Quando se fala em modo debug, duas coisas passam pela minha cabeça: a) rodar o Zope com a flag debug ativada (o que permite alterar pythonscripts e pagetemplates e ver os resultados diretamente sem precisar restartar o Zope) b) rodar o Zope e cair no prompt de debug (onde podem ser executados comandos como se você estivesse num PDB da vida, só que dentro do Zope, com acesso a tudo o que está no ZODB) Para o primeiro caso, geralmente se custuma alterar o etc/zope.conf e alterar a opção 'debug' para 'on'. O que muita gente não sabe é que ao invés de ficar alterando sempre entre on/off dá para fazer o seguinte para iniciar com o debug ativado, mesmo que ele esteja desativado no zope.conf: $ $INSTANCE_HOME/bin/zopectl fg Para o segundo caso, o comando a ser executado é: $ $INSTANCE_HOME/bin/zopectl debug HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Como retirar o auto r/data/hora de criação na pag. do Plone ?
Opa Joao Paulo, > Gostei dessa dica... mas por exemplo no search, eu continuo tendo que > customizar para sumir com mensagens do tipo [100%] by jpcarusi, > 2006-12-28 08:06 > > esse allowAnonymousViewAbout nao foi pensado para o search? provavelmente ele passou em branco até agora... :-) Abra um ticket no http://dev.plone.org/plone dessa forma você garante que o problema *será* solucionado, ou ao menos discutido. Essa é uma ótima oportunidade para interagir com a comunidade. HTH, -- Dorneles Treméa X3ng Web Technology
[zope-pt] Mais um site Plone que não tem cara de Plone
Opa, esse site já apareceu 3 vezes no #plone hoje, então acho que vale um menção aqui na lista também... http://www.belleviewclothing.com/ A página do evento cadastrado lá ficou bala... :-) A propósito, eles estão testando um novo produto de commerce que ainda não está no Collective, mas que deve ir para lá em breve, segundo o que falou o autor do site. HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Permissão recursiva
Opa Samuel, > Eu criei uma pasta privada no plone, onde somente um grupo podia > acessá-la. Através do ftp, dentro desta pasta, criei outra. > > HOME -> PASTA PRIVADA -> NOVA PASTA > > O problema é que um usuário, não pertencente ao grupo (até mesmo > anônimo), consegue acessar a subpasta criada (NOVA PASTA), via a url > dela. Como faço aplicação recursiva das configurações da pasta raiz > (PASTA PRIVADA) ? este howto é exatamente o que você precisa: http://plone.org/documentation/how-to/make-folder-hierarchy-private []'s -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] PloneFormGen + mySQL + relações m:n
Olá Paul, > Portanto, o problema que me resta é a lógica para colocar os dados do > formulário no mySQL. Me aconselharam a tentar o Alchemist ( > http://plone.org/products/alchemist, mas não encontrei nenhum > tutorial :( Alguém tem experiência com esse produto? > > Quero reduzir código próprio ao máximo, pois fica mais fácil manter assim :) você pode fazer isso sem usar um produto adicional. Confere o tutorial do próprio PloneFormGen: http://plone.org/products/ploneformgen/documentation/tutorial/sql-crud/tutorial-all-pages Até eu me surpreendo com a quantidade de documentação existente no http://plone.org... :-) HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] erro "
Opa Oradoriun, > Estou tentando fazer uma simples consulta de atributos em um objeto > simpleitem e simplesmente parece ser impossível... > > Estou usando o zope 2.6.rc4 por motivos de compatibilidade de produtos. > Vale resaltar que estou criando as classes de um python product > manualmente, com classes de negócios de projeto e uma interface em html. > > Se alguém puder ajudar agradeço desde já, e se precisar de mais código > basta avisar. a princípio acredito que você postou o suficiente... :-) > As linhas que me tiram o sono são stas: > ___ > ### Problem domain pure Python classes > from TInstituicao import TInstituicao > > ### Constructor > > manage_addInstituicaoForm = DTMLFile('html/addInstituicao', globals()) > > def manage_addInstituicao (self, id, Nome, UnidadeEscolar, >ModalidadeEnsino, Classificacao, Diretor, Cnpj, > REQUEST=None): > """ Create Instituição and add to Destination """ > objeto = Instituicao (id, Nome, UnidadeEscolar, ModalidadeEnsino, > Classificacao, Diretor, Cnpj) > self._setObject(id, objeto) #Destination(). > if REQUEST is not None: > ### return self.Projeto_final.Projeto (self,REQUEST) > ### return objeto.consulta(self,REQUEST) > return objeto.consulta > ### return self.Projeto_final.Projeto.confirmaInstituicao > (self,REQUEST) Neste ponto você está retornando o método 'consulta' e *não* o que ele retorna após ser executado, para tal, bastaria usar algo como: return objeto.consulta() Ou, se você precisar da aquisição, seja para o que for: return self[id].consulta() HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] CSS em uma página Plone
Opa Paul, > Fiz um Page Template em ZPT e gostaria de incluir um CSS específico para > esta página. > * Criei um DTML Method e fiz meu CSS lá. > * Entrei em portal_css para registrar a nova folha de estilos, mas não > estou conseguindo criar a regra de condição para que seja usado apenas > naquela página específica. > > Sem definir a condição está funcionando ok, mas alterando páginas onde > não quero que o CSS seja aplicado. > > Tentei regras do tipo: > python:"minha_pagina" in here > > Funciona, mas causa erros de TypeError em outras partes do site, como > quando vou acessar as configurações do site. > > De que outra maneira posso conseguir isso? untested: python:template.getId() == 'o_nome_do_seu_template' HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] CSS em uma página Plone
Paul, > Infelizmente template não está definido nesse contexto e causa erro. :( > > Tentei pegar com here.getId() mas retorna o ID da pasta... > > hm, complicado isso :P infelizmente o ResourceRegistries usa o método createExprContext definido no CMFCore/Expression.py e este por sua vez não define uma chave com o valor 'template'... :-( Falei com o Florian Schulze e ele está com planos de reescrever o ResourceRegistries para o Plone 3.0, usando viewlets e resources do Zope3, então adicionar isso não estaria nos planos dele para a versão atual... Entretanto, isso não quer dizer que isso não possa ser feito... fica meio feio, mas deve funcionar: python:object.REQUEST.PUBLISHED.getId() == 'foo' HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] como usar vários skins
Olá Jean, > Preciso saber se há uma outra forma de alterar os skins ao clicar em > cada pasta do site. nesse tutorial deve ter tudo o que você precisa saber a respeito desse assunto: http://plone.org/documentation/tutorial/switching-skins HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Dúvidas sobre o Kupu !!!
Opa Perallis, > Seleciono a opção para vizualizar em Html no Kupu, > faço modificações, como colocar uma cor de fonte dirente, ai quando saio > para o modo visual do Kupu, ele me mostra as modificações corretas. > Porém, quando clico em salvar eu perco estas modificações, > o conteudo é o mesmo, mas a formatação não. > > Eu já tentei alterar as configurações do Kupu, mas não achei nada que > resolvesse meu problema. > > Alguém tem alguma dica? esse assunto rola com uma certa freqüência por aqui e pelas listas internacionais também... :-) Dá uma conferida nesse link, ele tem a solução para você: http://plone.org/documentation/how-to/filteringhtml HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Como redimensionar o tamanho da imagem exibida
Opa Luis Paulo, > Estou exibindo fotos utilizando o seguinte código no meu template: > > > > > > Mas estas imagens são exibidas no seu tamanho original. Gostaria de > formatar isso, de forma a exibi-las todas num mesmo tamanho que eu > definir... Alguém sabe como fazer isto?? a última mensagem do Zé Henrique resolveu a questão, mas só para não deixar a dica do Ramalho em branco, aqui vai um adendo... :-) Usando o método tag, a solução ficaria assim: Você pode passar qualquer keyword no método tag que ele gera um atributo homônimo no HTML, exceção para o 'class', que é uma palavra reservada do Python, mas nesse caso pode ser usado o keyword 'css_class', com o mesmo efeito. HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Como pegar Link Externo armazenado num objeto Event
Opa Fabio, > Estou tentando fazer um template para gerar uma saída xml com as > informações guardadas em um objeto do tipo Event. Eis o código: > > [snipped code] > > Quando eu dou "evento/Title", aparece o título do evento. Agora > "evento/event_url" dá erro. Eu olhei lá no arquivo 'event.py' e existe > lugares onde 'event_url' aparece. No template 'event_view' ele chama a > Url externa como 'here/event_url'. funciona no template pois 'event_url' é um método presente nos objetos do tipo evento e 'here/event_url' nada mais é do que a chamada no método event_url em here, no caso o próprio evento. > Alguém sabe como tirar o link externo armazenado no objeto 'Event'? Considerando que o seu código faz uma busca no catálogo e que o campo 'eventUrl' (cujo accessor é o tal event_url) presente no schema do ATContentTypes/content/event.py não define um índice no catálogo para este campo, você tem duas opções: a) sendo 'evento' uma referência a um dos itens retornados pela busca no catálogo, acessar o objeto que o item referencia e então a partir do objeto, chamar o método accessor (event_url): python:evento.getObject().event_url() b) adicionar um nova coluna de metadados (metadata) no catálog, com o nome de 'event_url' e atualizar o catálogo, então você poderia usar simplesmente: evento/event_url Nesse caso, ele estaria acessando o atributo event_url presente no item do catálogo que referencia o evento em questão e não o próprio evento. HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Manual de SelectionWi dget para Vocabulários
Opa Fabio, > Eu precisava de algum manual (completo) sobre SelectionWidget para > trabalhar com vocabulários. O ArcheType seria o ATVocabularyManager ou > outro que vocês possam recomendar. Já procurei na documentação que vem > junto com esse Archetype e ele só ensina até uma parte e no google não > obtive resposta satisfatória. vocabulários não são um mistério tão grande assim... :-) A princípio existem dois tipos básicos de vocabulários que podem ser atribuídos a um field de um schema de um content-type qualquer: estáticos e dinâmicos. Os vocabulários *estáticos* são aqueles onde você passa uma relação fixa de elementos e eles não variam. Exemplos: a) Uma tupla/lista: vocabulary=('maçã', 'kiwi', 'uva') vocabulary=['maçã', 'kiwi', 'uva'] Neste caso, cada valor será usados tanto para exibição na tela como para armazenamento. b) Uma tupla/lista de 2-tuplas: vocabulary=(('0', 'maçã'), ('1', 'kiwi'), ('2', 'uva')) vocabulary=[('0', 'maçã'), ('1', 'kiwi'), ('2', 'uva')] Neste caso, o primeiro valor de cada tupla será usado no armazenamento e o segundo valor é o que será exibido na tela. c) Uma DisplayList: vocabulary=DisplayList(( ('0', 'maçã', 'label_maca'), ('1', 'kiwi', 'label_kiwi'), ('2', 'uva', 'label_uva'), )) Neste caso, o primeiro valor de cada tupla será usado no armazenamento, o terceiro valor será usado como msgid no processo de internacionalização (i18n) e o segundo valor será usado apenas se uma tradução para o terceiro valor não for encontrada. Vale lembrar que os casos (a) e (b) são internamente transformados para uma DisplayList, mas sem usar i18n (sem o terceiro valor). O segundo tipo de vocabulário é o *dinâmico*, onde como o nome diz, a relação dos items não é fixa, podendo ser alterada. Similarmente aos vocabulários estáticos, os dinâmicos devem retornar um dos 3 tipos já descritos, ou seja, uma tupla/lista ou uma tupla/lista de 2-tuplas ou ainda uma DisplayList. Exemplos: d) Uma string: vocabulary='getFrutasDisponiveis' Neste caso, o valor da string é usado como nome do método a ser chamado numa instância do objeto. Além de poder ser um método na classe, ele pode ser também um PythonScript e ficar dentro de uma das skins do portal. Um exemplo de implementação do nosso getFrutasDisponiveis (como um método da classe) poderia ser: def getFrutasDisponiveis(self, content_instance, field): frutas = DisplayList() for fruta in content_instance.listaFrutas(): if fruta.quantidade > 0: frutas.add(fruta.codigo, fruta.nome) return frutas Note que o método recebe dois parâmetros, content_instance e field. O primeiro é a instância a partir da qual o método está sendo chamado e o segundo é o nome do field. Isso é útil quando o mesmo método é usado como vocabulário de campos diferentes. No exemplo, considerei que existe um método listaFrutas que nos retorna a relação de todas as frutas. As frutas ainda possuiriam 3 atributos: quantidade, codigo e nome. Apenas as frutas com uma quantidade maior do que 0 seriam retornadas no nosso vocabulário dinâmico. Vale lembrar que a implementação ao invés de considerar objetos presentes no ZODB, poderia fazer uma chamada SQL, pegando a relação de frutas disponíveis em um banco de dados qualquer. e) Uma instância de uma classe que implementa a interface IVocabulary: vocabulary=NamedVocabulary("frutas") Nesse caso, usamos a classe NamedVocabulary do ATVocacularyManager (ATVM) que implementa a IVocabulary. Considerei que já existe um vocabulário 'frutas' dentro da tool portal_vocabularies, ou seja, bastaria adicionar novos objetos (de um tipo de conteúdo qualquer, configurável) dentro daquele vocabulário para que eles se tornem imediatamente disponíveis. O ATVM é razoavelmente complexo, mas fornece alguns recursos interessantes, como vocabulários hierárquicos e também suporte ao LinguaPlone, para i18n do conteúdo. Bom, 'resumindo' era isso... ;-) HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] ZPT passando variáveis/objetos po r link
Olá Paul, > Tenho uma página que mostra diversos dados que são buscados de um > banco de dados relacional (mysql). Funciona tudo ok. > > O que quero aqui, é ter um link que exporte os dados para o usuário > abrir em uma planilha no seu computador. (já criei o python-script que > faz isso) > > Para isso, quero repassar os dados que foram buscados para criar a > página para que o script python possa reutilizá-los, assim evitando > precisar fazer uma segunda busca idêntica no mysql. > > Como posso criar um link assim? Como são muitos dados, seria > interessante passar sem usar o método GET, que exigiria uma construção > muito grande no link. > > Legal mesmo seria passar os objetos/variáveis criados que representam > os resultados diretamente. Isso é possível? eu acredito que você não precise se preocupar com essa questão de evitar uma segunda busca idêntica no MySQL. Se não me falha a memória tanto o MySQL quanto o conector Zope ao banco implementam mecanismos de cache, o que faria a segunda consulta retornar instantâneamente... HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Re: [ZPT] Como pegar o caminho do objeto -1?
Grande Lincoln! > Amigão, acho que o getPhysicalPath resolve teu problema > > > Parent > dá para simplificar um pouco isso... ;-) Parent HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Licença
Opa Jacson, > Quando editamos um arquivo, se clicarmos na aba Propriedades, lá possui > várias propriedades do arquivo bem como, Contribuidores, Autores, Data > da Efetivação, Direitos Autorais e etc. > > Preciso criar um portlet que sempre que o arquivo esteja sendo exibido, > mostre no portlet ao lado, alguns destes campos como autor e direitos > autorais. > > Alguem já fez algo parecido? > Ou tem idéia de como fazer? é mais simples do que você imagina... :-) Basta usar um dos portlets existentes como base e acessar o conteúdo dos campos dessa forma: context/accessorDoCampoDesejado Para saber o accessor de cada campo, basta uma sapeada pelo Archetypes/ExtensibleMetadata.py... HTH, -- Dorneles Treméa X3ng Web Technology
Re: Res: [zope-pt] PloneSoftwareCenter
Opa, > > > Baixei o PloneSoftwareCenter e instalei correntamente, > > > > > > Mas Quando fui adicionar um o PSC deu o seguinte erro. > > > > > > Tipo de Erro > > > AttributeError > > > > > > Valor do Erro > > >@@softwarecenter_view > > > > > > Alguem já passou por este problema ou sabe como resove-lo. > > > > Teria como você passar a versão de zope e plone que você está usando > > para a lista? > > Plone 2.1.3, > Zope (Zope 2.9.6-final, python 2.4.4, linux2), > Python 2.4.4 (#2, Oct 20 2006, 00:23:25) eu diria que as views introduzidas recentemente[1] no PSC quebraram a compatibilidade com o Plone 2.1. Se você tentar com o Plone 2.5, deve funcionar corretamente. Se precisares mesmo do Plone 2.1, talvez valha a pena tentar corrigir o problema, ou usar uma versão anterior à adição das views. [1] http://dev.plone.org/collective/changeset/35228 HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] charset PloneChat
Opa jccfilho, > Estou usando o Plonechat e num servidor de desenvolvimento a janela > com as mensagens aparece normal. Em outro servidor a mesma janela não > reconhece caracteres acentuados e cedilhados. Os dois servidores > possuem o arquivo sitecustomize.py com o charset configurado para utf-8. > O que mais poderia ser? interessantemente, ontem a tarde dois colegas estavam conversando no #zope-pt a respeito disso e eles resolveram(?!?) o problema instalando o PloneLanguageTool. Eu não vejo como isso poderia resolver o problema, mas se você testar e funcionar, por favor, tente isolar a causa do problema para que possamos corrigir isso. []'s -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] ArchGenXML - Geração incorret a de código do workflow
Opa Marcon, > Atualizei a versão do meu ArchGenXML da tag 1.5.0 do svn para a versão > recomendada do branch 1.5 e alguns do arquivos gerados do workflow > "indesejavelmente" são convertidos de utf-8 para iso-8859-1. > > Voltando para a a versão da tag 1.5.0 é gerado corretamente, mas queria > utilizar a última versão recomendada, que é a branch 1.5 > > Estou utilizando o Poseidon Professional 4.1-0 e python 2.3.4 para > executar o AGX. > > Alguém já passou por isso e tem uma dica para que não aconteça isso? dei uma olhada rápida agora e encontrei algo suspeito, que pode estar relacionado com a troca de encoding. Mas pelo que eu entendi só ocorreria o contrário, ou seja, todos os iso-8859-1 seriam convertidos para utf-8: http://dev.plone.org/archetypes/changeset/7214 Tens certeza que os arquivos eram utf-8 e foram transformados em iso-8859-1? -- Dorneles Treméa X3ng Web Technology
Re: Res: [zope-pt] PloneSoftwareCenter
Opa Jacson, > Mas preciso mesmo no 2.1, pois vou colocar em vários portais. death to 2.1! :-) > Já estamos pensando numa migração para o 2.5... Mas não agora. Menos mal... mas se demorar muito essa decisão, vão acabar migrando direto para o 3.0... :-D > Qual seria o processo para corrigir o problema? A única informação que o traceback nos dá é que a view não pode ser encontrada. É pouco, mas já é um começo. Tem que verificar a versão do Five e do Archetypes que estão em uso. Lembro de ter tido problemas com uma mudança no Five em relação a ordem da resolução durante o processo de traverse: http://dev.plone.org/plone/ticket/5761 > E qual é a versão anterior à adição das views?? A revisão 32541, que, se não me falha a memória, é a mesma que está rodando no plone.org. HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Migrando conteúdo archetypes quebrado
Opa Diego, > Prefiro a primeira opção, rs. > eu to fazendo o seguinte: ao instalar o produto alterado através do > portal portal_quick_installer eu converto pela função migratePortalType > do módulo ATContentTypes/migration/common.py . > Existe outra forma de fazer isso melhor ? ( é apenas uma curiosidade ) existe... você pode fazer um simples alias de módulo e não esquentar mais a cabeça... :-) Alguma coisa parecida com isso no __init__.py do seu produto: import sys from Products.SeuProduto import CadastrodeFontes sys.modules['Products.SeuProduto.Cadastro'] = CadastrodeFontes Acho que deu para pegar a idéia. HTH, -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Ser ou não ser ?
Opa Joel, > Colegas, baixei o arquivo kinterbasdb-3.2.win32-FB.1.0-py2.4.exe para > instalar no zope que está instalado em minha máquina no sistema windows. > Este instalador exige que a pasta c:\python24 exista. > Acontece que o instalador coloca os arquivos do kinterb na pasta > c:\python24, e por isso não funciona no meu zope que está em c:\zope. > O instalador do Kinterb... não permite, na instalaçao, que a pasta > destino seja mudada. > Alguém já passou por este problema ? Alguma sugestão ? ok, vamos tentar uma técnica POG aqui... :-) Resumo da ópera: ele não instala por que a pasta 'c:\python24' não existe e se você criar a pasta ele só instala lá, não permitindo mudar. Não fui atrás para ver que é que faz o empacotamento dessa extensão no Windows, mas acredito que dê para resolver a questão simplesmente movendo o conteúdo que for instalado no 'python do sistema', ou seja, o que está em 'c:\python24' para o 'python do zope', ou seja, o que estiver dentro de 'c:\zope'. Faz o teste aí e nos diga se POG se aplica a mais esse caso... :-) []'s -- Dorneles Treméa X3ng Web Technology
Re: [zope-pt] Dúvida de iniciante (orei a)
Opa Fred, > Pessoal, passei um longo tempo sem mexer com PZP e voltei a mexer esses > dias atrás, to querendo saber o seguinte. > Tenho um z sql method que faz a pesquisa pelo id, chamo esse cara na > page template, porém não está certo, dá erro a todo momento, pois quero > pegar o objeto de retorno e jogar num formulário para a alteração de dados. > Gostaria de saber se tem como eu jogar na session e buscá-la através do > python e pegar na page template, ou fazer direto na chamada da z sql > method na page template. não esqueça que o resultado do ZSQLMethod é uma lista onde cada elemento contém o conjunto dos campos envolvidos. Dessa forma, para acessá-los num PageTemplate, bastaria algo como: HTH, -- Dorneles Treméa X3ng Web Technology
[zope-pt] Re: Plone 2.5 com Zope 2.10
Opa Leandro, > Alguém sabe ou já testou se o Plone 2.5 do svn collective funciona > bem com o Zope 2.10.2 ? > > Estou utilizando com Zope 2.9.6 e funciona bem, alguém ja instalou > na versão 2.10 do Zope? não funciona e provavelmente nem funcionará (a menos que alguém se disponha a corrigir o que está quebrando...). Com o Zope 2.10 só mesmo o Plone 3, que deve entrar em beta nesse fim de semana. HTH, -- Dorneles Treméa X3ng Web Technology
Re: Res: [zope-pt] ZopeScheduler 0.2 + Zope2.9 - Não Funciona!
Opa Breno, > [...] > 2007-03-15T07: 44:16 WARNING Init Class Products.ZopeSchedu > ler.ZopeSchedule r.ZopeScheduler has a security declaration for > nonexistent method 'formatTasks' > [...] > > Mas este WARNING, que apareceu no log, deixou-me preocupado, pois este > produto, para mim, deve funcionar perfeitamente. > > Caso alguém poderia me explicar este WARNING, ficarei agradecido! esse warning é apenas um 'typo' na definição de segurança do método 'formatTask' que está sendo usado como se fosse 'formatTasks'... Esse patch corrige o problema: > --- ZopeScheduler.py.old2007-03-21 19:52:16.869674910 -0300 > +++ ZopeScheduler.py2007-03-21 19:52:29.434390932 -0300 > @@ -328,7 +328,7 @@ > """ list available tasks """ > return self._tasks.items() > > -security.declareProtected( ScheduleTasks, 'formatTasks' ) > +security.declareProtected( ScheduleTasks, 'formatTask' ) > def formatTask(self, task_date): > """ format task properties for ZMI """ > _minute, _hour, _dom, _dow, _month = task_date HTH, -- Dorneles Treméa X3ng Web Technology
[zope-pt] Re: Attribute error allow_sorting
Opa Fernando, > Tenho em uma instância o plone 2.4 e enfrentamos um problema onde > notícias publicadas de uma certa data para trás estão exibindo um erro > no atributo allow_sorting. > Customizei o referencebrowser.pt e comentei o trecho do código que > tem uma div com condição tal:condition="field/widget/allow_sorting" > (mais precisamente das linhas 155 à 185) e ao menos aparentemente > solucionou meu problema. Como também tenho uma instância com plone > 2.1.3 copiei o referencebrowser fiz um teste e obtive o mesmo resultado. > Gostaria de saber se a "solução" encontrada corrige meu problema > sem efeitos colaterais ou se existe uma solução mais indicada para > esse caso isso foi corrigido no ATReferenceBrowserWidget há 10 meses atrás: http://dev.plone.org/archetypes/changeset/6576 Está na hora de atualizar os seu produtos... ;-) HTH, -- Dorneles Treméa X3ng Web Technology
[zope-pt] Re: Vulnerabilidade ZOPE
Opa Tom, > foi anunciado um hotfix para zope devido a vulnerabilidade de segurança. > Postado na lista internacional: > http://www.zope.org/Products/Zope/Hotfix-2007-03-20/announcement o Limi pediu e a PloneSolutions 'cedeu' o Martijn Pieters (MJ no #plone) para corrigir o problema... :-) Ele passou a segunda inteira em cima disso e de acordo com suas palavras: "I had fun with decorators, decorator factories, nested namespaces and exec, code generation, and ZopeTestCase functional tests..." Nada mal... poderia até ser incluído como o 34º nível do Python Challenge[1]... :-D [1] http://pythonchallenge.com/ -- Dorneles Treméa X3ng Web Technology
[zope-pt] Re: Ubuntu troca Plone por Drupal
Opa, > |No final do post, o Matt Nuzum diz que escolheram Drupal para o novo > |site do Ubuntu, que já está no ar. [2] > | > |Peguei a notícia na lista plone-dev, onde o John Stahl (organizador da > |PloneConf 2006), postou perguntando se alguém sabia o que se passou > |[3] > | > |O Wiggy respondeu dizendo que na época em que ocorreram os problemas o > |pessoal do Ubuntu disse para ele que simplesmente não tinham nenhum > |expert em Plone na equipe, e por isso decidiram abandonar a > |plataforma. > > Bom, li a thread em plone-dev até o ponto em que Justizin foi ameaçado > de ser banido por uso de linguagem de baixo calão e ataques a Canonical. hehehe... ele vai ser a primeira figura a ser banida duas vezes das listas do Plone... :-) > Segundo o Limi, a escolha do Plone (pela Canonical) sempre foi temporaria. > Na época serviu para apagar um incêndio usando Plone 2.0 e com a ajuda > do próprio Limi. Exato e isso ainda na metade de 2004, pouco antes da Plone Conference em Viena. Foi um período de 2 ou 3 meses onde o Limi passava 2 semanas em Londres ajudando a Cononical e um fim de semana em casa... Logo após a conferência tiramos uns 30 quilos de lixo da sala da casa dele para podermos fazer um mini-sprint por lá... :-) > Em suma, aparentemente não houve nenhum demérito específico para o Plone, > apenas uma decisão estratégica interna da Canonical de escolher ferramentas > cuja equipe interna já domina. Vale lembrar também que no anúncio eles falam sobre a troca do Moin Moin pelo Drupal, afinal o Plone já saiu de lá a muito tempo... -- Dorneles Treméa X3ng Web Technology
[zope-pt] Re: Dúvida para adicionar conteúdos
Opa Luis Paulo, > Mas ainda não resolvi (nem consigo entender) o por quê do Plone não me > permitir que um anônimo adicione um conteúdo, mesmo depois que lhe dou > as devidas permissões!! Seria algum erro do Plone? dá uma lida nesses dois documentos, se ainda tiveres dúvida depois disso, manda um outro email para a lista: http://plone.org/documentation/how-to/allowing-anonymous-users-to-add-content http://plone.org/documentation/tutorial/anonymously-adding-custom-content-types-with-argouml-and-archgenxml/anonymous-content-submission HTH, -- Dorneles Treméa X3ng Web Technology
[zope-pt] Re: escopo do admin
Luis Paulo, > Sobre a permissão de usuários, com o privilégio de admin, eu não teria > acesso a TUDO o que está no portal Plone?? Surgiu esta dúvida quando um > admin criou um fórum e eu, que tb tenho permissão de admin, não pude > alterar o status do fórum para publicado...Somente quem o criou pode > alterar...Pq? considerando que 'privilégios de admin' é o mesmo que ter o role Manager, nada impede que em algum estado do workflow que o tipo de conteúdo estiver usando (por exemplo, o estado 'visible' do folder_workflow) restrinja alguma permissão para esse role. Então, para aquele estado específico (visible) mesmo usuários como o role Manager não teria a permissão que lhe foi retirada. Além disso, algumas transições entre estados podem verificar se o usuário atual possui um role específico e só então permitir que a transição seja executada. Se o usuário possuir Manager e a 'guarda' estiver sendo feita para usuários com o role Moderator então a transição não será exibida para o usuário com Manager. HTH, -- Dorneles Treméa X3ng Web Technology
[zope-pt] Re: Template do Form Gen!
Opa Jacson, > Sobre o PloneFormGen. > Criei um formulario, e escolhi salvar o Formulario em um SaveDataAdapter. > O que quero fazer é criar um template que exiba os dados salvo no > SaveDataAdapter. > O que o SaveDataAdapter faz é gerar um arquivo CSV. > > O que quero é mostrar os dados tabulados numa página no proprio Plone! > > Não sei como acesso os valores salvos nele.? > > Alguem tem alguma dica pra dar? eu não fazia a menor idéia, mas dei uma olhada agora no PloneFormGen/content/saveDataAdapter.py e lá tem um método que pode ser muito útil: InputAsDictionaries. Dessa forma, basta que o seu PageTemplate use algo da seguinte forma para exibir todos os dados salvos: HTH, -- Dorneles Treméa X3ng Web Technology
[zope-pt] Re: Horário Incorreto
Opa, > Estou com um problema: o horário mostrado nos conteúdos do plone está > com 3 horas de defasagem. O horário do servidor está correto. O > engraçado é que o horário na ZMI aparece corretamente. Até mesmo as > informações de histórico de mudanças de estado aparecem com os horários > corretos. > > Isso começou a acontecer depois que houve uma atualização acidental do > zope para a versão 2.9.6. > > Alguém tem alguma idéia do que pode ser isso? caraca, só eu já respondi isso meia dúzia de vezes nessa semana... :-( http://thread.gmane.org/gmane.comp.web.zope.plone.setup/1929 A propósito, essa 'atualização automática' foi em qual distro? HTH, -- Dorneles Treméa X3ng Web Technology
[zope-pt] Re: ZODB Pack KeyError
Opa Fabricio, > Python 2.4 > Zope 2.9.6 > Plone 2.5.1 > Cluster: > 14 Instancias Zope > 02 Zeo Servers > 04 Arquivos Data.fs, 2 em cada Zeo Server a UCS parece estar levando a sério esse tal de Zope hein? :-) > Hoje quando fui rodar o Pack em um Data.fs ele retornou o seguinte erro > para mim: > > [snipped traceback] > > Alguma dica do que está acontecendo? Esse problema foi enc ontrado em > outro Data.fs, no mesmo servidor. Uma dica seria usar o Zope/bin/fsrefs.py para verificar onde o bicho pega e/ou o Zope/lib/python/ZODB/fsrecover.py para ver se ele resolve. Interessantemente, teve algo bem parecido com isso recentemente: http://www.nabble.com/KeyError---POSKeyError-t3454779.html Nessa thread, o Dieter dá mais alguns conselhos (black magic, mas está valendo...), tem um que pode ajudar também do Laurence Rowe. Se tudo der errado, poste o seu traceback naquela thread com os resultados que você obteve com os scripts acima que com certeza o povo acha o furo da bala... :-) HTH, -- Dorneles Treméa X3ng Web Technology
[zope-pt] Re: ZODB Pack KeyError
Opa Fabricio, > Muito a sério mesmo, esse projeto tem 9 máquinas no Cluster, todas > máquinas de alto desempenho, com Alta Disponibilidade, mesmo no Zeo, > sem o software pago da Zope. :) parece um case e tanto, não esqueçam de divulgar depois de concluído, afinal isso dá um ótimo crédito ao Zope/Plone e a vocês, claro. > Valeu pelas dicas, mas o furo foi um pouco mais em baixo. > > Tenho aula com o Sidnei na quinta de noite, e aproveitei e falei com ele. :) Hehehe, a pessoa certa, no lugar certo, na hora certa... difícil disso acontecer. Mais impressionante é que esse cara certo ainda não concluiu sua a graduação, um fenômeno! > Mechendo, vendo os logs e vendo a nossa estrutura acabamos descobrindo > que o problema é referencia cruzada entre Data.fs, como nós usamos um > Data.fs para o portal, e 2 Moint Points dentro, 1 para histórico e 1 > para material, houve, não sei como uma referencia entre arquivos destes > Moint Points. O Pack usa a classe serialize.py e la dentro > 'n'(Multi-database reference) é tratada como referencia fraca, e > ignorada, mas acaba estorando quando se dá um Pack. > E se eu der um Pack no Data.fs do material, vou ter um PosKeyError e > perco os objetos do Data.fs histórico. Eu li a thread do Sid com o J1m... incrível que isso está quebrado desde sempre! Incrível também como o problema se manifestou em dois lugares diferentes quase ao mesmo tempo, depois de tantos anos... > Já foi disparado um e-mail para zope-dev, o Sidnei e o Jim estão vendo > como tratar isso, talvez ampliando o Pack para que ele possa ser entre > Data.fs, ou melhorando o produto Mount Point, ou criando um patch de > correção para essas referencias cruzadas. É muito possível que o Sid corrija isso ainda no fim de semana, só para dar mais uma estucadinha no J1m... ;-) > O fsrecovery.py não faz nada. > O fsrefs.py acusa mais de 300 obj, quando o problema foi só em 4 obj. Uma possibilidade é que sejam 300 versões(!) anteriores dos tais 4 objetos, mas dicífil de afirmar... []'s -- Dorneles Treméa X3ng Web Technology
[zope-pt] Re: Eventos javascript (onchange) no SelectionWidget
Opa Leonardo, > Opa Wesley, pois eu estou tendo que customizar o meu edit mesmo, preciso > deste evento por causa do ajax. Mais a minha duvida era se tinha como > colocar dentro do meu widget do meu AT, entendeu? > tipo: > > StringField( > name='meuAT', > index="FieldIndex", > serchable="1", > required=1, > vocabulary='getMeusValores', > enforceVocabulary=1, > widget=SelectionWidget( > label="Valores Qualquer", > description="Informe o(s) valores.", > attributes={"onchange"="listaSubValores()"}, > format="select", > i18n_domain='QUALQUER', > ) > ), > > Mais em quanto eu nao achei esta solução eu implementei isto dentro do > meu edit mesmo. dá uma olhada nessa thread da plone-dev de novembro passado: http://thread.gmane.org/gmane.comp.web.zope.plone.devel/13239 Ele referencia outra thread, na at-general, ainda mais antiga: http://thread.gmane.org/gmane.comp.web.zope.plone.archetypes.general/228 Resumindo: a idéia é velha, tem gente interessada nisso, mas ninguém nunca parou para polir o código existente e integrar no Archetypes. HTH, -- Dorneles Treméa X3ng Web Technology
[zope-pt] Re: Guard Expression no WorkFlow
Opa Renato, > Tenho uma transicao do workflow com guard:expression que retorna False. > Os usuário normais não conseguem vê-la pelo portal (o que está correto) > mas o manager consegue. Alguém sabe por quê ? > > OBS: Estou com o plone 2.1.2, zope 2.8.5 e python 2.3.5 tirado do DCWorkflow/Guard.py do CMF 1.5.x: 47 def check(self, sm, wf_def, ob, **kw): 48 """Checks conditions in this guard. 49 """ 50 u_roles = None 51 if wf_def.manager_bypass: 52 # Possibly bypass. 53 u_roles = sm.getUser().getRolesInContext(ob) 54 if 'Manager' in u_roles: 55 return 1 Ou seja, caso a opção "'Manager' role bypasses guards" esteja marcada no seu workflow dentro do portal_workflow, então as restrições não valem para quem tem o role Manager. Dá uma conferida. HTH, -- Dorneles Treméa X3ng Web Technology
[zope-pt] Proxy Roles (era Re: Métodos Públicos e Privados)
Opa Luis Paulo, > Ainda não consegui sanar este problema... Alguém sabe de algum bom > material de estudo que fale sobre como trabalhar com estes proxy roles e > chamadas de scripts python a partir do meu template? > > Fiz um script contendo apenas isto: > > from Products.CMFPlone import MembershipTool > return context.listMemberIds(self) > > Daí eu teria que chamá-lo do template e alterar o proxy role, correto? hum... está muito estranho esse script... ao invés de importar o MembershipTool e não usar ele para nada, tu poderias usar algo como: return context.portal_membership.listMemberIds() Uma vez que o objeto portal_membership é uma instância da classe Products.CMFPlone.MembershipTool.MembershipTool. Além disso, o portal_membership pode ser pego com o getToolByName, se quiseres. > Queria saber se tem alguma função já pronta que altere pra mim o proxy > role de exucucao deste script.. Isso é mais simples do que parece... Supondo que o seu_script.py já esteja dentro de algum lugar do diretório skins do seu produto, basta criar um arquivo com o nome seu_script.py.metadata, no mesmo diretório, contendo: [default] proxy = Manager HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
Re: Res: [zope-pt] tradução de error_re quired no Plone 2.5
[ Dois meses depois... ] Opa Ivo, > > Quando crio um plone site padrão no plone 2.5, ao inserir um archetype > > qualquer (arquivo, por exemplo), deixando um campo obrigatório vazio, a > > mensagem "Arquivo is required, please correct." não está vindo > > traduzida, já a mensagem do portal_status_ message vem traduzida ( Favor > > corrigir os erros indicados.). > > Testei no Plone 2.1.2 e funciona. > > > > Esta é uma falha do 2.5? Já testei também no 2.5.1 e 2.5.2, também não > > traduz. > > > > Detalhe: no plone 2.1.2, existe um arquivo i18n com a chave (msgid) > > "error_required" , já no 2.5 não existe. Acrescentei tal chave no > > arquivo Archetypes-pt- br.po mas mesmo assim não traduz. > > Achei o erro. > > No arquivo \Archetypes\Field.py tem uma função validate_required que > chama um método translate do arquivo \Archetypes\generation\i18n.py, > cujo domain utilizado é "archetypes". Só que não existe nenhum arquivo > i18n com esse domain. > Portanto, basta criar um arquivo i18n com o domain archetypes e > adicionar a tradução para o msgid error_required. só para deixar um registro: o problema é antigo... ele aconteceu quando os arquivos de i18n do Archetypes foram movidos para o produto PloneTranslations. Naquela ocasião, que completa dois anos em duas semanas, foi esquecido de alterar o Archetypes em alguns lugares para usar apenas o domínio 'plone'. Nos últimos meses, alguns commits corrigiram aos poucos estes pequenos probleminhas que ficaram ocultos durante todo esse tempo: http://dev.plone.org/archetypes/changeset/ http://dev.plone.org/archetypes/changeset/7376 http://dev.plone.org/archetypes/changeset/7994 http://dev.plone.org/archetypes/changeset/7923 http://dev.plone.org/archetypes/changeset/7996 Em particular, o ante-penúltimo commit feito na semana passada que corrige o msgid error_required desta thread, e os 2 últimos, feitos alguns minutos atrás que corrigem a última ocorrência e fazem o backport das correções para o branch usado no Plone 2.5. HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Busca sem um path específico
Opa, > |Blz.. funciona legal na console, tanto meu teste abaixo[1] quanto a > |sugestão do Senra. Só que no script python dá os respectivos erros: > | > |b) global name 'set' is not defined > > o lance é o seguinte. Para permitir o uso do módulo no Zope, > vc pode adicionar o código abaixo a qualquer produto. > Ou até mesmo criar um produto encarregado apenas da autorização. lembrando que a partir do (ainda distante) Zope 2.11, o módulo sets já estará liberado por padrão: http://www.zope.org/Collectors/Zope/1918 http://svn.zope.org/Zope/trunk/lib/python/RestrictedPython/Utilities.py?rev=72009&r1=71997&r2=72009 HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Alterando "Próximos ítens"
Oi Bruna, > Opa... consegui. > Não mexi na Instancia, mas mexi em: > plone_templates/batch_macros > > é o arquivo que gera essa opção das páginas. > > Aqui não temos acesso à instalação. Tive que mudar direto no > template... quem tiver o mesmo problema, aí esta o caminho. não exatamente... o caminho é sempre corrigir na origem, nada de tentar dar um 'jeitinho' no problema... ;-) Entendo que no seu caso você não tinha acesso ao sistema de arquivos, para poder alterar diretamente o produto, então tiveste que fazer dessa forma. Entretanto, depois disso poderias ter criado um novo ticket no bug tracker para que o problema fosse corrigido direto no PloneTranslations. Ok, esse seu e-mail para a lista também tem valor, porém o correto mesmo é criar o ticket, pois muitas mensagens para as listas se perdem (o pessoal lê e esquece), mas os tickets ficam registrados para sempre, mesmo depois de fechados... O que eu quero dizer com isso tudo? Muitas vezes a gente tenta resolver o problema da forma mais rápida no momento, mas com isso a gente acaba esbarrando no mesmo problema no futuro, e em função de não ter resolvido da forma certa desde o início, acabamos perdendo ainda mais tempo... Se você quisesse acumular alguns 'karma points', também poderia ter anexado um patch! :-) > O ruim é que fica sem tradução... mas... Ah... e só complementando, na verdade 'ítens' estava sendo empregado incorretamente em 45 lugares, mas agora isso já está resolvido: http://dev.plone.org/collective/changeset/42217 O resto da tradução vem em breve... ;-) HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Problemas de permissão/acesso
Opa Alexandre, > Bom esse é o problema mais esquisito que eu ja vi em PZP! é o seguinte: > Tenho um site em Plone com as seguintes configuracoes: > Python 2.5 > Zope 2.9.5 > Plone 2.5.1 o Python 2.5 está estranho nessa lista... pois o Zope 2.9.x ainda não tem suporte a essa versão. > O que acontece é que o cliente ficou sabendo que um jornal local > estava conseguindo visualizar a edição de noticias mesmo sem estar > logado! Detalhe: ninguem nunca logou la! Será? :-) > Porém nao consigo reprodizir essa situação porque ao tentar acessar a > opcao digitando /edit na url da noticia o plone nega pedindo login e > senha oq eh o natural. > > Fui ate esse jornal (a pedido do cliente) e constatei realemente o > problema, em todos os computadores do jornal nao esta pedindo login e > senha e exibe a tela de edição, porem nao consegue salvar nenhuma > alteracao. Em alguns casos ao clicar na notícia era redirecionado > diretamente para página de edicao! Isso está me cheirando a um cache agressivo de mais lá na rede do tal jornal... Eu apostaria que alguém logou no site a partir da rede do jornal e editou alguns conteúdos normalmente. Agora, quando os tais conteúdos tentam ser acessados, o que está sendo exibido é a página local de cache e não a que está no site. Um teste simples ajuda a comprovar/refutar essa minha teoria: fora da rede do jornal, crie um conteúdo novo ou edite qualquer um dos existentes. Depois volte ao jornal e tente acessar esse mesmo conteúdo novamente. Tenho certeza que: a) caso tenhas criado um novo conteúdo, a tela de autenticação será exibida; b) caso tenhas editado um dos conteúdos existentes, provavelmente o que será exibido é a versão anterior à sua edição, isso caso ela havia sido acessada e cacheada anteriormente, senão o que vai aparece é a tela de autenticação também. > Esse detalhe é que esta me pertubando o juízo: somente nos > computadores desse jornal que esta acontecendo isso! Já testei em > vários outros computadores com vários browsers diferentes e nenhuma > vez aconteceu o mesmo que lá. > > O que vcs acham? será problema nos computadores ou é uma falha de > seguranca no zope/plone? Provavelmente é apenas alguma configuração incorreta de cache, já vi isso acontecendo antes... :-) HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Relevância (era: Re: SlideShow)
Opa Cleber, Natalia, povo, > > Oi Cleber, agora deu certo! Muito Obrigada... > > e parabéns pelo produto. > > Uffa :D > > Bem, qualquer dúvida posta ai ;) aproveitando que o assunto chegou ao fim, gostaria de pedir a todos, que nas próximas vezes fosse usado um pouco mais de bom senso na hora de responder as mensagens... :-) Sério, receber uma mensagem com 2554 linhas de texto, onde apenas 4 delas são relevantes é meio complicado... :-( Responder um e-mail não é apenas escrever o que você quer, exige limpar as partes que são irrelevantes para deixar mais claro o que se quer dizer e evitar o desperdício desnecessário de bytes e de tempo para ler a mensagem... ;-) Fica o toque... HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Z2.log / Data.fs
Opa, > > 1 - Alguém sabe como zerar o z2.log? > > cat /dev/null > Z2.log ou mais simples ainda: '>Z2.log'... :-) -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Bug Eventos Plone 2.5.3
Opa Davi, > Pessoal, encontrei um bug tão simples que queria que alguém me > confirmasse. > > Ao adicionar um item Evento, o que insiro como "nome dos > participantes" é exibido na VIEW como "contato", enquanto o campo > "nome do contato" aparece em "nome", abaixo de "onde". Por sua vez o > que aparece em "nome" deveria aparecer em "o que", que é justamente o > Título do evento! ou alguém já customizou o template ou você está fazendo uma tremenda confusão... :-) Se você preencheu todos os campos, essa é a ordem que aparece na tabela que mostra o resumo de um evento e os respectivos campos de onde vem o conteúdo: o que: quando: onde: nome do contato: e-mail do contato: telefone do contato: participantes: O título, a descrição, texto e a url já aparecem no corpo do evento, então não estão naquela tabela. > Que bagunça! Pergunta: o que você acha que está errado? > Como posso arrumar isso? Mesmo assim, se você quiser mudar algo, basta customizar o template: plone_content/event_view.pt HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Bug Eventos Plone 2.5.3
Opa Davi, > Desculpe, não fui claro o suficiente, mas o bug existe! > > No div class=eventDetails, o campo "o que" refere-se ao tipo do evento > e este é adicionado via palavras-chave. Descobri isso pq vc falou > "convencao, reuniao etc" e como eu nunca vi isso no Plone deduzi q > podiam ser palavras-chave. Realmente seria descabido repetir o título. > > Já o campo "nome do contato" é reduzido para "nome", o q gera uma > inconsistência taxonômica daí eu não entendi que se referia ao nome > dos contatos - falha minha tb. É um bug de usabilidade. > > E o bug mesmo é q existe um campo "contatos" quando deveria ler > "participantes", pois é essa a informação q ele apresenta. Incrível > ter passado, faça um teste! aí é que está... eu testei! :-) Mas descobri o porquê de ter funcionado para mim e não para você. No Plone 2.5.3, que você está usando, a versão do PloneTranslations era a 3.0.2[1] e realmente a tradução[2] não estava fechando muito bem... :-/ Porém, isso foi corrigido[3] no PloneTranslations a partir da versão 3.0.3. Eu havia testado com o Plone 2.5.4, que inclui a versão 3.0.6[4], já com as correções. > Vou tentar corrigir no meu event_view Na verdade tudo que que você precisa fazer é instalar uma versão do PloneTranslations que seja mais recente que a 3.0.2: http://plone.org/products/plonetranslations/releases Outra possível solução é apenas substituir o arquivo da tradução em pt-br[5]... :-) Então fica a dica, sempre teste com as versões mais recentes antes de reportar um possível problema, pois a possibilidade de ele já ter sido corrigido é grande... :-) [1] http://dev.plone.org/plone/browser/Installers/dist_plone/tags/2.5.3/platforms/independent.py [2] http://dev.plone.org/collective/browser/PloneTranslations/tags/3.0.2/i18n/plone-pt-br.po#L1871 [3] http://dev.plone.org/collective/changeset/45515 [4] http://dev.plone.org/plone/browser/Installers/dist_plone/tags/2.5.4-2/platforms/independent.py [5] http://dev.plone.org/collective/browser/PloneTranslations/trunk/i18n/plone-pt-br.po HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Exclusão de usuário.
Opa Sandro, > estou tendo um problema com exclusão de usuários num portal que desenvolvo: > > Se o criador de um Grupo for excluído, todos os outros usuários > membros deste grupo recebem "Insufficient Privileges" quando tentam > acessar o GroupArea do grupo excluído. > > Já tentei atribuir o Owner do grupo para outro usuário, mas, ainda > assim, ninguém mais acessa a área deste grupo. esse é um problema antigo do Zope, inclusive foi abordado na palestra do Stefan Holek na conferência do ano passado, Top 20 Plone Pitfalls: http://plone.org/events/conferences/seattle-2006/presentations/top-twenty-plone-pitfalls.pdf Existe uma PLIP discutindo isso, a fim de futuramente incluir algo no Plone para que a coisa certa seja feita quando for necessário excluir usuários: http://plone.org/products/plone/roadmap/185 Para resolver o seu problema, você pode fazer o seguinte, logado com o usuário que vai ser o novo dono dos objetos, via ZMI: a) localize o objeto que tenha sido criado pelo usuário que foi removido b) clique na aba 'Security' c) clique em 'local roles' d) remova o role 'Owner' do usuário antigo, caso ele ainda apareça e) adicione o role 'Owner' para o seu usuário f) clique na aba 'Ownership' g) clique no botão 'Take ownership' Isso deve resolver... :-) HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Deja vu Plonista
Opa Jean, > Agora as coisas já aconteceram, não voltarão. Por isso discordo de você > com relação ao fork, às vezes é uma solução plausível, desde que hajam > pessoas interessadas por esta nova direção. IMHO, o trabalho para manter um fork do Plone vai ser muito *pior* do que o parto que costuma ser uma migração... :-/ No momento, pode parecer simples ir mantendo esse fork, mas quando alguém tiver a brilhante idéia, ou pior, a *necessidade* de usar algo que só funcione no Plone 3.x, então tudo vai ir por água abaixo. A resposta será simplesmente: 'não pode ser usado pois isso não é compatível com a nosso fork'. Talvez funcione nas primeiras vezes, mas duvido que por muito tempo. Só espero que todo o trabalho para manter o fork não esteja apenas no teu colo Jean! ;-) []'s -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Plone 3.0 em livro...
Opa Robson, > Vi que foi lançado o tão esperado livro "Professional Plone > Development" de Martin Aspeli, que fala só tudo sobre o Plone 3.0. > > Alguém tem alguma idéia se já tem algum lugar do Brasil que o venda? para a venda direta no Brazil ainda não está disponível, mas podes comprar pelo site da editora[1] ou ainda pela Amazon[2]. Com o Real super valorizado e sem os impostos de importaçãp, com certeza vale a pena. Pela entrega normal, em pouco mais de uma semana o livro chega na sua porta. [1] http://www.packtpub.com/Professional-Plone-web-applications-CMS/book [2] http://www.amazon.com/Professional-Plone-Development-Martin-Aspeli/dp/1847191983 HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Plone 3.0 em livro...
Ops... > para a venda direta no Brazil... ^^ é a força do hábito, sorry... :-/ -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Problemas com Horário de Verão
Fala Marcon, > Utilizo a combinação Zope-2.9.6 e Plone 2.5.3 bundle, revisão 12939. > A um tempo atrás, observamos um problema na data do plone, onde a hora > estava sendo adicionada de 3, ou seja, nosso fuso não era reconhecido, > estava como GMT-0. Googleando encontrei esta thread[1] e foi resolvido. > > Hoje observamos um comportamento muito estranho sobre a informação da > hora no plone, ele está adicionando uma hora a mais que o horário normal > de verão(está em GMT-1), porém na ZMI é exibida a hora correta. > > Alguém tem alguma dica? interessante, semana passada eu havia comentado com o Sidnei que esse havia sido o único ano que não tinha dado problema com o horário de verão no Zope da UCS... :-P Buenas, vamos ver se é o mesmo problema dos outros anos, faz o seguinte, usando o python do Zope: >>> import time >>> time.tzname ('BRT', 'BRST') Se no teu caso aparecer ('BRT', 'BRT') é porque o Python não está conseguindo reconhecer/identificar o horário de verão. Detalhe, mesmo que outras partes do sistema já reconheçam o BRST, pode ser que o Python não reconheça em função de alguma pequena inconsistência no arquivo .zic que gerou a zona. Num sistema Debian-like (como o Ubuntu, por exemplo) basta instalar o pacote 'tz-brasil', que ele atualiza o arquivo da timezone. Em outros sistemas, basta seguir as instruções do alerta do CAIS: http://www.rnp.br/cais/alertas/2007/cais-alr-20071005.html Se não for nada disso, então é um novo problema que eu ainda não tinha visto... :-) HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Dicionario
Opa Bruno, > Estou tentando mudar o nome q aparece quando se faz uma pesquisa na > busca rapida. > Criei e modifiquei o arquivo livesearch_reply do meu produto. > Criei um arquivo dicionario para meu produto chamado modelo-pt-br.po. > Quando vou testar o zope sempre dar preferencia para o arquivo > plone-pt-br.po que esta na pasta PloneTranslations. > Alguem sabe onde alterar a ordem de prioridades ou tem uma nova ideia !!! tu podes criar uma pasta $INSTANCE_HOME/i18n e colocar o teu .po nela, pois o que estiver nela têm precedência sobre os outros catálogos. O seguinte comentário foi extraído do arquivo PlacelessTranslationService/PlacelessTranslationService.py e confirma isso: # move global catalogs to the beginning to allow overwriting # message ids by placing a po file in INSTANCE_HOME/i18n Para o Plone 3 está sendo preparado uma funcionalidade onde você poderá customizar uma tradução pela interface do Plone mesmo, sem precisar ter acesso aos sistema de arquivos. Isso está sendo feito em: http://dev.plone.org/plone/browser/plone.app.i18n/branches/barcelona-sprint Além disso, existe um backport disso para funcionar a partir do Plone 2.5. que recebeu o nome de CustomizableTranslations: http://dev.plone.org/collective/browser/CustomizableTranslations/trunk HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Tentando copiar um Plone Site..
Opa Bruna, > estou tentando copiar um Plone Site e dá p seguinte erro: > > "Site Error > > An error was encountered while publishing this resource. > > Error Type: AttributeError > Error Value: _cloned_object_path" > > Já tentei copiar pra dentro de uma pasta, pra dentro de outro Plone > Site.. enfim.. > > alguém uma idéia do que mais o que posso fazer? o Tom já comentou, existe uma porção de referências a esse erro no Google, mas eu começaria tentando o seguinte: a) caso o Plone site tenha sido importado na instância do Zope atual ou caso ele tenha sido atualizado no sistema de arquivos, você precisa migrar o site (portal_migrations) antes de tentar copiá-lo. b) se o item anterior não adiantou, dê uma olhada nesse ticket: http://dev.plone.org/plone/ticket/3875 HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: i18n e metadata
Opa, > sou iniciante no ZOPE e estou com 2 problemas que parecem ser muito > simples. Vejam se vcs podem me ajudar: > 1) Tenho um arquivo teste.po dentro de um produto mas mesmo que mude o > para i18n:domain="teste", o site continua a utilizar o .po padrão do > PloneTranslations. dá uma olhada na outra mensagem que eu respondi agora a pouco... ;-) > 2) Uso de acentos em arquivos .metadata. Quando uso acento em > arquivos.metadata, não reconhece dentro do ZOPE. Certifique-se que o .metadata esteja codificado em UTF-8. Isso deve resolver. > "Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), > empresa pública federal regida pelo disposto na Lei Federal nº 5.615, é > enviada exclusivamente a seu destinatário e pode conter informações > confidenciais, protegidas por sigilo profissional. Sua utilização > desautorizada é ilegal e sujeita o infrator às penas da lei. Se você a > recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente, > esclarecendo o equívoco." > > "This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- > a government company established under Brazilian law (5.615/70) -- is > directed exclusively to its addressee and may contain confidential data, > protected under professional secrecy rules. Its unauthorized use is > illegal and may subject the transgressor to the law's penalties. If > you're not the addressee, please send it back, elucidating the failure." Hum... Luis, esse disclaimer é completamente desnecessário para qualquer mensagem enviada a uma lista de discussões pública... :-/ HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: i18n e metadata
Opa Gustavo, > Precisamente Luis. > Mas de qq forma mudei pro gmail que é mais fácil para meu gerenciamento. ouch... o SERPRO tem *ótimas* iniciativas, mas também tem horas que ele parece um dinossauro perdido no mundo dos Jetsons... :-/ > E em relação a dúvida: Vi o outro e-mail. Já possuía um arquivo > "produto-pt-br.po" no meu produto como vocè sugeriu mas apesar de > aparecer listado no Placeless Translations, ele não é reconhecido pelos > scripts. Está usando sempre o do PloneTranslations. Hum... você leu muito rápido a minha mensagem... :-) O que eu disse é que os .POs que estiverem em $INSTANCE_HOME/i18n tem precedência. Note que essa pasta por padrão não existe numa instalação normal do Zope. Ela precisaria ser criada no mesmo diretório onde existe as pastas 'Products', 'bin', 'etc', ... mais claro agora? HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Macros de Configuração
Opa Marcelo, > Gostaria de saber se no zope/plone é possível fazer com que as > configurações feitas diretamente na interface web de gerenciamento > podem ser armazenadas em macros, ou seja, algo parecido com a função > "gravar macro" dos aplicativos ms-office. o termo 'macro' no Zope/Plone tem um significado diferente do que o dos aplicativos do MS-Office... :-) Ao invés de uma seqüência de comandos a serem executados, podemos dizer que ela signifique algo como 'um padrão de entrada que deve ser substituído por um padrão de saída', isso pelo menos no contexto dos PageTemplates. > Minha preocupação > reside em dois aspectos: como saber todos os passos seguidos até chegar > à configuração atual, acaso seja necessário reconfigurar tudo "do zero" > e também para ter um "script" dessa configuração para facilitar o trabalho. O nome disso é 'configuração', propósito central do GenericSetup (primeiro link no Google). HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Manage viewlets no Plone 3
Opa Clayton, > Essa dica é para o aqueles que estão começando a trabalhar com o Plone 3. > > Existe uma interface para a customização de viewlets modo gráfico, > basta acrescentar na URL do seu portal @@manage-viewlets [1]. > > [1] http://localhost:8080/plone/@@manage-viewlets bem, isso poderia ser novidade a 5 meses atrás[1], mas depois do livro do Martin[2] e de ser documentado[3], mesmo quem estiver começando com o Plone 3 já deve ter topado com isso um bocado de vezes... :-) [1]http://nosleepforyou.blogspot.com/2007/07/content-providers-e-viewlets-no-plone-3.html [2]http://www.packtpub.com/Professional-Plone-web-applications-CMS [3]http://plone.org/documentation/tutorial/customizing-main-template-viewlets/overriding-a-viewlet Abraço. -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Migração Plone 2.5.1 -> 3. 0.3
Opa Rodrigo, > Traceback (innermost last): > [...] > * Module ZODB.ExportImport, line 143, in _importDuringCommit > * Module None, line 12, in ? > * Module None, line 3, in ? > > ImportError: No module named CMFCorePermissions isso está com cara de ser algum módulo compilado (.pyc) perdido em algum produto, sem o respectivo módulo fonte (.py) Tenta apagar todos os arquivos .pyc do seu diretório Products para ver se resolve. Se não resolver, coloca um set_trace na linha 142 do módulo ZODB.ExportImport para ver o que está sendo importado e com isso matar a questão... :-) HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Mudando a view de um "generic plone content"
Opa Robson, > Para a criação de conteúdos personalizados de forma extremamente > rápida, estou usando o produto "generic plone content" > (http://plone.org/products/genericplonecontent) na versão 0.6. > > Criei um conteudo chamado "catalogo" sob o schemata default, com os > seguintes campos: 'fabricante'(StringField), 'logotipo'(ImageField) e > 'texto'(TextField --> text/html). > > Até aí, tudo bem. No Plone, adiciono normalmente um item "catalogo" > novo, edito tudo... mas como faço para alterar a visualização padrão > desse item? > > Sei que eu preciso criar um template e referenciá-lo em "Default view > method" deste conteúdo, mas como faço para capturar esses campos, > tipo... dar um 'get' neles, visto que são dinâmicos? eu nunca usei esse produto, mas vi a apresentação do Fabrizio na conferência de 2005 e posso dizer que ele apenas extende o schema com os campos extras. Dessa forma, ele herda o mesmo comportamento de qualquer campo normal de um Archetype, ou seja, são criados accessors e mutators com os prefixos get/set e o nome do campo capitulado. Exemplo, para o teu campo 'fabricante', tu poderias acessar o valor armazenado com getFabricante e, da mesma maneira, modificar com o setFabricante. HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: ordenar objetos dentro de um Folder
Opa Walter, > Há uns meses atrás, eu migrei as noticias de um mambo para o plone. > > Ontem, migrei o resto das notícias. > > Porém, a ordenação delas ficou errada dentro da pasta. > > Dá pra arrastar e soltar, mas isso é contraproducente. > > Tem alguma API do zope pra reordenar o conteúdo da pasta, baseado nos > atributos dos objetos dentro dela? tem sim, desde que implemente a interface IAutoSortSupport, que é o que o Folder padrão do Plone faz. Confere a API da coisa: http://dev.plone.org/collective/browser/ATContentTypes/trunk/lib/autosort.py#L41 Se quiseres ordenar manualmente, mas por código, confere: http://dev.plone.org/archetypes/browser/Archetypes/branches/1.5/interfaces/_orderedfolder.py#L36 HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: ordenar objetos dentro de um Folder
Opa Walter, > Segui o procedimento: zopectl debug > > lá dentro, alkgo do tipo: pasta.setDefaultSorting('atributo') > > Mas não é ordenado ainda na visualização. > > Precisa reindexar ou algo a mais? 3 perguntas: - qual o nome do atributo que passaste para o setDefaultSorting? - verificaste com o pasta.getSortAuto() para ver se o autosort está ativo (e caso não estiver: pasta.setSortAuto(True)) - por acaso não esqueceste de comitar a transação pelo zopectl debug (import transaction; transaction.commit())? :-) HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: ordenar objetos dentro de um Folder
Opa Walter, > >>> import transaction > >>> from AccessControl.SecurityManagement import newSecurityManager > >>> t = transaction.get() > >>> portal = app.cidades > >>> admin= app.acl_users.getUser('admin').__of__(app.acl_users) > >>> newSecurityManager(None, admin) > >>> portal['ministerio-das-cidades']['destaques'].getSortAuto() > True > >>> > portal['ministerio-das-cidades']['destaques'].setDefaultSorting('Title',True) > >>> t.commit() > > Mas ao acessar a pasta, continua a ordem B,C,A pelo que eu percebi, aparentemente em algum lugar do Plone está faltando uma chamada ao método autoOrderItems: http://dev.plone.org/collective/browser/ATContentTypes/trunk/lib/autosort.py#L113 E mesmo se você chamar manualmente ele dentro do zopectl debug, a pasta ainda não ficará ordenada, pois esse método não está atualizando o cátalogo, você teria que fazer isso também... Resumindo: aparentemente ninguém usou esse recurso até hoje... :-) Eu diria que para isso funcionar como o esperado, ao adicionar novos items na pasta o autoOrderItems deveria ser chamado, e ele deveria atualizar o catálogo. Pesquisando um pouco achei esse ticket: http://dev.plone.org/plone/ticket/5262 É algo relativamente simples de ser feito... :-) -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Problema na SESSION
Fala Nogueira, > Traceback (innermost last): > [...] > Module Products.Sessions.SessionDataManager, line 96, in getSessionData > Module Products.Sessions.SessionDataManager, line 183, in > _getSessionDataObject > Module Products.Transience.Transience, line 843, in new_or_existing > Module Products.Transience.Transience, line 452, in __setitem__ > KeyError: 1200675580 > > Alguem já passou por algo desse tipo? por acaso você está usando uma versão homem-das-cavernas do Zope? Não, não estou falando do Grok, mas sim de alguma versão da era Mesozóica mesmo, como qualquer coisa abaixo da série Zope 2.8.x? Se estiver, então provavelmente você está batendo de frente com esse bug: https://bugs.launchpad.net/zope2/+bug/143053 Se não estiver, bom... então alguma coisa acordou esse bug que já estava morto! :-) HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Ajuda Tradução Plone3
Opa Davi, > Gostaria de ajudar a traduzir o que ainda não o foi no Plone3. pelas minhas contas o Plone 3.0 está 100% traduzido[1]... :-) Obviamente, seria bem importante ter um segundo par de olhos revisando as traduções, já que eu não recebo contribuições/ sugestões a um *bom* tempo... > Num segundo momento quem sabe até a ZMI. Sinto desapontá-lo, mas até onde eu sei isso nunca vai acontecer, pelo menos não para a ZMI do Zope2. Para o Zope3 a coisa muda um pouco de figura, pois a ZMI não existe mais como a conhecemos e ela passa a ser tratada como uma aplicação normal. Entretanto, como 'nunca diga nunca' faz parte do meio onde estamos inseridos, seria bom levantar a idéia na lista zope-dev[2] antes de começar qualquer esforço nesse sentido. > Com quem poderia falar para dar os primeiros passos? Para qualquer coisa relacionada com i18n do Plone, pode ser comigo mesmo... :-) [1] http://dev.plone.org/collective/changeset/58211 [2] http://mail.zope.org/mailman/listinfo/zope-dev -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Ajuda Tradução Plone3
Opa Davi, > Me atrapalhei, realmente a ZMI3 que tem suporte a i18n. Quando chegar > a hora, estou disposto a traduzi-la. a hora chegou ainda em 2003, quando o Sidnei começou a tradução... :-) http://svn.zope.org/zope.app.locales/trunk/src/zope/app/locales/pt_BR/LC_MESSAGES > Sobre o Plone3, não está 100% não, talvez 95% ou mesmo 99%, não tenho > de cabeça tudo que encontrei até pq ainda não estou usando-o > majoritariamente. Mas por exemplo no @@manage-portlets o botão está > save settings e no @@manage-viewlets está hide/show. Os arquivos PO estão 100% traduzidos sim... :-) O que acontece é que nem todos os novos templates estão com as marcações de i18n corretas para que as ferramentas possam fazer a captura dos msgids... Sempre que alguém encontrar algo que não esteja traduzido, basta ir até o Trac do Plone, fazer uma busca pelo nome do arquivo em questão e se não tiver nenhum referência, criar um novo ticket. Patches são muito bem vindos também, mas o simples fato de ter um ticket garante que, mais cedo ou mais tarde, o problema seja resolvido. > Isso no release 3.05. Ou eu estaria desatualizado com relação ao trunk > ou algo assim? A versão 3.0.11 do PloneTranslations foi lançada ontem antes de eu incluir as duas últimas msgids. Hoje o Hanno já corrigiu uma porção de templates... Eu diria que i18n é um processo em constante evolução, mas que nunca termina... :-) []'s -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Linux Magazina
Opa Jacson, > Matéria sobre o Plone na Linux Magazine. taí... gostei do artigo. Tem um ou dois errinhos, que me parecem terem sido gerados na tradução do original, mas mesmo assim mostra em 5 páginas um bom resumo do que a versão 3 do Plone se propõe a fazer. -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Produto Plone
Opa Eder, > Pessoal acabei de criar um novo produto no meu site, depois d tudo criado > e mudado os nomes nos Skins e tais, quando eu tento fazer um teste no > browser, ele me da o seguinte erro "import of "SOAPpy" is > unauthorized"! > > Gostaria de saber onde posso estar errado... provavelmente esse import está sendo feito a partir de código restrito (como um PythonScript do seu skin, por exemplo), então isso deve te ajudar a resolver a questão: http://plone.org/documentation/how-to/using-unauthorized-modules-in-scripts Uma alternativa melhor seria mover esse tipo de chamada para um método dentro do código do seu produto, devidamente protegido pelas permisssões necessárias. HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com
[zope-pt] Re: Como abrir uma página web passando pa râmetros via POST?
Opa João, > preciso abrir uma página web passando para a mesma parâmetros > via POST (e não GET). Alguém poderia me dizer como fazer isto (pode ser > em python)? Agradeceria muito um exemplo de código. pegando parte da solução de um dos problemas do PythonChallenge[1]: import urllib, urllib2 url = 'http://uma.url.qualquer' headers = {'User-Agent': 'Python'} values = {'solution': 'foo', 'submit': 'ok'} # dados do form data = urllib.urlencode(values) req = urllib2.Request(url, data, headers) html = urllib2.urlopen(req).read() Esse é o Request mais completo que você pode efetuar, enviandos os dados via POST e ainda informando headers adicionais. [1] http://www.pythonchallenge.com HTH, -- Dorneles Treméa X3ng Web Technology http://nosleepforyou.blogspot.com