Skip to Content.
Sympa Menu

pcplantdb - Re: [pcplantdb] [synthesis][10][8.15.04]

pcplantdb@lists.ibiblio.org

Subject: pcplantdb

List archive

Chronological Thread  
  • From: Richard Morris <webmaster@pfaf.org>
  • To: pcplantdb@lists.ibiblio.org
  • Subject: Re: [pcplantdb] [synthesis][10][8.15.04]
  • Date: Wed, 18 Aug 2004 11:49:24 +0100

Chad Knepp wrote:
Richard Morris writes:
> Lawrence F. London, Jr. wrote:
> > Does this mean that he only wiki you can run in a Zope
> > environment is one written in Zope, i.e. Zwiki or some other. Or
> > does it allow wiki apps that need a mysql database and php to
> > access those libraries on some other server, i.e. on some other
> > ibiblio machine where those apps are available globally?
> > > > I assume that in a Zope environment you can only run apps written
> > in Zope therefore you are limited to what's currently available.
> > Too me this is really an important question. How easy would it be
> to integrate a non zope thing with zope.

How easy is it to integrate any given platform with any other. For
example how hard is it to integrate php cgis and perl cgis? Zope has
adapters to allow php and perl within a Zope context. If this is
really important to you then you obviously want to use Zope.
If we don't use Zope are you thinking that we would be using PHP? My
commitment to using python for this project is close to a blocking
level issue. If we use a python/RDBMS solution I am not at all sure
php would integrate with this easily. Were you thinking you would
learn python then?

No problem with learning python.

> Yes we can have different products running, but we could end up with
> having different ports for different parts, say
> http://permaculture.info/ - for non zope bits
> http://permaculture.info:8080/ - for zope bits
> (unless of course we go for an apache plug in and the sysadmins allow it).

Why? The URL structure would allow for this. Example:
permaculture.info/eden to access the old Eden engine,
permaculture.info/pfaf to access PFAF, permaculture.info/hg, etc. and
permaculture.info to be whatever the default is. 'mod_rewrite' is
pretty much a standard part of Apache anyway.

Because as Zope comes out of the box, it runs on a different port to
apache. Port 8000 - apache port 8080 - Zope.
mod_rewrite is a way round problem (might make things a bit slower?)

> Also theres integration under the hood, how easy is it to pull things
> from the Z-ODB from outside. I believe people have posted stuff
> on how to do this from python. But will it limit developers to using > python in the future.

I don't really understand where you're going here, but I can't see the
limitation. As I said above Zope provides adapters for php and perl
development. Moving the dataset to an RDBMS would require and object
relational mapper. Such tools do exist although they are designed
more for using an RDBMS while retaining an object model more so than
transferring an existing dataset to an RDBMS.

Do you have details of these adapters

> That is one advantage of sticking to MySQL for the plant database, > interms that basically every language can communicate relativly > painlessly with it.

As I've said before Zope can talk to any RDBMS as well.

Richard have you really thought about the kind of database schema it
would require to implement relationships the way we have been talking
about? If you really think that MySQL is the way to go we can always
use it as the database instead of ZODB. I personally think this is a
completely lossy idea.

Yes one table does it (object version rather similar)

Table relationships
Fields
source - id for source object
target - id for target object
linktype - describes the exact nature of the link
"Guild member" "pest"
metadata - who submitted it etc.

I've done something like this with the "White Oak Plant Guild page"
http://www.ibiblio.org/pfaf/pcplantdb/showthing.php?BOTNAME=White+Oak%2FHazelnut+community
The parentchild table is used to encode these relationships.

There may actually been some benifit in following the structure of the XML XLink spec which is used to describe some very general and flexiable linking structure.

What we might need is some universal nameing structure so with a single
id we can point to any item in the system.

In an OO system
if all resources are sub classes of a single base class Say HGBaseClass then id's are simple a reference to an object of this type.

In a RDBM system then there is probably a need for a master table

Table: MasterReferences
MasterID - global id
ResourceType - is this a wiki page, plant db page, photo etc.
ResourceSpecificID - more specific id for that particular resource

One benifit of URL's is that the do provide this global namespace idea.

bing bong

R







Archive powered by MHonArc 2.6.24.

Top of Page