Re: [zope-pt] Chamar um método quando algum campo for alterado (Era: index_object( ) sendo chamado várias vezes)

2007-03-07 Por tôpico Jean Rodrigo Ferri
Rafael Oliveira escreveu:
>>  Uma das lições aprendidas com isso (ainda que não fosse aplicado a
>>  PZP) é que hooks em *tudo* são os assassinos do desempenho.
>>  Por isso tome bastante cuidado, em geral hooks devem ser colocados
>>  em *poucos* objetos e mediante uma escolha cuidadosa de onde colocar.
> 
> A não ser que eu tenha como requisito registrar todas as modificações
> nos objetos ...

Talvez você possa tirar uma idéia de como implementar isso do código do 
PloneCollectorNG, que guarda um histórico de todas as alterações 
efetuadas nas configurações do coletor.

Abraço,

-- 
Jean Ferri


Re: [zope-pt] Chamar um método quando algum campo for alterado (Era: index_object() sendo chamado várias vezes)

2007-03-07 Por tôpico Rafael Oliveira
On 07 Mar 2007 07:16:38 -0800, Rodrigo Senra <[EMAIL PROTECTED]> wrote:
>
>  |Rodrigo Senra:
>
>  Só no momento da criação, ou em qualquer atualização de campo ?
>  Pelo que vc disse, me parece ser a segunda opção, ou seja
>  um hook em qualquer atualização de campo.

É isso mesmo !

>  Uma das lições aprendidas com isso (ainda que não fosse aplicado a
>  PZP) é que hooks em *tudo* são os assassinos do desempenho.
>  Por isso tome bastante cuidado, em geral hooks devem ser colocados
>  em *poucos* objetos e mediante uma escolha cuidadosa de onde colocar.

A não ser que eu tenha como requisito registrar todas as modificações
nos objetos ...

>  Feita essa advertência, uma forma seria no at_post_create_script()
>  da classe Base (da qual todos seus tipos herdam) vc coloca um
>  código reflexivo que inspeciona os campos (percorrendo o atributo
>  schema) e troca os getters/setters por wrappers que chamam o seu
>  método de hook (em pré-chain ou pós-chain) e chamam também o
>  getter/setter original. Não é trivial, mas também não é nada
>  do outro mundo.

É uma idéia interessante. Obrigado pela dica.

>
>  É preciso ter dois cuidados:
>
>  1) evitar recursão infinita - de dentro do hook, se vc tentar
>  (...)
> 2) O outro cuidado é não causar efeitos colaterais com os encantamentos
>do AT, CMF, ExtensionClass do Zope.

Ok !

>  |A primeira coisa que me veio a cabeça
>  |foi sobrescrever o __getattr__() das classes para interceptar as
>  |chamadas dos setters de todos os campos
>
>  Acho que *não* vai funcionar, pois o __getattr__ só é chamado se
>  os atributos *não estiverem previamente definidos*. Ou seja, só
>  funciona para atributos virtuais. Nessa linha seria melhor
>  usar __getattribute__, que é chamado até mesmo para atributos
>  *já definidos*.

Isso eu não sabia.

> Todavia, esta estratégia recai no problem de
>  "interceptar tudo" -> vai ficar uma carroça-de-boi-manco e vai
>  ser difícil escrever o código do hook.
>  Mas, se vc quiser ir por essa linha eu ficaria *contente*
>  se vc me provasse que eu estou errado a este respeito.
>  Toda a comunidade ganharia com isso.

Infelizmente eu não poderei testar nenhuma das soluções agora, porém
eu concordo que a solução que eu pensei inicialmente deve ser meio
complicada de implementar. A sua solução envolve menos magia negra do
Python :D

[]s

>
>  Abração,
>  Senra
>
>  -
>  Rodrigo Senra
>  GPr Sistemas
>  http://www.gpr.com.br

-- 
Rafael Bruno Cavalhero de Oliveira <[EMAIL PROTECTED]>
Paradigma 
http://rafaelbco.wordpress.com


Re: [zope-pt] Re: ZEO server dentro de um diretorio nfs

2007-03-07 Por tôpico Fabio Rizzo Matos

[cut]...

. Outra coisa que percebi que o Plone 2.5 não rolou com esse

