[Zope] Newbie Questions - many-many relationships? Zope 2 or 3?

Jim Vine jim_a_vine at yahoo.co.uk
Tue Jun 21 16:59:41 EDT 2005


Thanks to those who posted suggestions - certainly
gave me a few things to think about. Unfortunately I
was left with one "use Zope 2", one "use Zope 3" and a
"use Plone", but maybe that's just a reflection of the
fact that there's more than one Zope way to skin a
cat! (yeah, I know I've over-simplified the answers -
no offence is meant!)

On another thread
(http://mail.zope.org/pipermail/zope/2005-June/159738.html),
someone said:

"The problem is that you develop using the ZMI. It's a
bad pattern. Don't do it."

but the Zope Book (2.7 version)'s chapter on Creating
a Basic Application all seems to be through the ZMI.

Now, Zope's original appeal to me was using the
graphical interface provided by the ZMI to create a
collection of objects which if you wire them up
correctly will become an application, a view that I
think is supported by the Zope Book. However, this
view, and what I've read about Zope 3 seems to
indicate that this way of doing things is deprecated.
Am I correct here? Particularly, if I am building an
app that I think I will want to add extra
functionality to after it has been installed and is in
use, is this a particular reason to avoid developing
with ZMI?

Say, for example that my Zope App in some way has a
"House" object, which records the address, the owner,
and a short description. Later on, I may wish to add
further fields to record, say, the number of bedrooms,
but the system is already in use - if I've developed
in the ZMI, will this make it harder to make an
upgrade?

Now, if the answer to all of that is "yes", then I
think that steers me away from the need for TTW
development (TTW = Through The Web = ZMI, yes?) which
steers me towards Zope 3.

I'm interested by the suggestions on how to handle the
relations.

> Hmm, what I would start with is an attribute for a
> house containing a
> list of references to owners. And vice versa, each
> owner has a list of
> references to houses.

I had thought of this, but my concern was about how to
make sure that the two records are kept accurate -
basically the suggestion is to keep two records saying
the same thing, which just triggers alarm bells with
me.

Another suggestion was:

> Nah. You either let every PropertyOwner have a list
> of the ids of
> HouseProperty objects, or the other way around. Then
> you index this is
> the catalog so you can search. Tada!

I like the sound of this a bit better - just keep
records in one place. So, if I've followed, I let the
the house "knows" who owns it, and if I go to a
certain owner's page and want it to give me a list of
all the houses she owns, it would do a search through
all the house records to see where she's mentioned.

Thanks again for all the help so far - lots of food
for thought.

Thanks,
Jim

--- Andreas Pakulat <apaku at gmx.de> wrote:

> On 16.Jun 2005 - 23:17:43, Jim Vine wrote:
> > Specifically, I've been scratching my head for a
> while
> > about how to handle a many-many relationship: a
> > property owner may own more than one house;
> > conversely, a house may have more than one
> co-owner -
> > consequently it's not appropriate to have either
> > containing the other. I've googled for general
> > information about handling many-many relationships
> in
> > OO, and most of what I've come across has only
> > indicated that it can be tricky!
> 
> Hmm, what I would start with is an attribute for a
> house containing a
> list of references to owners. And vice versa, each
> owner has a list of
> references to houses. Now in Zope references could
> be implemented via
> storing the URL of the house and references to Users
> could be stored via
> the username (the one the user uses to log in). 
> 
> > While I’m on, I’ve noticed that Zope 3 has been
> > released. Is this now the recommended development
> > environment, or am I better off sticking with Zope
> 2
> > for now, and porting my application once Zope 3 is
> a
> > bit further down the line?
> 
> Read the archive, short answer is:
> 
> If you depend only on Zope, you don't want TTW and
> you want to write a
> file based product: Zope3 would be possible
> 
> If you need some existing products or if you need
> TTW-Code, then you
> have to stick to Zope2
> 
> Andreas
> 
> -- 
> You're ugly and your mother dresses you funny.
> _______________________________________________
> Zope maillist  -  Zope at zope.org
> http://mail.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope-dev )
> 



		
___________________________________________________________ 
How much free photo storage do you get? Store your holiday 
snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com


More information about the Zope mailing list