Re: [zope-pt] Banco de dados

2007-10-28 Por tôpico Paul Eipper
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

2007-10-25 Por tôpico Paul Eipper
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

2007-10-25 Por tôpico Paul Eipper
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

2007-04-04 Por tôpico Paul Eipper

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

2007-04-04 Por tôpico Paul Eipper

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

2007-04-03 Por tôpico Paul Eipper
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)

2007-03-09 Por tôpico Paul Eipper

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

2007-02-13 Por tôpico Paul Eipper
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

2007-02-13 Por tôpico Paul Eipper

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

2007-02-09 Por tôpico Paul Eipper
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

2007-02-09 Por tôpico Paul Eipper
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

2007-02-09 Por tôpico Paul Eipper

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

2007-02-08 Por tôpico Paul Eipper

:)

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!

2007-02-08 Por tôpico Paul Eipper

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

2007-02-07 Por tôpico Paul Eipper
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

2007-02-07 Por tôpico Paul Eipper

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

2007-02-02 Por tôpico Paul Eipper

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?

2007-02-01 Por tôpico Paul Eipper

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

2007-01-30 Por tôpico Paul Eipper

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

2007-01-30 Por tôpico Paul Eipper

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

2007-01-29 Por tôpico Paul Eipper

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

2007-01-19 Por tôpico Paul Eipper

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

2007-01-16 Por tôpico Paul Eipper
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

2007-01-12 Por tôpico Paul Eipper

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

2007-01-10 Por tôpico Paul Eipper

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

2007-01-09 Por tôpico Paul Eipper

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/