esquema. Tive que colocar o Plone 2.5.2.




[/cut]

Cara, vc tem algum indicativo sobre isso no Plone 2.5?

--
Fabio Rizzo
ThreePointsWeb
[EMAIL PROTECTED]



[zope-pt] Re: logout fora da zmi

2007-03-07 Por tôpico FLÁVIO GOMES DA SILVA LISBOA
Tentei usar o manage_zmi_logout desta maneira:

context.manage_zmi_logout(REQUEST,REQUEST.RESPONSE)

Mas o usuário continua autenticado.

Pela regra de negócio, o portal que estou desenvolvendo tem de obrigar
o novo usuário, em seu primeiro acesso, a alterar a senha e dar o
logoff, pra forçar ele a entrar com a nova senha.

Criei cópias do password_form e plone_change_password com sufixos
_logoff para fazer isso. A linha acima foi colocada antes do return do
script plone_change_password_logoff.

Logo depois que a senha alterada, o login_form é exibido, mas ele o
usuário continua autenticado, tanto que os links da barra
personaltools (id do usuário, minha pasta, preferências, sair)
continua aparecendo e eles funcionam.

Vi que o assunto morreu aqui, mas gostaria de saber como (se) isso foi
contornado. Uso a versão 2.9.5. Não por gosto, mas por decisão do projeto.

