Hi, Hope you can help 1. I am having trouble connecting a zope client to a zeo database.The server and client are in different goegraphical locations and behind different proxies and firewalls. I read that they communicate using a 'custom RPC protocol'...what does this mean and does it have any influence on which firewall/proxy rules we need to implement on our network?? 2. I can create a custom skin on each zope (in reality plone) instance right or is each zope instance is just a mirror of the other? thx -- Ian Lawrence http://ianlawrence.info Centre for Bioinformatics INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA RUA ANDRÉ ARAÚJO N º .2936 , BAIRRO DO ALEIXO MANAUS-AMAZONAS-BRAZIL Research Program in Biodiversity http://ppbio.inpa.gov.br PHONE: 055-92-3643-3358 CEP. 69011 -970 | Please do not send me documents in a closed | format.(*.doc,*.xls,*.ppt) | Use the open alternatives. (*.pdf,*.html,*.txt) http://www.gnu.org/philosophy/no-word-attachments.html
return [type for type in types if type not in types_to_exclude] If you can see the beauty, then Python got you
2. I can create a custom skin on each zope (in reality plone) instance right or is each zope instance is just a mirror of the other? Nope. It is something different. In general ZEO is about sharing ZODB (Zope Object Database) between few Zope instances. There is no mirroring but just one ZODB. ZODB is a place where all objects you have created through ZMI (Zope Management Interface) are hold.
When you have standard setup (one Zope instance) it has it's own ZODB (you may see this in <instance>/var/data.fs. With ZEO you have ZEOServer that holds ZODB (data.fs file) and multiple ZEO Clients that are connecting to it. ZEOClient is a normal ZopeInstance that is not using it's own data.fs (ZODB) but shared one. Because of this, every object created/changed/removed on one ZEOClient is removed from shared ZODB therefore all ZEOClient see this. There is more things that can be done. You may for example define (in zope.conf) mount points for folders that are individual for each zope etc. -- Maciej Wisniowski
----- Original Message ----- From: "Maciej Wisniowski" <maciej.wisniowski@coig.katowice.pl> To: "ian" <ian@inpa.gov.br> Cc: <zope@zope.org> Sent: Tuesday, December 12, 2006 4:00 PM Subject: Re: [Zope] Zeo question
2. I can create a custom skin on each zope (in reality plone) instance right or is each zope instance is just a mirror of the other? Nope. It is something different. In general ZEO is about sharing ZODB (Zope Object Database) between few Zope instances. There is no mirroring but just one ZODB. ZODB is a place where all objects you have created through ZMI (Zope Management Interface) are hold.
Scripts and external methods can also create objects which are stored in the ZODB
When you have standard setup (one Zope instance) it has it's own ZODB (you may see this in <instance>/var/data.fs.
With ZEO you have ZEOServer that holds ZODB (data.fs file) and multiple ZEO Clients that are connecting to it. ZEOClient is a normal ZopeInstance that is not using it's own data.fs (ZODB) but shared one.
Each zope instance can access multiple ZODB's (as Maciej mentions later), which means that the zope instance can access both a shared zodb and a local zodb which is specific to the zope instance.
Because of this, every object created/changed/removed on one ZEOClient is removed from shared ZODB therefore all ZEOClient see this.
There is more things that can be done. You may for example define (in zope.conf) mount points for folders that are individual for each zope etc.
-- Maciej Wisniowski
You could store all objects in a shared zodb, even objects which are specific to a single zope instance (and control access via permissions, application logic, etc). And you can create objects in a local zodb (which would only be accessible by the local zope instance). Zope is very flexible! You just need to build a configuration which meets your use case! hth Jonathan
Ola, thx maciej and Jonathan...your answers have helped a lot
Each zope instance can access multiple ZODB's (as Maciej mentions later), which means that the zope instance can access both a shared zodb and a local zodb which is specific to the zope instance.
auaua...i didn't know that ;)...this is really cool. Now the inevitable question - 'Is there any documentation about how to set this up ?' Maybe I just define another <zodb_db> in my zope.conf and mount it into a folder like maciej said and just customize this folder. What i need to do is just create a custom skin on each zope instance to show that it is Manaus,Belem or wherever serving the information but have the same global content shown in each instance. From what you have said it seems this should be possible with a bit of tweaking
Zope is very flexible! You just need to build a configuration which meets your use case!
welcome to OSS, eh ! []'s -- Ian Lawrence http://ianlawrence.info Centre for Bioinformatics INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA RUA ANDRÉ ARAÚJO N º .2936 , BAIRRO DO ALEIXO MANAUS-AMAZONAS-BRAZIL Research Program in Biodiversity http://ppbio.inpa.gov.br PHONE: 055-92-3643-3358 CEP. 69011 -970 | Please do not send me documents in a closed | format.(*.doc,*.xls,*.ppt) | Use the open alternatives. (*.pdf,*.html,*.txt) http://www.gnu.org/philosophy/no-word-attachments.html
return [type for type in types if type not in types_to_exclude] If you can see the beauty, then Python got you
----- Original Message ----- From: "ian" <ian@inpa.gov.br> To: "Jonathan" <dev101@magma.ca> Cc: "Maciej Wisniowski" <maciej.wisniowski@coig.katowice.pl>; <zope@zope.org> Sent: Wednesday, December 13, 2006 7:51 AM Subject: Re: [Zope] Zeo question
Ola, thx maciej and Jonathan...your answers have helped a lot
Each zope instance can access multiple ZODB's (as Maciej mentions later), which means that the zope instance can access both a shared zodb and a local zodb which is specific to the zope instance.
auaua...i didn't know that ;)...this is really cool. Now the inevitable question - 'Is there any documentation about how to set this up ?' Maybe I just define another <zodb_db> in my zope.conf and mount it into a folder like maciej said and just customize this folder.
To set up multiple mount points you need to edit your zope.conf (to configure the various mount points), then you need to Add 'ZODB Mount Point' via the ZMI at the appropriate location (note: this is for zope 2.7+). You can google for 'zodb mount points' if you need more info.
What i need to do is just create a custom skin on each zope instance to show that it is Manaus,Belem or wherever serving the information but have the same global content shown in each instance. From what you have said it seems this should be possible with a bit of tweaking
You can easily do this by changing the 'display' routines on each zope instance. Another method I have used is to set up URL subdomains for each 'different' entry point and then use Apache rewriting to automagically redirect the user to the correct location within the zope instance (ie. a different folder for each subdomain) - this allows you to have each zope instance be a real 'copy' (and not have to maintain different versions), but it depends on your use case as to which method is most appropriate for you! Jonathan
Ola,
You can easily do this by changing the 'display' routines on each zope instance
I feel so stupid asking but what do you mean by this...i have googled but cannot find anything about 'zope display routines' ... Do you mean this: In the zope instances I can create a folder custom and place my customizations in there.. -- so I create logo_manaus.jpg for Manaus and this goes in the folder custom on the zope instance in Manaus and then i create logo_belem.jpg for Belem in the folder custom on the zope instance in Belem...and we live happily ever after ;) -- I think my problem is that i do not really understand what is stored in the ZODB...is it just content or is it content and configuration []'s -- Ian Lawrence http://ianlawrence.info Centre for Bioinformatics INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA RUA ANDRÉ ARAÚJO N º .2936 , BAIRRO DO ALEIXO MANAUS-AMAZONAS-BRAZIL Research Program in Biodiversity http://ppbio.inpa.gov.br PHONE: 055-92-3643-3358 CEP. 69011 -970 | Please do not send me documents in a closed | format.(*.doc,*.xls,*.ppt) | Use the open alternatives. (*.pdf,*.html,*.txt) http://www.gnu.org/philosophy/no-word-attachments.html
return [type for type in types if type not in types_to_exclude] If you can see the beauty, then Python got you
----- Original Message ----- From: "ian" <ian@inpa.gov.br> To: "Jonathan" <dev101@magma.ca> Cc: <zope@zope.org> Sent: Wednesday, December 13, 2006 4:26 PM Subject: Re: [Zope] Zeo question
Ola,
You can easily do this by changing the 'display' routines on each zope instance
I feel so stupid asking but what do you mean by this...i have googled but cannot find anything about 'zope display routines' ... Do you mean this: In the zope instances I can create a folder custom and place my customizations in there..
By 'display' routines I meant the page templates or dtml methods that you use to format your data/html.
-- so I create logo_manaus.jpg for Manaus and this goes in the folder custom on the zope instance in Manaus and then i create logo_belem.jpg for Belem in the folder custom on the zope instance in Belem...and we live happily ever after ;) --
I think my problem is that i do not really understand what is stored in the ZODB...is it just content or is it content and configuration []'s
You should have a read thru the zope book, i think this is the latest version: http://www.plope.com/Books/2_7Edition Jonathan
auaua...i didn't know that ;)...this is really cool. Now the inevitable question - 'Is there any documentation about how to set this up ?' http://www.zope.org/Wikis/ZODB/HowtoRunAZEOServer/howto.html http://plope.com/Books/2_7Edition/ZEO.stx
and one more interesting thing: http://longsleep.org/howto/sharesessionwithzeo/view -- Maciej Wisniowski
participants (3)
-
ian -
Jonathan -
Maciej Wisniowski