[Zope] Re: sessions/noundo dbs/mounting/exmount
Chris McDonough
chrism@digicool.com
Wed, 31 Jan 2001 11:17:58 -0500
> thanks for the prompt replies. to recap, i have
> -Berkeley DB
> -External Mount
> -something that i'm not too sure of :)
>
> as i see it, i can use External mount to mount berkeley Db. that will
then
> give me a nonundo, nonversioning db.. right?
Well, I know you're using ZEO with a FileStorage as your "main" storage, so
you'll need to mount a ClientStorage which talks to a ZEO server backed by a
nonundo db. The ZEO docs give some info about using a single ZEO server to
serve two databases (see the -S switch to the ZEO 'start' command).
So basically, you need do do something like:
Client Client Client
| | |
| | |
| | |
Zeo Storage Server
/ \
nonundostorage (mounted) filestorage (main)
Where all clients have a "main" database that is the ZSS' filestorage and
all clients additionally have a ClientStorage mounted (via exmount or
another way) that points to the ZSS' nonundo storage.
An alternate way is:
Client Client Client
| | |
| | |
| | |
Zeo Storage Server
|
|
nonundostorage (main)
In this case, all clients use a "main" database that is nonundoing, so you
can put the external data container right in there without worrying about
any mounting.
> if i use FileStorage with ExternalMount, it'll be just another ZODB. i
hope
> i'm right.
Yes.
> if i want to use it across ZEO Clients, i *must* use ZEO.ClientStorage.
> correct me if i'm wrong, please.
Yes.
> to test a simple setup, i tried FileStorage with External Mount. and i
> encountered a little problem. here's what i have
> -ExternalMount
> -External Method[1]
> when i tried adding an ExternalMount, i got this[2] traceback. help?
I think this exposes an error in Mount.py. :-( Is there anything in your
debug log?
>
> p/s - what about storing CoreSessionTracking data in RDB?
It's my hope that people will write session data managers that do just this.
The session tracking stuff is extensible. As a matter of fact, I don't
think it would be too hard to adapt the existing FSSession and SQLSession
products to be session data managers.
> --
> [1]
> ---ExtDB.py
>
> import ZODB
> from ZODB.FileStorage import FileStorage
>
> def createDB():
> return ZODB.DB(FileStorage('/home/kdie/Zope/var/ext.fs'))
> ----
> [2]
> <P><STRONG>NameError</STRONG></P>
>
> Sorry, a Zope error occurred.<p>
> <!--
> Traceback (innermost last):
> File /home/kdie/Zope/lib/python/ZPublisher/Publish.py, line 222, in
> publish_module
> File /home/kdie/Zope/lib/python/ZPublisher/Publish.py, line 187, in
publish
> File /home/kdie/Zope/lib/python/Zope/__init__.py, line 221, in
> zpublisher_exception_hook
> File /home/kdie/Zope/lib/python/ZPublisher/Publish.py, line 171, in
publish
> File /home/kdie/Zope/lib/python/ZPublisher/mapply.py, line 160, in
mapply
> (Object: manage_addExternalMount)
> File /home/kdie/Zope/lib/python/ZPublisher/Publish.py, line 112, in
> call_object
> (Object: manage_addExternalMount)
> File /home/kdie/Zope/lib/python/Products/ExternalMount/ExternalMount.py,
> line 112, in manage_addExternalMount
> (Object: ApplicationDefaultPermissions)
> File /home/kdie/Zope/lib/python/ZODB/Mount.py, line 279, in _test
> (Object: A)
> File /home/kdie/Zope/lib/python/ZODB/Mount.py, line 246, in
_getOrOpenObject
> (Object: A)
> NameError: mcc
>
> ----
>
> http://www.kedai.com.my/kk
> http://www.kedai.com.my/eZine
>
> as you woke this morning, and open up your eyes, did you notice the tear
> stains lining your face were mine..
>
>
> _______________________________________________
> Zope maillist - Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://lists.zope.org/mailman/listinfo/zope-announce
> http://lists.zope.org/mailman/listinfo/zope-dev )
>
>