--- Em zope-pt@yahoogrupos.com.br, [EMAIL PROTECTED] escreveu
>
> Realmente Jean, depois de uma boa googlada, verifikei que, se nao
invocarmos o
> metodo manage_zmi_logout, teremos que morrer nos produtos :
> 
> CookieCrumbler ou LoginManager ou exUserFolder, que são baseados em
cookies.
> 
> Agora quanto ao metodo manage_zmi_logout, quando invoco o mesmo, noto 
> que a tela
> de login eh recarregada e aparentemente quando tento entrar com um 
> outro usuario
> cadastrado na acl_users o mesmo nao autentica.
> Engraçado que apos diversas tentativas ou cancelando o login tenho a
seguinte
> mensagem "You have been logged out." e voltando com um back do 
> navegador e f5 (
> refresh ) noto que o usuario que anteriormente nao logava, se
encontra logado.
> 
> O que me diz?
> 
> []`s
> 
> Renato
> 
> 
> Quoting Jean Rodrigo Ferri <[EMAIL PROTECTED]>:
> 
> > [EMAIL PROTECTED] escreveu:
> >> Ola pessoal,
> >
> > Olá Renato,
> >
> >> Como posso criar uma chamada dmtl ou um python script que force
um logout do
> >> usuario autenticado? ( AUTHENTICATED_USER )
> >>
> >> Terei que fechar a sessao?
> >> Expirar os cookies do navegador?
> >>
> >> Estou usando a versao Zope-2.10.1, pelo que andei lendo no Zope3
os caras ja
> >> disponibilizam uma funcao para este problema.
> >
> > Como você faria para efetuar logout no Zope2? Iria na barra azul
no topo
> > da ZMI e escolheria a opção 'Logout', certo?
> >
> > Pois bem, se você mostrar o código HTML da barra azul, verá no
form isso:
> >
> > Logout
> >
> > Ou seja, quando você seleciona a opção 'Logout' o método
> > 'manage_zmi_logout' será invocado a partir do contexto. Então, no seu
> > Script Python ou DTML Method invoque este método e voilá.
> >
> > Abraço,
> >
> > --
> > Jean Ferri
> >
> >
> > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> > Para desistir envie uma mensagem em branco para: 
> > [EMAIL PROTECTED]
> > Links do Yahoo! Grupos
> >
> >
> >
>




[zope-pt] Re: Zone no Windows Vista

2007-03-07 Por tôpico Sidnei da Silva
--- Em zope-pt@yahoogrupos.com.br, PZP <[EMAIL PROTECTED]> escreveu
>
> Olá amigos!
> Alguém da lista teve sucesso em rodar o Zope no Windows Vista?

Sim, o Zope Roda no Windows Vista. Se quiser uma resposta mais
especifica faca uma pergunta mais especifica. ;)

-- 
Sidnei da Silva
Enfold Systemshttp://enfoldsystems.com
Fax +1 832 201 8856 Office +1 713 942 2377 Ext 214




[zope-pt] Re: Limite de Grupos no Plone PAS

2007-03-07 Por tôpico Sidnei da Silva
--- Em zope-pt@yahoogrupos.com.br, Mário Sergio <[EMAIL PROTECTED]>
escreveu
>
> Saudações a todos.
>
> Caríssimos amigos alguém saberia como posso fazer para que o
> plone pas retorne listas de grupos com mais de 1.000 grupos?
>
> Parece-me que uma rotina faz essa verificação e simplesmente
> para a execução caso o AD retorne uma lista superior a 1000
grupos...

Nao sei qual produto nem como vc esta usando AD, mas recomendo utilizar
o Enfold Server [1], principalmente se os seus usuarios tem nomes ou
logins que contenham caracteres nao-ascii. Trabalhamos muito para que o
Plone funcione com uma performance decente quando usado com Active
Directory e um numero grande de usuarios e grupos.

Dito isso, a limitacao em '1000' eh uma restricao padrao no lado
servidor do Active Directory que eh aplicada a consultas LDAP. Essa
restricao eh configurada numa propriedade chamada 'MaxPageSize' [2]. A
recomendacao da Microsoft eh fazer buscas 'paginadas' e assim retornar
apenas um numero 'x' de resultados por vez.

[1] http://www.enfoldsystems.com/Products/Server
[2]
http://technet2.microsoft.com/WindowsServer/en/library/8196d68e-776a-4bb\
c-99a6-d8c19f36ded41033.mspx?mfr=true

--
Sidnei da Silva
Enfold Systemshttp://enfoldsystems.com
Fax +1 832 201 8856 Office +1 713 942 2377 Ext 214





[zope-pt] Re: Problema Com LDAP

2007-03-07 Por tôpico Renato Sacramento Horta Moreira

Só para deixar claro:

Preciso do Servidor LDAP somente para autenticacao de Usuários. Assim, não
quero mapear grupos do servidor no Plone. Apenas atribuir grupos a usuarios
LDAP.

Abracos,

On 3/7/07, Renato Sacramento Horta Moreira <[EMAIL PROTECTED]> wrote:


Olá Pessoal,

Usando a seguinte configuracao :
 - Python 2.3.5
 - Zope 2.8.5-Final
 - Plone 2.1.2.
 - LDAPUserFolder 2.6
 - GroupUserFolder 3.5

Consegui configurar um cliente LDAP com o meu portal. Consigo autenticar
com os usuários externos. Por default, a role de qualquer usuário é
Anonymous.
Eu també consigo alterar os grupo de um usuário específico do LDAP,

O problema ocorre quando eu autentico o usuário. Parece que o Plone está
ignorando os grupos do usuário e dando somente a permissão default para
todos os usuários externos.

Algumas observacoes:

   - Em qualquer aba que eu clico no LDAPUserFolder, ocorre um problema
   do tipo: (Apesar desse erro, consigo efetuar todas as operacoes possiveis em
   todas as abas. É importante lembrar que na configuracao da pasta eu tirei as
   permissoes de admin no servidor LDAP - nao era pra dar esse erro)

 Traceback (most recent call last):
  File "/opt/instance/ctbc/Products/LDAPUserFolder/LDAPDelegate.py", line
216, in connect
, op_timeout=getter('op_timeout')
  File "/opt/instance/ctbc/Products/LDAPUserFolder/LDAPDelegate.py", line
311, in _connect
connection.simple_bind_s(user_dn, user_pwd)
  File "/usr/local/lib/python2.3/site-packages/ldap/ldapobject.py", line
759, in simple_bind_s
return SimpleLDAPObject.simple_bind_s(self,*args,**kwargs)
  File "/usr/local/lib/python2.3/site-packages/ldap/ldapobject.py", line
176, in simple_bind_s
return self.result(msgid,all=1,timeout= self.timeout)
  File "/usr/local/lib/python2.3/site-packages/ldap/ldapobject.py", line
405, in result
res_type,res_data,res_msgid = self.result2(msgid,all,timeout)
  File "/usr/local/lib/python2.3/site-packages/ldap/ldapobject.py", line
409, in result2
res_type, res_data, res_msgid, srv_ctrls = self.result3
(msgid,all,timeout)
  File "/usr/local/lib/python2.3/site-packages/ldap/ldapobject.py", line
415, in result3
rtype, rdata, rmsgid, serverctrls =
self._ldap_call(self._l.result3,msgid,all,timeout)
  File "/usr/local/lib/python2.3/site-packages/ldap/ldapobject.py", line
94, in _ldap_call
result = func(*args,**kwargs)
INVALID_CREDENTIALS: {'info': 'Bind failed: Invalid credentials for
CN=Admin/O=XXX/C=BR', 'desc': 'Invalid credentials'}

XXX => servidor


   - Na tela de alterar os grupos dos usuários LDAP, os grupos do Zope
   aparecem como se fossem grupos do LDAP.
   - O servidor LDAP é do tipo Notes

Abracos

--
Renato Sacramento Horta Moreira
Ciência da Computação - UFMG





--
Renato Sacramento Horta Moreira
Ciência da Computação - UFMG


Re: [zope-pt] Chamar um método quando algum campo for alterado (Era: index_object() sendo chamado várias vezes)

2007-03-07 Por tôpico Rodrigo Senra

|Rodrigo Senra:
|>
|>  Acho que vc pode criar um mutator para o campo.
|>  O  AT cria setters default para cada campo, mas estes
|>  podem ser sobrescritos por rotinas suas (bem como getters).

[ Rafael Oliveira ]:
|Essa solução funcionaria sim. Porém o meu cenário é um pouco pior (eu
|não deixei muito claro): eu gostaria de ter esse comportamento para
|todos os campos de vários tipos de objetos diferentes. Ou seja, eu
|quero registrar qualquer mudança em qualquer campo.

Só no momento da criação, ou em qualquer atualização de campo ?
Pelo que vc disse, me parece ser a segunda opção, ou seja 
um hook em qualquer atualização de campo.

Eu trabalhei em uma arquitetura genérica para isso [1] em 1997
(caraca já faz 10 anos) em parceria com o lendário Alexandre Oliva
(hoje secretário da FSF para a América Latina).
Uma das lições aprendidas com isso (ainda que não fosse aplicado a
PZP) é que hooks em *tudo* são os assassinos do desempenho.
Por isso tome bastante cuidado, em geral hooks devem ser colocados
em *poucos* objetos e mediante uma escolha cuidadosa de onde colocar.

Feita essa advertência, uma forma seria no at_post_create_script()
da classe Base (da qual todos seus tipos herdam) vc coloca um 
código reflexivo que inspeciona os campos (percorrendo o atributo 
schema) e troca os getters/setters por wrappers que chamam o seu
método de hook (em pré-chain ou pós-chain) e chamam também o
getter/setter original. Não é trivial, mas também não é nada
do outro mundo. 

É preciso ter dois cuidados:

  1) evitar recursão infinita - de dentro do hook, se vc tentar
 inspecionar o campo (que está sendo interceptado) tem que 
 fazê-lo de uma forma que não redispare o acesso ao getter/setter
 que por conseguinte irá disparar uma chamada recursiva  para
 o seu hook. Uma forma fácil de detctar isso é ver a CPU em 100% e
 a memória livre indo para o saco (se não estourar o maximum recursion
 depth antes) ;o)
  
   2) O outro cuidado é não causar efeitos colaterais com os encantamentos
  do AT, CMF, ExtensionClass do Zope. 



|Como eu não preciso dessa fucionalidade urgentemente eu não parei para
|pensar na solução mais elegante.

Touché, não sei se essa é elegante tampouco.

|A primeira coisa que me veio a cabeça
|foi sobrescrever o __getattr__() das classes para interceptar as
|chamadas dos setters de todos os campos 

Acho que *não* vai funcionar, pois o __getattr__ só é chamado se
os atributos *não estiverem previamente definidos*. Ou seja, só
funciona para atributos virtuais. Nessa linha seria melhor
usar __getattribute__, que é chamado até mesmo para atributos
*já definidos*. Todavia, esta estratégia recai no problem de
"interceptar tudo" -> vai ficar uma carroça-de-boi-manco e vai
ser difícil escrever o código do hook. 
Mas, se vc quiser ir por essa linha eu ficaria *contente* 
se vc me provasse que eu estou errado a este respeito.
Toda a comunidade ganharia com isso.

[1] http://www.lsd.ic.unicamp.br/~oliva/guarana/

Abração,
Senra

-
Rodrigo Senra
GPr Sistemas 
http://www.gpr.com.br


[zope-pt] Problema Com LDAP

2007-03-07 Por tôpico Renato Sacramento Horta Moreira

Olá Pessoal,

Usando a seguinte configuracao :
- Python 2.3.5
- Zope 2.8.5-Final
- Plone 2.1.2.
- LDAPUserFolder 2.6
- GroupUserFolder 3.5

Consegui configurar um cliente LDAP com o meu portal. Consigo autenticar com
os usuários externos. Por default, a role de qualquer usuário é Anonymous.
Eu també consigo alterar os grupo de um usuário específico do LDAP,

O problema ocorre quando eu autentico o usuário. Parece que o Plone está
ignorando os grupos do usuário e dando somente a permissão default para
todos os usuários externos.

Algumas observacoes:

  - Em qualquer aba que eu clico no LDAPUserFolder, ocorre um problema
  do tipo: (Apesar desse erro, consigo efetuar todas as operacoes possiveis em
  todas as abas. É importante lembrar que na configuracao da pasta eu tirei as
  permissoes de admin no servidor LDAP - nao era pra dar esse erro)

Traceback (most recent call last):
 File "/opt/instance/ctbc/Products/LDAPUserFolder/LDAPDelegate.py", line
216, in connect
   , op_timeout=getter('op_timeout')
 File "/opt/instance/ctbc/Products/LDAPUserFolder/LDAPDelegate.py", line
311, in _connect
   connection.simple_bind_s(user_dn, user_pwd)
 File "/usr/local/lib/python2.3/site-packages/ldap/ldapobject.py", line
759, in simple_bind_s
   return SimpleLDAPObject.simple_bind_s(self,*args,**kwargs)
 File "/usr/local/lib/python2.3/site-packages/ldap/ldapobject.py", line
176, in simple_bind_s
   return self.result(msgid,all=1,timeout=self.timeout)
 File "/usr/local/lib/python2.3/site-packages/ldap/ldapobject.py", line
405, in result
   res_type,res_data,res_msgid = self.result2(msgid,all,timeout)
 File "/usr/local/lib/python2.3/site-packages/ldap/ldapobject.py", line
409, in result2
   res_type, res_data, res_msgid, srv_ctrls = self.result3
(msgid,all,timeout)
 File "/usr/local/lib/python2.3/site-packages/ldap/ldapobject.py", line
415, in result3
   rtype, rdata, rmsgid, serverctrls =
self._ldap_call(self._l.result3,msgid,all,timeout)
 File "/usr/local/lib/python2.3/site-packages/ldap/ldapobject.py", line 94,
in _ldap_call
   result = func(*args,**kwargs)
INVALID_CREDENTIALS: {'info': 'Bind failed: Invalid credentials for
CN=Admin/O=XXX/C=BR', 'desc': 'Invalid credentials'}

XXX => servidor


  - Na tela de alterar os grupos dos usuários LDAP, os grupos do Zope
  aparecem como se fossem grupos do LDAP.
  - O servidor LDAP é do tipo Notes

Abracos

--
Renato Sacramento Horta Moreira
Ciência da Computação - UFMG


Re: [zope-pt] KInterBasDB no Zope.

2007-03-07 Por tôpico Fernando Correa Neto
Caro amigo.

Acredito que sua dúvida seja mais relacionada a python do que ao zope em sí.
Qualquer biblioteca python pode ser instalada em diferentes
localizações. Basta que você coloque ele no caminho do python.
Para isso você deve setar a variável de ambiente PYTHONPATH. Procure
como fazer isso no windows ou olhe dentro dos scripts de inicialização
do zope para referência.
Isso pode ser feito nos próprios scripts de inicialização do zope
(runzope, zopectl) da sua intância.

Aproveitando, existe uma lista de discussão de python bastante ativa
que se chama python-br onde você pode exclarecer suas dúvidas
referentes a python.

[]'s
Fernando

On 3/7/07, Joel <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
>
> Bom dia.
>
>  Alguém conseguiu instalar o KInterbasDB no Zope ?
>
>  Obrigado.
>


[zope-pt] Open Source CMS Security

2007-03-07 Por tôpico Jeronimo Zucco
Muito interessante:

http://blogs.onenw.org/jon/archives/2007/02/18/open-source-cms-security-part-ii

-- 
Jeronimo Zucco
LPIC-1 Linux Professional Institute Certified
Núcleo de Processamento de Dados
Universidade de Caxias do Sul

http://jczucco.blogspot.com



Re: [zope-pt] Arquivo que contem o template da lista (pasta esperta)

2007-03-07 Por tôpico Roberto Alcântara

Show de bola Rodrigo! Valeu mesmo. E valeu a dica, "olhe na classe" também
;-)

Abraços,
Roberto

On 3/7/07, Rodrigo Castardo <[EMAIL PROTECTED]> wrote:


  Fala Roberto!

fui direto na classe que implementa a Smart Folder
(Products/ATContentTypes/content/topic.py) e encontrei essa info lah, o
template eh o atct_topic_view.

[]'s!


On 3/7/07, Roberto Alcântara <[EMAIL PROTECTED]> wrote:
>
>   Pessoal,
>
> Estou querendo adicionar um banner do AdSense próximo ao quinto item
> na lista exibida em uma pasta esperta. Alguem poderia me dizer
> exatamente aonde eu acho o template dela? Ja rodei aqui no ZMI e não
> tô achando :-P
>
> valeu
>
> --
>
> - Roberto
>



--
Castardo
ThreePointsWeb
[EMAIL PROTECTED]
+55 61 8166-4109

 





--

- Roberto


Re: [zope-pt] Arquivo que contem o template da lista (pasta esperta)

2007-03-07 Por tôpico Rodrigo Castardo

Fala Roberto!

fui direto na classe que implementa a Smart Folder
(Products/ATContentTypes/content/topic.py) e encontrei essa info lah, o
template eh o atct_topic_view.

[]'s!

On 3/7/07, Roberto Alcântara <[EMAIL PROTECTED]> wrote:


  Pessoal,

Estou querendo adicionar um banner do AdSense próximo ao quinto item
na lista exibida em uma pasta esperta. Alguem poderia me dizer
exatamente aonde eu acho o template dela? Ja rodei aqui no ZMI e não
tô achando :-P

valeu

--

- Roberto
 





--
Castardo
ThreePointsWeb
[EMAIL PROTECTED]
+55 61 8166-4109


[zope-pt] Re: ZEO server dentro de um diretorio nfs

2007-03-07 Por tôpico pablon1182
Opa Jeronimo,

Acho que resolvi o problema. Na realidade não era problema com
permissões. Eu estou usando o FreeBSD 6.2 e o Zope não tava podendo dá
um lock no arquivo. (Operation not Supported). Pesquisando na internet
eu descorbri o comando mount_nfs com o paramentro -L que força a
utilização das flags de Lock locais e não da partição remota. No meu
caso isso resolveu, pois este volume remoto é exclusivo do meu
servidor. Outra coisa que percebi que o Plone 2.5 não rolou com esse
esquema. Tive que colocar o Plone 2.5.2. 


Valeu pela ajuda.

Abraço.


--- Em zope-pt@yahoogrupos.com.br, Jeronimo Zucco <[EMAIL PROTECTED]> escreveu
>
> Tente montar a partição NFS, e depois entrar com o usuário que está 
> configurado no effective-user e tentar gravar alguma coisa nessa 
> partição (pode se logar com ele, ou como root usar o "su - ".  
> Ainda acredito que é problema de permissão.
> 
> 
> > Com o Showmount eu tenho
> >
> > Exports list on 192.168.32.161:
> > /vol/bkpcat Everyone
> > /vol/vol0 Everyone
> > /vol/vol0/home Everyone
> > /vol/usuario Everyone
> > /vol/opt 192.168.32.87
> > /vol/apps Everyone
> >
> > o volume que quero usar é /vol/opt e o ip que aparece é o do meu
> > servidor zope.
> >
> > E não é criado o socket. O Trace completo do erro é:
> >
> > File "/usr/local/www/Zope29/lib/python/ZEO/runzeo.py", line 356, in ?
> > main()
> > File "/usr/local/www/Zope29/lib/python/ZEO/runzeo.py", line 353,
in main
> > s.main()
> > File "/usr/local/www/Zope29/lib/python/ZEO/runzeo.py", line 138,
in main
> > self.open_storages()
> > File "/usr/local/www/Zope29/lib/python/ZEO/runzeo.py", line 187, in
> > open_storages
> > self.storages[opener.name] = opener.open()
> > File "/usr/local/www/Zope29/lib/python/ZODB/config.py", line 135, in
> > open
> > quota=self.config.quota)
> > File
> > "/usr/local/www/Zope29/lib/python/ZODB/FileStorage/FileStorage.py",
> > line 112, in __init__
> > self._lock_file = LockFile(file_name + '.lock')
> > File "/usr/local/www/Zope29/lib/python/ZODB/lock_file.py", line 63,
> > in __init__
> > lock_file(self._fp)
> > File "/usr/local/www/Zope29/lib/python/ZODB/lock_file.py", line 42,
> > in lock_file
> > fcntl.flock(file.fileno(), _flags)
> > IOError: [Errno 45] Operation not supported
> >
> > --- Em zope-pt@yahoogrupos.com.br 
> > , Jeronimo Zucco  
> > escreveu
> > >
> > > Opa!
> > >
> > > O que acontece quando você dá o comando:
> > >
> > > showmount -e 
> > >
> > > Verifique as permissões do NFS com o comando acima. Lembre-se que a
> > > permissão deve se referir ao "effective-user" que está
configurado no
> > > zope.conf
> > >
> > > Nunca usei Zeo com NFS para opniar se é bom ou ruim, mas
acredito que
> > > funcione sim.
> > >
> > > --
> > > Jeronimo Zucco
> > > LPIC-1 Linux Professional Institute Certified
> > > Núcleo de Processamento de Dados
> > > Universidade de Caxias do Sul
> > >
> > > http://jczucco.blogspot.com 
> > >
> > >
> > > pablon1182 escreveu:
> > >
> > > > Pessoal,
> > > >
> > > > Estou com um problema com minha ZEO server. Estou usando o FreeBSD
> > > > 6.2. Criei um diretorio e montei esse diretorio um volume externo.
> > > > Este diretorio usa NFS. Na realidade esse ponto de montagem
fica em
> > > > nosso Storage. Em seguida criei uma zeo dentro deste diretorio mas
> > > > quando vou subir o serviço recebo o erro:
> > > >
> > > > lock_file
> > > > fcntl.flock(file.fileno(),_flags)
> > > > IOError [Errno 45] Operation not supported
> > > >
> > > > Já veriquei permissões no Storage. Com usuário eu gravo e leio no
> > > > diretorio.
> > > > Será que exite alguma restrição quanto ao uso do Zope em um
diretorio
> > > > externo que usa NFS?
> > > >
> > > > Mas pra que tudo isso? Temos um Storage configurado para tira
> > > > snapshots dos arquivos de hora em hora. Assim poderia restaura
50G de
> > > > informação em apenas 5 minutos. Temos o recurso e eu queria
> > aproveitar.
> > > > Alguem pode dar opinião? Será que é muitoa viagem fazer esse
tipo de
> > > > configuração.
> > > >
> > > >
> > >
> >
> >  
> 
> 
> -- 
> Jeronimo Zucco
> LPIC-1 Linux Professional Institute Certified
> Núcleo de Processamento de Dados
> Universidade de Caxias do Sul
> 
> http://jczucco.blogspot.com
>




[zope-pt] KInterBasDB no Zope.

2007-03-07 Por tôpico Joel
Bom dia.

Alguém conseguiu instalar o KInterbasDB no Zope ?

Obrigado.


[zope-pt] Arquivo que contem o template da lista (pasta esperta)

2007-03-07 Por tôpico Roberto Alcântara
Pessoal,

Estou querendo adicionar um banner do AdSense próximo ao quinto item
na lista exibida em uma pasta esperta. Alguem poderia me dizer
exatamente aonde eu acho o template dela? Ja rodei aqui no ZMI e não
tô achando :-P

valeu

-- 

 - Roberto