Skip to Content.
Sympa Menu

pcplantdb - Re: [pcplantdb] Hey Richard Morris!

pcplantdb@lists.ibiblio.org

Subject: pcplantdb

List archive

Chronological Thread  
  • From: John Schinnerer <john@eco-living.net>
  • To: pcplantdb@lists.ibiblio.org
  • Subject: Re: [pcplantdb] Hey Richard Morris!
  • Date: Sat, 28 Aug 2004 15:36:38 +0000

Aloha,

Richard Morris wrote:

4) Find another host which can provide Zope.
We would lose data this way!

How so?
None of the data on ibiblio (or anywhere else) is currently in our product, 'cause our product doesn't exist yet.
It's all gonna hafta get input from somewhere 'outside' it sooner or later.

As to Zope itself, kind of mixed fealings.
Yes its a lot of good features which can make some development
easy.
But don't have a really clear idea as to how the plant db
side could really integrate into it. Where does a plant object
live in the Zope system?

In the ZODB.
When you create a python product that provides a class for e.g. plant objects, then each time you create an instance it persists in the ZODB. There's not much explicit in the usual docs about it because it just happens - zope python products automatically use the ZODB for persistence of objects that they create (e.g. that you create using them, programmatically or manually or some combination).

> I can see a lot of tricky work
needed to get it running: defining specialised container classes,

What are you thinking of more specifically?

creating lots of ZCatalogues.

One catalog will usually do, though one can have as many as one wants. Catalog simultaneously indexes multiple types of objects, and queries can return result information ('result objects') from multiple types of stored objects.

Problems with needing to stop
the server if we want to modify a python class.

There's a "live refresh" function for products since a few 2.x versions back. Changes can be made to a product and the product "refreshed" (re-initialized, essentially - goes and sees what's changed and re-inits any changed files etc.) without stopping the server.
I know this works, I've been thrashing it for months now... :-/

Only need to restart when a brand new product is added ('cause can't refresh it when it isn't in the product container yet...).

Need to
get very deep into the documentation if you really want to
do anything unusual. How much would we need to modify
ZWiki/Squishdot to make it work seamlessly with our system.

If they are useful as-is, nothing - just install the product and start using it.
If we wanted to customize their functionality, features, etc., then whatever that takes - same as with any wiki or blog or whatever on any platform. It either works for us as-is or needs customization, which in any case would entail some digging and learning and hacking and so on.

Not 100% sure if zope is really the best object database
out there (some places I've looked, show it as only an
application server and don't list it as an object db).

That's usually because they don't grok that Zope as a whole includes an object database integrated into it.
ZODB (Z Object Database) you can look up separately from Zope and see what the buzz is. Don't know how many people out there are actually using it separately from Zope, but it is usable separately. Basically it's an ODB that provides persistence for python objects, with a fair amount of bells and whistles.

It seems quite tied to using a strong hierarchacal tree
structure for refereing to objects.

Since it's a web app server, that's one of the beauties of it from web publishing perspective - URL == object reference. That's on the web publishing side of the entity, that is.
From a python products perspective, python code in a product references other python stuff (libraries or custom modules or whatever) in the usual way - import needed modules and then reference with dot notation - foo.bar.coolmethod() and so on.

Ramble, ramble

No worries - good questions. I get your concerns about a ton 'o new stuff to learn. For me it's definitely been worth it (and I still keep bumping into near-vert section of learning curves... :-o)



--

John Schinnerer - MA, Whole Systems Design
------------------------------------------
- Eco-Living -
Whole Systems Design Services
People - Place - Learning - Integration
john@eco-living.net
http://eco-living.net





Archive powered by MHonArc 2.6.24.

Top of Page