Re: [Zope-ZEO] Zope 2.2.4 ZEO 0.4.1 (latest anyway) doesn't want to add Products
Shane Hathaway wrote:
Bill Anderson wrote:
On a related note, has anyone successfully made a mounted ZEOStorage thingum yet (mounted FileStorage for ZEO).
The Wikis folder on zope.org is now a ZEO mount. We have chosen to use the ExternalMount product we created internally. It calls an external method to open the storage and create the database. It has the flexibility advantages we need; for example it lets you move a .fs file from non-ZEO to ZEO and back without going through a long recataloging process.
Anyone interested in it?
Shane
Yes please.
We are also interested. =+ 'Yes Please' - Jason _________________________________________ Jason Cunliffe = Nomadics['Zmaps'].design
Jason Cunliffe wrote:
Shane Hathaway wrote:
Bill Anderson wrote:
On a related note, has anyone successfully made a mounted ZEOStorage thingum yet (mounted FileStorage for ZEO).
The Wikis folder on zope.org is now a ZEO mount. We have chosen to use the ExternalMount product we created internally. It calls an external method to open the storage and create the database. It has the flexibility advantages we need; for example it lets you move a .fs file from non-ZEO to ZEO and back without going through a long recataloging process.
Anyone interested in it?
Shane
Yes please.
We are also interested. =+ 'Yes Please'
Just packaged up. http://www.zope.org/Members/hathawsh/ExternalMount Shane
Shane Hathaway wrote: ...
The Wikis folder on zope.org is now a ZEO mount. We have chosen to use the ExternalMount product we created internally. It calls an external method to open the storage and create the database. It has the flexibility advantages we need; for example it lets you move a .fs file from non-ZEO to ZEO and back without going through a long recataloging process.
Anyone interested in it?
Shane
Yes please.
We are also interested. =+ 'Yes Please'
Just packaged up.
And there was almost much rejoicing. It doesn't seme to want to mount the root of a Data.fs, at least according to the add form. Is this by design? Were there problems with mounting the root of a Data.fs, or is it just a limitation of the add form? Bill Anderson
On Mon, 4 Dec 2000, Bill Anderson wrote:
Shane Hathaway wrote:
Just packaged up.
And there was almost much rejoicing. It doesn't seme to want to mount the root of a Data.fs, at least according to the add form. Is this by design? Were there problems with mounting the root of a Data.fs, or is it just a limitation of the add form?
It is by design. If you were to mount the root of a Data.fs, you'd be mounting an Application object with no ID. This would play havoc with the pseudo-filesystem. The correct solution is to make it so folder objects do not contain their own ID (but rather determined by the parent folder) and make Application objects go away, replacing them with simple Folder objects. Shane
Shane Hathaway wrote:
On Mon, 4 Dec 2000, Bill Anderson wrote:
Shane Hathaway wrote:
Just packaged up.
And there was almost much rejoicing. It doesn't seme to want to mount the root of a Data.fs, at least according to the add form. Is this by design? Were there problems with mounting the root of a Data.fs, or is it just a limitation of the add form?
It is by design. If you were to mount the root of a Data.fs, you'd be mounting an Application object with no ID. This would play havoc with the pseudo-filesystem.
The correct solution is to make it so folder objects do not contain their own ID (but rather determined by the parent folder) and make Application objects go away, replacing them with simple Folder objects.
Shane
So, what would you suggest for the following scenario? o Site distirbuted via ZEO o Using SiteAccess2 for virtual hosting sites under /vhosts/thissite /vhosts/thatsite o each site is actually it's own full Data.fs Under non-zeo, it's simple, use a mounted filestorage, and it works quite well. Unfortunately, it doesn't work under zeo, for obvious reasons. If I had time, I'd do a mountedZEOstorage, but time is too much a precious commodity for the next few weeks/months. :/ Bill
On Tue, 5 Dec 2000, Bill Anderson wrote:
So, what would you suggest for the following scenario?
o Site distirbuted via ZEO o Using SiteAccess2 for virtual hosting sites under /vhosts/thissite /vhosts/thatsite o each site is actually it's own full Data.fs
Under non-zeo, it's simple, use a mounted filestorage, and it works quite well. Unfortunately, it doesn't work under zeo, for obvious reasons. If I had time, I'd do a mountedZEOstorage, but time is too much a precious commodity for the next few weeks/months. :/
What do you mean it doesn't work under ZEO? Set it up just like zope.org. Either create two storage servers or one that provides access to both FileStorages. Then write an external method for each storage, each of which creates a ClientStorage and wraps a DB around it. Then mount those external methods. Thus you don't even need to write MountedZEOStorage. Shane
Shane Hathaway wrote:
On Tue, 5 Dec 2000, Bill Anderson wrote:
So, what would you suggest for the following scenario?
o Site distirbuted via ZEO o Using SiteAccess2 for virtual hosting sites under /vhosts/thissite /vhosts/thatsite o each site is actually it's own full Data.fs
Under non-zeo, it's simple, use a mounted filestorage, and it works quite well. Unfortunately, it doesn't work under zeo, for obvious reasons. If I had time, I'd do a mountedZEOstorage, but time is too much a precious commodity for the next few weeks/months. :/
What do you mean it doesn't work under ZEO? Set it up just like zope.org.
Simple: I have a site running on it's own right now. It is based right of of the root of the data.fs, not under a folder (like a wiki is). If I try the externalmount you tarred up for us (thank you, btw), it insist on having a path inside said data.fs. If I give it a folder in said data.fs it works for that folder, as expected.
Either create two storage servers or one that provides access to both FileStorages. Then write an external method for each storage, each of which creates a ClientStorage and wraps a DB around it.
How do I do this part? I made one for FileStorage (the example given), which works fine. Substituting ClientStorage for FileStorage didn;t work. ;) ...mebbe I've just been too deep in scsi code lately to think properly ... ugh.
Then mount those external methods. Thus you don't even need to write MountedZEOStorage.
That would be a boon. :)
Bill Anderson wrote:
Shane Hathaway wrote:
On Tue, 5 Dec 2000, Bill Anderson wrote:
So, what would you suggest for the following scenario?
o Site distirbuted via ZEO o Using SiteAccess2 for virtual hosting sites under /vhosts/thissite /vhosts/thatsite o each site is actually it's own full Data.fs
Under non-zeo, it's simple, use a mounted filestorage, and it works quite well. Unfortunately, it doesn't work under zeo, for obvious reasons. If I had time, I'd do a mountedZEOstorage, but time is too much a precious commodity for the next few weeks/months. :/
What do you mean it doesn't work under ZEO? Set it up just like zope.org.
Simple: I have a site running on it's own right now. It is based right of of the root of the data.fs, not under a folder (like a wiki is). If I try the externalmount you tarred up for us (thank you, btw), it insist on having a path inside said data.fs. If I give it a folder in said data.fs it works for that folder, as expected.
MountedFileStorage lets you mount the root of the database through a very "iffy" scheme that I don't think could be made reliable. I'm sure there's a right way to do it, but I think for now your best option is to create a folder in the database you intend to mount, then move all content into that folder. That's how Wikis.fs is mounted.
Either create two storage servers or one that provides access to both FileStorages. Then write an external method for each storage, each of which creates a ClientStorage and wraps a DB around it.
How do I do this part? I made one for FileStorage (the example given), which works fine. Substituting ClientStorage for FileStorage didn;t work. ;)
Here's our external method: ------- 8-< --------- # Define the Wiki database mounted database import ZServer, ZODB, ZEO.ClientStorage def wikidb(): Storage=ZEO.ClientStorage.ClientStorage( ('10.0.11.1',2222), cache_size=50*1000*1000, max_disconnect_poll=40, min_disconnect_poll=1, storage='Wikis', ) return ZODB.DB(Storage) ------- 8-< ---------
...mebbe I've just been too deep in scsi code lately to think properly ... ugh.
Been hacking kernels lately? There's no hacking like kernel hacking. Bare metal. Oh yeah. :-) Shane
Shane Hathaway wrote:
Bill Anderson wrote:
Shane Hathaway wrote:
On Tue, 5 Dec 2000, Bill Anderson wrote:
So, what would you suggest for the following scenario?
o Site distirbuted via ZEO o Using SiteAccess2 for virtual hosting sites under /vhosts/thissite /vhosts/thatsite o each site is actually it's own full Data.fs
Under non-zeo, it's simple, use a mounted filestorage, and it works quite well. Unfortunately, it doesn't work under zeo, for obvious reasons. If I had time, I'd do a mountedZEOstorage, but time is too much a precious commodity for the next few weeks/months. :/
What do you mean it doesn't work under ZEO? Set it up just like zope.org.
Simple: I have a site running on it's own right now. It is based right of of the root of the data.fs, not under a folder (like a wiki is). If I try the externalmount you tarred up for us (thank you, btw), it insist on having a path inside said data.fs. If I give it a folder in said data.fs it works for that folder, as expected.
MountedFileStorage lets you mount the root of the database through a very "iffy" scheme that I don't think could be made reliable. I'm sure there's a right way to do it, but I think for now your best option is to create a folder in the database you intend to mount, then move all content into that folder. That's how Wikis.fs is mounted.
OK, I suppose I can live with that for now ... though i do have a question abou tit. Packing a database. in one of the cases I am considering, I am wanting to seperate the sub-site into a seperate DB because this subsite will likely contain many objects, and many changes to those objects. At the moment, they are being developed using ZPatters, so if needs be I can change the storage in the future (mmmm Zpatterns gooood). If I pack from the main site, does the 'mounted' folder also get packed, or will i need to do that seperately somehow? If seperate, how does one do that?
Either create two storage servers or one that provides access to both FileStorages. Then write an external method for each storage, each of which creates a ClientStorage and wraps a DB around it.
How do I do this part? I made one for FileStorage (the example given), which works fine. Substituting ClientStorage for FileStorage didn;t work. ;)
Here's our external method:
------- 8-< ---------
# Define the Wiki database mounted database import ZServer, ZODB, ZEO.ClientStorage
def wikidb(): Storage=ZEO.ClientStorage.ClientStorage( ('10.0.11.1',2222), cache_size=50*1000*1000, max_disconnect_poll=40, min_disconnect_poll=1, storage='Wikis', ) return ZODB.DB(Storage)
------- 8-< ---------
Thanks, I'll get to this in the next day or so. I am currently setting everything up to use sockets, so I imagine it shouldn't be to hard to convert, just change the options passed, no? :)
...mebbe I've just been too deep in scsi code lately to think properly ... ugh.
Been hacking kernels lately? There's no hacking like kernel hacking. Bare metal. Oh yeah. :-)
Yup, in fact I think we fixed a somewhat serious FC bug ... I hope.
participants (3)
-
Bill Anderson -
Jason Cunliffe -
Shane Hathaway