[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 Im on, Ive 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