Re: [zope-pt] Banco de dados
Em 28/10/07, Katia Regina Leal da Silva [EMAIL PROTECTED] escreveu: Oi Cleber, 3) Altero os dados do cliente e clico em enviar. Ele deveria voltar para o index_html e mostrar um msg Dados Atualizados ou algo do genero. Porem quando executo do Windows, diz que a pagina nao pode ser mostrada e quando executo pelo Ubuntu, dá a seguinte msg: Missing input variable, NOME_CLIENTE. não seria porque ele espera a variável NOME_CLIENTE, mas o formulário passa nome_cliente (em minúsculo)? -- Paul Eipper
Re: [zope-pt] Banco de dados
Ah, esse tutorial é interessante para iniciar com banco de dados e Plone/Zope + PloneFormGen: http://plone.org/products/ploneformgen/documentation/tutorial/sql-crud -- Paul Eipper Em 25/10/07, Paul Eipper[EMAIL PROTECTED] escreveu: Comecei a fazer um tutorial de como usar o Plone + PloneformGen + MySQL + ZSQL para montar um programa de cadastro de pessoas, mas ainda não está concluído. Esse é o link: http://plone.org/products/ploneformgen/documentation/tutorial/advanced-sql-crud-with-ploneformgen Não sei se tem acesso pois está como draft e para publicar é preciso review de algum moderador do site... ou seja, só quando estiver concluído posso publicar :/ -- Paul Eipper Em 22/10/07, Alex Silva Leleu [EMAIL PROTECTED] escreveu: Pessoal, Estou tentando criar um banco de dados no meu portal zope/plone, quero um banco de dados que cadastre pessoas, salvando todos os dados prenchidos dos usuarios, por favor me ajudem. Aguardo resposta. Alex Silva.
Re: [zope-pt] Banco de dados
Comecei a fazer um tutorial de como usar o Plone + PloneformGen + MySQL + ZSQL para montar um programa de cadastro de pessoas, mas ainda não está concluído. Esse é o link: http://plone.org/products/ploneformgen/documentation/tutorial/advanced-sql-crud-with-ploneformgen Não sei se tem acesso pois está como draft e para publicar é preciso review de algum moderador do site... ou seja, só quando estiver concluído posso publicar :/ -- Paul Eipper Em 22/10/07, Alex Silva Leleu [EMAIL PROTECTED] escreveu: Pessoal, Estou tentando criar um banco de dados no meu portal zope/plone, quero um banco de dados que cadastre pessoas, salvando todos os dados prenchidos dos usuarios, por favor me ajudem. Aguardo resposta. Alex Silva.
Re: [zope-pt] Formatar número para moeda
Parece que não vou poder fazer isso, pois o módulo re de expressões regulares não está disponível no contexto de Scripts Python da ZMI. Alguém sabe alguma maneira de resolver isso? (e sim, tem que ser via Scripts Python da ZMI) :/ -- Paul Eipper Em 03/04/07, Paul Eipper [EMAIL PROTECTED] escreveu: Obrigado Zénrique Vou então reimplementar a função em um Python Script e chamar diretamente da page template. -- Paul Eipper Em 03/04/07, José Henrique [EMAIL PROTECTED] escreveu: Paul, Observando o código-fonte de thousands_commas, nota-se que a inserção de pontos e vírgulas está inscrita no próprio código. Dessa forma, creio que não há como alterar o resultado através de configuração do Zope. Zénrique. def thousands_commas(v, name='(Unknown name)', md={}, thou=re.compile( r([0-9])([0-9][0-9][0-9]([,.]|$))).search): v=str(v) vl=v.split('.') if not vl: return v v=vl[0] del vl[0] if vl: s='.'+'.'.join(vl) else: s='' mo=thou(v) while mo is not None: l = mo.start(0) v=v[:l+1]+','+v[l+1:] mo=thou(v) return v+s Em 03/04/07, Paul Eipper [EMAIL PROTECTED] escreveu: Olá lista, Estou precisando formatar um número que recebo via sql em um page template para ser visualizado como moeda. Tentei usando este método: tal:replace=python:pss.thousands_commas(valor_numerico) Mas ele converte para o padrão americano, com a vírgula separando a casa de milhar. Existe alguma maneira de dizer qual o locale ele deve seguir? Como posso resolver isso? Tentei fazer um script python próprio (na ZMI), mas recebo erro de permissão ao tentar importar o módulo locale do python. [1] Agradeço a atenção [1] http://www.pythonbrasil.com.br/moin.cgi/FormatarNumeros
Re: [zope-pt] Formatar número para moeda
O problema é que preciso de acesso ao sistema para colocar um external method (nada mais que um script python colocado na pasta Extensions da sua instância). Estou criando um Script Python que deve resolver, sem usar regular expressions. Daqui a pouco mando ele. -- Paul Eipper Em 04/04/07, Joao Paulo Carusi [EMAIL PROTECTED] escreveu: Fala Paul, Estou estou com a mesma dificuldade que vc... Pedi uma dica para um cara que manja muito de Zope e ele disse: JP, se importar o modulo no Zope (atraves de python scripts) da erro de permissão, crie um External Method. Nao tive tempo de ver isso ainda, espero que te ajude... Abracos, JP On 4/4/07, Paul Eipper [EMAIL PROTECTED] wrote: Parece que não vou poder fazer isso, pois o módulo re de expressões regulares não está disponível no contexto de Scripts Python da ZMI. Alguém sabe alguma maneira de resolver isso? (e sim, tem que ser via Scripts Python da ZMI) :/ -- Paul Eipper Em 03/04/07, Paul Eipper [EMAIL PROTECTED] escreveu: Obrigado Zénrique Vou então reimplementar a função em um Python Script e chamar diretamente da page template. -- Paul Eipper Em 03/04/07, José Henrique [EMAIL PROTECTED] escreveu: Paul, Observando o código-fonte de thousands_commas, nota-se que a inserção de pontos e vírgulas está inscrita no próprio código. Dessa forma, creio que não há como alterar o resultado através de configuração do Zope. Zénrique. def thousands_commas(v, name='(Unknown name)', md={}, thou=re.compile( r([0-9])([0-9][0-9][0-9]([,.]|$))).search): v=str(v) vl=v.split('.') if not vl: return v v=vl[0] del vl[0] if vl: s='.'+'.'.join(vl) else: s='' mo=thou(v) while mo is not None: l = mo.start(0) v=v[:l+1]+','+v[l+1:] mo=thou(v) return v+s Em 03/04/07, Paul Eipper [EMAIL PROTECTED] escreveu: Olá lista, Estou precisando formatar um número que recebo via sql em um page template para ser visualizado como moeda. Tentei usando este método: tal:replace=python:pss.thousands_commas(valor_numerico) Mas ele converte para o padrão americano, com a vírgula separando a casa de milhar. Existe alguma maneira de dizer qual o locale ele deve seguir? Como posso resolver isso? Tentei fazer um script python próprio (na ZMI), mas recebo erro de permissão ao tentar importar o módulo locale do python. [1] Agradeço a atenção [1] http://www.pythonbrasil.com.br/moin.cgi/FormatarNumeros
[zope-pt] Formatar número para moeda
Olá lista, Estou precisando formatar um número que recebo via sql em um page template para ser visualizado como moeda. Tentei usando este método: tal:replace=python:pss.thousands_commas(valor_numerico) Mas ele converte para o padrão americano, com a vírgula separando a casa de milhar. Existe alguma maneira de dizer qual o locale ele deve seguir? Como posso resolver isso? Tentei fazer um script python próprio (na ZMI), mas recebo erro de permissão ao tentar importar o módulo locale do python. [1] Agradeço a atenção [1] http://www.pythonbrasil.com.br/moin.cgi/FormatarNumeros -- Paul Eipper
Re: Res: [zope-pt] Dúvida de iniciante (oreia)
Como o Fernando Paiva mostrou, o melhor é sempre colocar a lógica em Python, e não no template :) -- Paul Eipper Em 09/03/07, Fernando Paiva [EMAIL PROTECTED] escreveu: Fred, isso é simples. Vamos imaginar o seguinte esquema. 2ZPT, 2ZSQL, 1ScriptPy ZPT1 Onde o usuário e senha, irá ser informado para pesquisa e irá enviar as informações para o ZPT2 ZPT2 É onde tudo acontece. 1Script Python Irá verificar e redirecionar. ZSQL São as consultas que você precisa. Agora vamos la: No ZPT1 crie os campos de entrada dados e envie esses dados para o ZPT2. Assim: form method=post action=zpt2 input type=text name=usuario id=usuario/ input type=text name=senha id=senha/ /form No ZPT2 pegue esses valores, execute o script python e faça a consulta ZSQL para preencher os campos do form: Assim: html head title tal:content=template/title_or_idTitle/title /head body tal:define=usuario request/usuario | nothing; senha request/senha | nothing; script_py python:context.script_py(usuario=usuario, senha=senha); zsql python:context.zsql(usuario=usuario, senha=senha) or [1,]; form method=. action=. tal:repeat=items zsql Nome: input type=text name=nome id=nome tal:attributes=value items/nome | nothing/ Endereco: input type=text name=endereco id=endereco tal:attributes=value items/endereco | nothing/ /form /body /html Obs: Vc irá conseguir usar esse msm ZPT2 tanto para inclusão como para update. Script Python: ##parameters=usuario, senha #Aqui é onde vc irá testar se existe o usuario e senha usando o ZSQL1; Se existir o ZPT2 será exibido com as informações preenchidas nos input, se não redireciona novamente para o ZPT1 com a mensagem de usuário não encontrado. Espero que entenda o esquema, qquer coisa estou no msn: fernandopaiva_br[AT].yahoo.com.br ou no canal irc #zope-pt no freenode.net Boa sorte! []'s Fernando Paiva Fred escreveu: Bem, não é isso.. passo como parametro o id do cara (url/pesquisa?id=2) Como pego esse parametro e passo na chamada do zsql tal:sql repeat=item context/meu_zsql Eu tenho um sql +/- assim: Select * from pessoas where id = dtml-sqlvar id type=int quero pegar esse retorno e preencher o formulário. Não estou conseguindo fazê-lo na chamada dentro da page template. Tem alguma tag tipo sql:param value=x para passar como parametro de pesquisa? Att., Fred - Mensagem original De: Dorneles Treméa [EMAIL PROTECTED] dorneles%40x3ng.com.br Para: zope-pt@yahoogrupos.com.br zope-pt%40yahoogrupos.com.br Enviadas: Quinta-feira, 8 de Março de 2007 19:31:58 Assunto: Re: [zope-pt] Dúvida de iniciante (oreia) 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: tal:sql repeat=item context/meu_ zsql tal:campo1 content=item/ campo1 / tal:campo2 content=item/ campo2 / /tal:sql HTH, -- Dorneles Treméa X3ng Web Technology __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ ___ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/
[zope-pt] Mover instalação Plone para outra máquina
Olá! Estou precisando mover a instalação do Plone/Zope para outra máquina. É suficiente mover o arquivo Data.fs e os produtos instalados para fazer essa migração? Ou preciso de algo mais? Obrigado! -- Paul Eipper
Re: [zope-pt] Mover instalação Plone para outra máquina
Oi! Valeu pelas dicas! Vi que tem função de importar/exportar também. Como estou usando SQL e seguindo o FAQ no site do Plone, parece ser mais seguro assim (?). Só preciso dos dados que estão na pasta Plone da ZMI. Se não funcionar import/export, vou mover a pasta /data inteira :P Bom, vamos ver amanhã ^_^ -- Paul Eipper Em 13/02/07, Robson Virino [EMAIL PROTECTED] escreveu: Olá! Já precisei fazer migração de máquina n vezes... Basicamente, instala na máquina o Plone/Zope da mesma versão da que estava funcionando antes e basta levar a pasta /data do antigo sobrescrevendo a outra no novo... Restarta o serviço e tudo estará como antes... Robson Virino. Paul Eipper escreveu: Olá! Estou precisando mover a instalação do Plone/Zope para outra máquina. É suficiente mover o arquivo Data.fs e os produtos instalados para fazer essa migração? Ou preciso de algo mais? Obrigado! -- Paul Eipper
[zope-pt] UPDATE flexível em ZSQL methods
Olá! Estou fazendo um formulário para atualizar os dados no banco de dados. O form passa as alterações para um script Python que por sua vez deve chamar os métodos ZSQL adequados. O problema é que não estou conseguindo flexibilizar os métodos ZSQL como eu queria. Algo assim: A pessoa altera os campos nome e endereço em uma tabela com diversos campos. Eu queria fazer a comparação no Python para ver que estes campos foram alterados e mandar o ZSQL alterar somente eles, algo assim: orig = dados do formulário originais dados = dados novos for key in orig.keys(): if not dados[key] == orig[key]: dados['campo'] = key context.zsql_update_campo(dados) Mas não consigo fazer um ZSQL que faça UPDATE no campo variável ali. Alguém tem alguma idéia? Algo como: UPDATE tabela SET dtml-var campo = dtml-sqlvar dtml-var campo type=string Mas acho que não funciona assim, heh. A alternativa de ter um ZSQL para cada campo é horrível e, portanto, impensável :-P -- Paul Eipper
[zope-pt] Re: UPDATE flexível em ZSQL methods
Acabei conseguindo com um pouco (bem pouco :) mais de Python (claro) ;D Ficou assim: ''' Atualiza campos arbitrários da tabela pessoa e info ''' for key in orig.keys(): if not dados[key] == orig[key]: dados['campo'] = key dados['dados'] = dados[key] context.zsql_update_campo(dados) E o ZSQL: # idpessoa # campo # dados UPDATE pessoa LEFT JOIN info ON pessoa_idpessoa=dtml-sqlvar idpessoa type=string SET dtml-var campo = dtml-sqlvar dados type=string WHERE dtml-sqltest idpessoa type=string A relação das tabelas aqui é 1:1 . Agora vou começar a fuçar nas tabelas 1:n e m:n . Desejem-me sorte! =D -- Paul Eipper Em 09/02/07, Paul Eipper[EMAIL PROTECTED] escreveu: Olá! Estou fazendo um formulário para atualizar os dados no banco de dados. O form passa as alterações para um script Python que por sua vez deve chamar os métodos ZSQL adequados. O problema é que não estou conseguindo flexibilizar os métodos ZSQL como eu queria. Algo assim: A pessoa altera os campos nome e endereço em uma tabela com diversos campos. Eu queria fazer a comparação no Python para ver que estes campos foram alterados e mandar o ZSQL alterar somente eles, algo assim: orig = dados do formulário originais dados = dados novos for key in orig.keys(): if not dados[key] == orig[key]: dados['campo'] = key context.zsql_update_campo(dados) Mas não consigo fazer um ZSQL que faça UPDATE no campo variável ali. Alguém tem alguma idéia? Algo como: UPDATE tabela SET dtml-var campo = dtml-sqlvar dtml-var campo type=string Mas acho que não funciona assim, heh. A alternativa de ter um ZSQL para cada campo é horrível e, portanto, impensável :-P -- Paul Eipper
Re: [zope-pt] UPDATE flexível em ZSQL methods
Opa, Valeu pela dica! Mas apesar de stored procedures e functions ajudarem na performance, não ajudam em nada no tempo de desenvolvimento ;D O código em Python é bem mais fácil de desenvolver, escrever e ler do que código SQL. Além disso, não tenho problemas de performance para esta aplicação, pois a edição dos dados será feita por 1 pessoa e apenas ocasionalmente, portanto a relação entre ganho de desempenho vs tempo de desenvolvimento não vale a pena. Mas com certeza se fosse uma aplicação com diversos acessos concorrentes de escrita/atualizações seria bem mais interessante usar functions. []'s -- Paul Eipper Em 09/02/07, Fernando Paiva [EMAIL PROTECTED] escreveu: Acredito ser mais fácil, mais produtivo, mais seguro e, menos sujeito a problemas de performance se você fizer isso no próprio SGBD, usando Functions. Com script python, daria para fazer isso tranquilamente, mas antes você precisa dar um select no banco, pegar os valores e comparar com suas variaveis causando problema de performance. No seu algoritmo ficaria assim: informacoes para o script python - 1 select ZSQL retornando informacoes para o script python - compara variaveis com o return do select no script python- retira as que naum foram alteradas - ZSQL grava as alteradas Agora se fizer isso no próprio banco é a function criada que irá fazer todo o processamento para você e retornar o resultado. Com isso quem faz todo o processamento é o próprio SGBD, e não o Zope. É como os antigos Client/Server da vida. No meu algoritmo ficaria assim: informacoes para script python - ZSQL que envia as informacoes para a function no SGBD - function que compara/grava no SGBD - retorno para script python []'s Fernando Paiva Paul Eipper escreveu: Olá! Estou fazendo um formulário para atualizar os dados no banco de dados. O form passa as alterações para um script Python que por sua vez deve chamar os métodos ZSQL adequados. O problema é que não estou conseguindo flexibilizar os métodos ZSQL como eu queria. Algo assim: A pessoa altera os campos nome e endereço em uma tabela com diversos campos. Eu queria fazer a comparação no Python para ver que estes campos foram alterados e mandar o ZSQL alterar somente eles, algo assim: orig = dados do formulário originais dados = dados novos for key in orig.keys(): if not dados[key] == orig[key]: dados['campo'] = key context.zsql_update_campo(dados) Mas não consigo fazer um ZSQL que faça UPDATE no campo variável ali. Alguém tem alguma idéia? Algo como: UPDATE tabela SET dtml-var campo = dtml-sqlvar dtml-var campo type=string Mas acho que não funciona assim, heh. A alternativa de ter um ZSQL para cada campo é horrível e, portanto, impensável :-P -- Paul Eipper ___ Yahoo! Mail - Sempre a melhor op��o para voc�! Experimente j� e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/
Re: [zope-pt] PloneFormGen + DataGridField
:) Digo que é complicado pois temos que usar produtos adicionais ainda em beta para trabalhar com o BD dentro do Plone. Mas quando estes produtos estiverem mais desenvolvidos, acredito que o Plone pode se tornar uma das melhores ferramentas para rapidamente criar formulários e escrever aplicações web para usar com BD relacionais. Produtos como o PloneFormGen e o DataGridField são muito promissores nessa área :) O que mais enrola são os ZSQL Methods + DTML, mas para isso estão fazendo o Alchemist... só que não fui corajoso suficiente para fazer meu projeto usando ele ainda, heh (nota: ainda estou aprendendo Python ;) Estou achando ótimo trabalhar com o Plone/Zope para esse projeto. A perspectiva de que eu conseguisse fazer a mesma coisa em PHP ou Java (argh) não é muito boa. :P []'s -- Paul Eipper Em 08/02/07, Fernando Correa Neto [EMAIL PROTECTED] escreveu: Opa! On 2/7/07, Paul Eipper [EMAIL PROTECTED] lkraider%40gmail.com wrote: Acabei conseguindo fazer com o PloneFormGen + DataGridField, com um Script Python que chama um ZSQL Method e processa o resultado colocando num dicionário que é passado para o formulário pelo campo Form Setup Script . Como disse antes, pretendo fazer um tutorial quando terminar esse projeto e acho que fica melhor e mais fácil de entender o código no contexto, mas se alguém quiser o código Python específico posso enviar. O que falta resolver agora é que, como o DataGridField não aceita colunas ocultas para colocar os ID's usados no banco de dados, tenho que fazer um script Python que adivinhe que colunas foram apagadas, inseridas ou atualizadas na interface e executar esses comandos via ZSQL Methods. (tudo isso porque não quero uma interface que mostre ID's que os usuários não entender, e provavelmente criar problemas) Opss. Realmente é bem complicado trabalhar com banco de dados relacional no Plone '^_^ Mas pelo menos estou aprendendo a usar Python ;D Complicado eu nao diriadigo que eh diferente e bem mais abstrato so que se constuma ver por ai. Logo voce acostuma ;). Esperem um tutorial em breve! -- Paul Eipper Em 07/02/07, Fernando Correa Neto [EMAIL PROTECTED] fcdoth%40gmail.com escreveu: Opa Paul, Não sei se é bem isso que você quer, mas talvez voce possa usar um vocabulary para trazer os dados do banco para você. Ex. schema = BaseSchema + Schema(( DataGridField('DemoField', searchable = True, columns=(column1, column2, select_sample), widget = DataGridWidget( columns={ 'column1' : Column(Toholampi city rox), 'column2' : Column(My friendly name), 'select_sample' : SelectColumn(Friendly name, vocabulary=getSampleVocabulary) }, ), ), )) Onde getSampleVocabulary eh um método que retorna os valores do DB. Agora, se o que você quer é uma Janela do DB onde você possa editar os campos, existe um Produto que está em andamento e se chama Alchemist...que é baseado no SQLAlchemy do zope3. HTH On 2/7/07, Paul Eipper [EMAIL PROTECTED] lkraider%40gmail.com wrote: Olá! Estou fazendo uma interface de formulários no Plone para adicionar, pesquisar e editar dados de um banco de dados mySQL (um sistema de cadastro, basicamente). A parte de adicionar e pesquisar está pronta e funcionando, mas ainda estou tendo problemas para criar um formulário para atualizar/editar os dados. Como estou usando o PloneFormGen com o DataGridField, queria usá-los também nessa página de edição para manter consistência, mas não estou conseguindo com que os dados no DataGridField sejam carregados do banco de dados. Alguém tem experiência com esses produtos? Como carregar os dados do DB para poder editar em um formulário com DataGridFields? Agradeço a atenção. PS: depois de concluir esse projeto, pretendo escrever um pequeno tutorial de como trabalhar com Zope(ZSQL+Python)+Plone(PFG+DGF)+Banco de dados relacional. -- Paul Eipper
Re: [zope-pt] Ajuda a um projeto!
Votei, mas não foi na sua empresa :P ... no more spam, please :P -- Paul Eipper Em 08/02/07, Enterprise Saude [EMAIL PROTECTED] escreveu: PEÇO DESCULPA AOS MODERADORES PELO SPAM, MAS AGRADECERIA A COMPREENSÃO! Olá a todos, Estamos participando de um projeto na FURB (Fundação Universitário Regional de Blumenau), Santa Catarina. E o projeto que tiver mais votos ganhará um prêmio. Peço a sua ajuda. Acesse o link http://campeche.inf.furb.br/empinf/empreendedor/index.php?page=feira_simuladaid=26 .Vota no projeto e-saude. Coloque seu nome, e-mail e valor (valor que você compraria o produto). Peço também que conheça o projeto e-saude. Lembro que após esse processo você receberá um e-mail para confirmar o voto. Caso não tenha recebido entre em contato conosco. Agradeço a compreensão. e-saude Nós cuidamos de você! [EMAIL PROTECTED]
[zope-pt] PloneFormGen + DataGridField
Olá! Estou fazendo uma interface de formulários no Plone para adicionar, pesquisar e editar dados de um banco de dados mySQL (um sistema de cadastro, basicamente). A parte de adicionar e pesquisar está pronta e funcionando, mas ainda estou tendo problemas para criar um formulário para atualizar/editar os dados. Como estou usando o PloneFormGen com o DataGridField, queria usá-los também nessa página de edição para manter consistência, mas não estou conseguindo com que os dados no DataGridField sejam carregados do banco de dados. Alguém tem experiência com esses produtos? Como carregar os dados do DB para poder editar em um formulário com DataGridFields? Agradeço a atenção. PS: depois de concluir esse projeto, pretendo escrever um pequeno tutorial de como trabalhar com Zope(ZSQL+Python)+Plone(PFG+DGF)+Banco de dados relacional. -- Paul Eipper
Re: [zope-pt] PloneFormGen + DataGridField
Acabei conseguindo fazer com o PloneFormGen + DataGridField, com um Script Python que chama um ZSQL Method e processa o resultado colocando num dicionário que é passado para o formulário pelo campo *Form Setup Script*. Como disse antes, pretendo fazer um tutorial quando terminar esse projeto e acho que fica melhor e mais fácil de entender o código no contexto, mas se alguém quiser o código Python específico posso enviar. O que falta resolver agora é que, como o DataGridField não aceita colunas ocultas para colocar os ID's usados no banco de dados, tenho que fazer um script Python que adivinhe que colunas foram apagadas, inseridas ou atualizadas na interface e executar esses comandos via ZSQL Methods. (tudo isso porque não quero uma interface que mostre ID's que os usuários não entender, e provavelmente criar problemas) Realmente é bem complicado trabalhar com banco de dados relacional no Plone '^_^ Mas pelo menos estou aprendendo a usar Python ;D Esperem um tutorial em breve! -- Paul Eipper Em 07/02/07, Fernando Correa Neto [EMAIL PROTECTED] escreveu: Opa Paul, Não sei se é bem isso que você quer, mas talvez voce possa usar um vocabulary para trazer os dados do banco para você. Ex. schema = BaseSchema + Schema(( DataGridField('DemoField', searchable = True, columns=(column1, column2, select_sample), widget = DataGridWidget( columns={ 'column1' : Column(Toholampi city rox), 'column2' : Column(My friendly name), 'select_sample' : SelectColumn(Friendly name, vocabulary=getSampleVocabulary) }, ), ), )) Onde getSampleVocabulary eh um método que retorna os valores do DB. Agora, se o que você quer é uma Janela do DB onde você possa editar os campos, existe um Produto que está em andamento e se chama Alchemist...que é baseado no SQLAlchemy do zope3. HTH On 2/7/07, Paul Eipper [EMAIL PROTECTED] lkraider%40gmail.com wrote: Olá! Estou fazendo uma interface de formulários no Plone para adicionar, pesquisar e editar dados de um banco de dados mySQL (um sistema de cadastro, basicamente). A parte de adicionar e pesquisar está pronta e funcionando, mas ainda estou tendo problemas para criar um formulário para atualizar/editar os dados. Como estou usando o PloneFormGen com o DataGridField, queria usá-los também nessa página de edição para manter consistência, mas não estou conseguindo com que os dados no DataGridField sejam carregados do banco de dados. Alguém tem experiência com esses produtos? Como carregar os dados do DB para poder editar em um formulário com DataGridFields? Agradeço a atenção. PS: depois de concluir esse projeto, pretendo escrever um pequeno tutorial de como trabalhar com Zope(ZSQL+Python)+Plone(PFG+DGF)+Banco de dados relacional. -- Paul Eipper
Re: [zope-pt] ZPT passando variáveis/objetos por link
Olá, Acho que você tem razão! E pelo que vi parece o jeito mais simples de se fazer isso :) Valeu, -- Paul Eipper Em 02/02/07, Dorneles Treméa [EMAIL PROTECTED] escreveu: 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] [ZPT] Como pegar o caminho do objeto -1?
Tente o seguinte: a tal:attributes=href python:'/'.join([x for x in folderPath.split('/')[:-1]])veja mais/a []'s -- Paul Eipper Em 01/02/07, Juliano [EMAIL PROTECTED] escreveu: Caros, tou com o seguinte código funcionando: [...] /tr /tal:entry /tal:listing trtd div align=righta tal:attributes=href folderPathimg src=search_icon.gif border=0Veja Mais.../a/div /td/tr /table [...] coloquei uma imagem no seguinte caminho: .../galeria-de-imagens/janeiro-2007/fotos-dia-31 esse código pega a imagem mais recente e mostra no contentPanel na página principal. E logo abaixo da imagem coloquei um 'veja mais...' esse 'veja mais' pega o caminho '...galeria-de-imagens' como faço pra ele pegar o caminho '.../galeria-de-imagens/janeiro-2007/' ? no caso o caminho da imagem -1? Obrigado pela atenção de todos! Att. Juliano Araújo Farias Consultor Plêno ITEC - Instituto de Tecnlogia em Informática e Informação do Estado de Alagoas
[zope-pt] Unicode e ZMySQLDA
Existe alguma maneira de habilitar unicode para conexões com BD MySQL no Zope? Além disso, como configurar o Zope para trabalhar em unicode com codificação utf-8 ? Obrigado -- Paul Eipper
[zope-pt] Re: Unicode e ZMySQLDA
Descobri que o projeto MailManager adicionou suporte à unicode no ZMySQLDA http://sourceforge.net/projects/mailmanager Agora está funcionando tudo certo! (menos a interface do Zope que não é utf8... mas isso é o de menos) Quem quiser pegar, o código está no pacote ThirdParty: http://sourceforge.net/project/showfiles.php?group_id=85788package_id=89598 E antes de instalar, removam as conexões MySQL já existente pois elas são incompatíveis com essa versão. Seria interessante colocar esse pacote na página do Plone, alguém sabe como? -- Paul Eipper 2007/1/30, Paul Eipper [EMAIL PROTECTED]: Existe alguma maneira de habilitar unicode para conexões com BD MySQL no Zope? Além disso, como configurar o Zope para trabalhar em unicode com codificação utf-8 ? Obrigado -- Paul Eipper
Re: [zope-pt] CSS em uma página Plone
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 -- Paul Eipper Em 29/01/07, Dorneles Treméa [EMAIL PROTECTED] escreveu: 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] PloneFormGen + mySQL + relações m:n
Olá Dorneles, Valeu pela dica, eu já tinha visto esse tutorial (muito bom por sinal!) O meu problema é trabalhar com 1 formulário para preencher diversas tabelas relacionadas no banco de dados, o que eu não achei tutorial nenhum ainda :( Por enquanto estou começando a fazer manualmente com scripts Python + métodos ZSQL, mas estou batendo em todos tipos de erros possíveis e impossíveis hehahe. Meu problema atual é pegar o último campo de ID auto-gerada pelo mySQL para usar em outras tabelas. Algo assim: ZSQL (zsql_add_pessoa): [CÓDIGO] BEGIN dtml-var sql_delimiter INSERT INTO pessoa VALUES (0, dtml-sqlvar nome_pessoa type=string, dtml-sqlvar aniver_pessoa type=int, dtml-sqlvar end_pessoa type=string ) dtml-var sql_delimiter SELECT MAX(idpessoa) from pessoa dtml-var sql_delimiter COMMIT dtml-var sql_delimiter [/CÓDIGO] Script Python: [CÓDIGO] request = container.REQUEST RESPONSE = request.RESPONSE # Dados do Formulário vem pelo REQUEST.form form = context.REQUEST.form # Formata a data para o mySQL [MMDD] form['aniver_pessoa'] = form['aniver_pessoa'].replace('-','')[0:8] # Insere os dados e recebe ID da pessoa adicionada idnovo = context.zsql_add_pessoa(form) # Tenta imprimir o ID... infelizmente não imprime nada usando-se o PFG print idnovo return printed #Aqui vou usar o idnovo para inserir em outras tabelas form['pessoa_idpessoa'] = idnovo context.zsql_add_info(form) [/CÓDIGO] Só que não consigo ver a saída (o print) pois o PFG coloca a página de saída dele no lugar :-/ Ainda vou testar mais, mas é isso que consegui fazer até agora. Valeu, -- Paul Eipper Em 19/01/07, Dorneles Treméa [EMAIL PROTECTED] escreveu: 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
[zope-pt] PloneFormGen + mySQL + relações m:n
Voltei com meus problemas de iniciante :P Alguém aí usa o PloneFormGen com formulários complexos? Digo, formulários de uma página que tenham subformulários que entram dados em diversas tabelas do mySQL. Por exemplo, eu tenho algo assim: [ tabela ( campos ) ] Pessoa ( ID, Nome, Endereco ) Telefone ( ID, IDpessoa, Numero ) Contribuintes ( ID, Nome ) Pessoa_tem_Contribuintes ( IDpessoa, IDcontribuinte, Valor ) Ou seja, tenho uma relação 1:n (um para muitos) de Pessoa para Telefone, e uma relação m:n (muitos para muitos) de Pessoa e Contribuintes. Preciso de um só formulário pra entrar com todos esse dados e salvá-los no mySQL. Será melhor fazer essa lógica na aplicação Plone ou com funções no mySQL? Além disso, os campos para Telefone e Contribuintes devem ter um botão que adiciona campos extras se o usuário precisar (javascript). Tem como fazer isso com o PloneFormGen? Alguém tem experiência com formulários assim em Plone? Agradeço qualquer ajuda :) -- Paul Eipper
Re: [zope-pt] Problemas com um Provedor Zope/Plone
Dá uma olhada em: http://www.pythonbrasil.com.br/moin.cgi/HospedagemPython Em 12/01/07, Rodrigo Braga [EMAIL PROTECTED] escreveu: Parece que a alternativa é procurar outro serviço de hospedagem. - Mensagem original De: Vinÿedcius Perallis [EMAIL PROTECTED] Para: Zope-pt zope-pt@yahoogrupos.com.br Enviadas: Sexta-feira, 12 de Janeiro de 2007 12:16:37 Assunto: [zope-pt] Problemas com um Provedor Zope/Plone Fala Pessoal, É o seguinte, Esta semana contratei um provedor para hospedar meu site zope/plone, mas eu to achando um negócio muito estranho, eu quero a opnião de vocês: Primeiro, : eles redirecionaram meu dominio , por exemplo: www.meudominio. com.br para um outro lugar com o endereço (por exemplo)145. 547.25:8080/ meudominio (Eu ja não gostei disso, pois o meu dominio não aparece mais no end do browser ) Segundo: eu não estou tendo acesso a interface de gerenciamento do zope, só do plone. E eles nem sabem o porque. E quando perguntei se poderia ftp, eles nem sabiam que podia fazer ftp com zope/plone. Eu queria saber se isso é normal em outros Provedores, pois por enquanto estou muito descontente com este provedor. Se alguem, tiver alguma boa indicação para me dar, eu ficarei grato! Perallis _ _ _ _ __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger .yahoo.com/ __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/
Re: [zope-pt] Aplicativo com banco de dados em Zope/Plone
Obrigado pelas respostas! Estou começando a estudar o Archetypes do Plone e o uso do Zope+mySQL em geral :) Espero poder terminar a aplicação em 2 a 3 semanas (bem mais do que duas horas ;P ). Mas é isso, vou voltar aqui com mais dúvidas provavelmente ao longo desse tempo heh. Abração -- Paul Eipper Em 09/01/07, Rodrigo Dias Arruda Senra [EMAIL PROTECTED] escreveu: [ Paul Eipper [EMAIL PROTECTED] lkraider%40gmail.com ]: | | Haveria alguma vantagem em usar um banco de dados externo ao invés do zope | mesmo? Se vc precisar usar o ferramental de SQL para escrever consultas ad hoc sobre os dados, ou se outras aplicações externas precisarem de acesso ao seus dados, ou se vc desejar uma arquitetura em cluster para manter o repositório de dados com alta robustez e disponibilidade, em todos estes casos é conveniente armazenar seus dados em um banco relacional externo (ao invés do ZODB). | Alguém teria alguma idéia de quanto tempo se leva pra fazer um projeto | desses? O tempo depende do nível de expertise de quem for fazer. Eu conheço caras dessa lista que levariam apenas uma ou duas horaspara botar a primeira versão no ar. (Na verdade dá até para fazer em menos) Aprender Zope/Plone/Archetypes leva *bem* mais tempo do que isso ;o) | Dá pra usar o Plone para agilizar o desenvolvimento? (ele serve para esse | tipo de uso?) Sim (Sim) Acho que os tutoriais de Archetypes em http://plone.org são o ponto de partida. Naturalmente Zope e Python são pré-requsitos. Abração, Senra - Rodrigo Senra GPr Sistemas
Re: [zope-pt] Aplicativo com banco de dados em Zope/Plone
Haveria alguma vantagem em usar um banco de dados externo ao invés do zope mesmo? Alguém teria alguma idéia de quanto tempo se leva pra fazer um projeto desses? Dá pra usar o Plone para agilizar o desenvolvimento? (ele serve para esse tipo de uso?) Thiago: teria alguma dica de como montar um projeto assim? (pra quem nunca usou o zope) ;D Josecc: já olhou em http://www.pythonbrasil.com.br/moin.cgi/AprendaProgramar? Peguei muita coisa de python por lá. Abraços, -- Paul Eipper Em 09/01/07, [EMAIL PROTECTED] [EMAIL PROTECTED] escreveu: Paul, eu tb estou estudando o zope, comecei por agora e iniciei lendo a documentação do zope, uma vez quero entender quando o usar e o que utilizar em minhas aplicações. To querendo fazer tb o zope trabalhar com o postgresql, mas por enquanto estou usando o proprio banco do zope. Eu queria saber se alguem sabe de algum material interessante sobre script pyhton. Abraços - Original Message - *From:* Thiago M. Figueredo [EMAIL PROTECTED] *To:* zope-pt@yahoogrupos.com.br *Sent:* Tuesday, January 09, 2007 11:02 AM *Subject:* Re: [zope-pt] Aplicativo com banco de dados em Zope/Plone Opa Paulo, O legal sua ideia hein. Entregue um projeto parecido com esse semana retasada e eu usei *postgresSQL* nunca tinha trabalhado com postgres é bem legal eu aconselho a usar postgresSQL. Da pra vc trabalhar com imagem sem problemas. Bom mais é isso ai! ate mais abraço :D *Paul Eipper [EMAIL PROTECTED]* escreveu: Olá lista! Sou novo em Zope/Plone (instalei hoje! ;) e gostaria da opinião de quem já os conhecem, para a implantação de um sistema de cadastro bem simples, algo assim: Dados pessoais (nome, nasc., endereço, tel, etc) Formação Histórico profissional Palavras-Chave (ex: programador, python) e outros grupos de campos no mesmo estilo e talvez ainda um campo para foto. A aplicação deveria fornecer uma interface de pesquisa fácil para tudo e ainda uma avançada para pesquisar por campo. Achei algo parecido com o que necessito aqui: http://plone.org/products/custom-search/documentation/manual/manual/some-sample-screenshots Como implantar algo assim em Zope/Plone ? Como melhor armazenar os dados (SQL?) ? O Zope/Plone oferece suporte para criação fácil/rápida de algo assim? Agradeço a atenção ! :) -- Paul Eipper Thiago M. Figueiredo E-Mail: [EMAIL PROTECTED] Google talk: [EMAIL PROTECTED] MSN: [EMAIL PROTECTED] Skype: thiagunix http://output.zoping.com.br 'Open Source' o conhecimento é do mundo! :P Usar software proprietario R$ 450,00 com MasterCard, usar software livre não preço :D __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/