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@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@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