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

2005-07-02 Thread Jim Vine
Hi,

I hope it's not considered "bad form" to answer ones
own questions on this board, but I think I've got it
sussed.

Reading through the ZWiki source from
http://svn.zope.org I noticed the following line in
the implementations:

from zope.app.container.contained import Contained 

I added this to mine, and it has cleared up the error
a treat.

Thanks,
Jim

PS - In scrabling around the net trying to solve this
I read somewhere (I think it was a Python Tutorial)
the following advice:

"Use the source" (Luke...)

I can strongly recommend to any other newbies looking
for examples to take a look at to try out ZWiki - it's
got a reasonably small number of interfaces and
classes, so you can get your head around it, and it
covers useful things like containment.

--- Jim Vine <[EMAIL PROTECTED]> wrote:

> Hello again,
> 
> So, following the recommendations from the board I
> have settled on "route 3" - developing a Python
> Product, using Zope 3. I've been refering a lot to
> the
> Zope 3 Book (particularly chapter 13 onwards) and
> have
> progressed somewhat.
> 
> I've created a "PropertyFolder" class, which can
> hold
> Property obects, and following the example in the
> book
> I've been able to make it hold *only* Property
> objects.
> 
> My "Property" class is proving a little more
> difficult, however. When I've tried to make it along
> the same lines as the "message" class in the book, I
> run into difficulties - it seems to be some sort of
> problem with inheriting from multiple classes /
> interfaces. My workaround has been that I can
> include
> my __setitem__.precondition within the main
> IProperty
> interface, and make that subclass from IContainer
> instead of Interface. This works for me, because I'm
> not going to want Property objects to contain other
> Property objects, but I really haven't been able to
> track down why it should work for the message board,
> but not for my classes / interfaces. The errors I
> was
> getting before my work around seemed to be
> indicating
> that it wasn't a container, although I was
> subclassing
> BTreeContainer, and implementing three interfaces
> (one
> and Interface, one and IContained, and one
> IContainer).  Mostly this presented itself as Zope
> complaining about using __len__ on the object. (As I
> say, I have worked around this, and mention it
> mostly
> in case it sheds any light on the issue below...)
> 
> My current problem, however, is proving harder to
> work
> around. I want my Property objects to be able to
> contain Images, and sets of attributes. (A typical
> set
> of attributes would describe what is in the
> kitchen).
> I have created interfaces IAttribSet(Interface),
> IAttribSetContainer(IContainer) and
> IAttribSetKitchen(IAttribSet); and classes AttribSet
> (implements IAttribSet and IAttribSetContained) and
> AttribSetKitchen (implements IAttribSetKitchen). I
> am
> using IAttribSetContained to create a __parent__
> ContainerTypesConstraint. I have wired up the
> kitchen
> attrib set in .zcml files.
> 
> When I 'turn off' implementing IAttribSetContained,
> my
> kitchen attrib set is working fine, in that I can
> add
> it anywhere, and edit it. However, when I try to add
> a
> condition saying where it can go (i.e. I only want
> it
> to be within Property objects) it correctly only
> appears as an Add-menu item within Property objects,
> but on adding it, I get an error, saying
> "AttribSetKitchen instance has no attribute
> '__parent__'". My Property and PropertyFolder
> objects
> are implemented as BTreeContainers.
> 
> I'm really quite stumped by this, so I would
> appreciate any guidance that could be provided on
> tracking down the source of the errors.
> 
> Thanks,
> Jim
> 
> 
> 
> --- Lennart Regebro <[EMAIL PROTECTED]> wrote:
> 
> > On 6/22/05, Jim Vine <[EMAIL PROTECTED]>
> wrote:
> > > I think I've convinced myself that the
> complexity
> > of
> > > my app takes it beyond method 1, but I'm
> strugling
> > to
> > > get my head around the implications of selecting
> > > method 2 or 3. Am I right in thinking that
> either
> > of
> > > these will result in my building a "Product"? 
> > 
> > Yes.
> > 
> > > If I
> > > want to add extra feature to my product on the
> > > development server and then port them to the
> live
> > > server (with all the data on the live server
> being
> > > left in tact), will selection of either of these
> > > particularly help or hinder me in this?
> > 
> > I don't know, because when I tried 2., it turned
> out
> > to be quite
> > complicated, and I never understood how to do it.
> So
> > I did 3. And
> > afterwards I have realized that even if you do
> > understand how to do 2,
> > the fact that you do most of your stuff in the
> > restricted python
> > scripts and dtml or ZPT, means that you have tons
> of
> > limitations to go
> > around.
> > 
> > In addition to that, you can't easily use any
> proper
> > editors to edit
> > the code, which is very annoying.
> > 
> > Method 2 (aka ZClasses) simply see

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

2005-07-01 Thread Jim Vine
Hello again,

So, following the recommendations from the board I
have settled on "route 3" - developing a Python
Product, using Zope 3. I've been refering a lot to the
Zope 3 Book (particularly chapter 13 onwards) and have
progressed somewhat.

I've created a "PropertyFolder" class, which can hold
Property obects, and following the example in the book
I've been able to make it hold *only* Property
objects.

My "Property" class is proving a little more
difficult, however. When I've tried to make it along
the same lines as the "message" class in the book, I
run into difficulties - it seems to be some sort of
problem with inheriting from multiple classes /
interfaces. My workaround has been that I can include
my __setitem__.precondition within the main IProperty
interface, and make that subclass from IContainer
instead of Interface. This works for me, because I'm
not going to want Property objects to contain other
Property objects, but I really haven't been able to
track down why it should work for the message board,
but not for my classes / interfaces. The errors I was
getting before my work around seemed to be indicating
that it wasn't a container, although I was subclassing
BTreeContainer, and implementing three interfaces (one
and Interface, one and IContained, and one
IContainer).  Mostly this presented itself as Zope
complaining about using __len__ on the object. (As I
say, I have worked around this, and mention it mostly
in case it sheds any light on the issue below...)

My current problem, however, is proving harder to work
around. I want my Property objects to be able to
contain Images, and sets of attributes. (A typical set
of attributes would describe what is in the kitchen).
I have created interfaces IAttribSet(Interface),
IAttribSetContainer(IContainer) and
IAttribSetKitchen(IAttribSet); and classes AttribSet
(implements IAttribSet and IAttribSetContained) and
AttribSetKitchen (implements IAttribSetKitchen). I am
using IAttribSetContained to create a __parent__
ContainerTypesConstraint. I have wired up the kitchen
attrib set in .zcml files.

When I 'turn off' implementing IAttribSetContained, my
kitchen attrib set is working fine, in that I can add
it anywhere, and edit it. However, when I try to add a
condition saying where it can go (i.e. I only want it
to be within Property objects) it correctly only
appears as an Add-menu item within Property objects,
but on adding it, I get an error, saying
"AttribSetKitchen instance has no attribute
'__parent__'". My Property and PropertyFolder objects
are implemented as BTreeContainers.

I'm really quite stumped by this, so I would
appreciate any guidance that could be provided on
tracking down the source of the errors.

Thanks,
Jim



--- Lennart Regebro <[EMAIL PROTECTED]> wrote:

> On 6/22/05, Jim Vine <[EMAIL PROTECTED]> wrote:
> > I think I've convinced myself that the complexity
> of
> > my app takes it beyond method 1, but I'm strugling
> to
> > get my head around the implications of selecting
> > method 2 or 3. Am I right in thinking that either
> of
> > these will result in my building a "Product"? 
> 
> Yes.
> 
> > If I
> > want to add extra feature to my product on the
> > development server and then port them to the live
> > server (with all the data on the live server being
> > left in tact), will selection of either of these
> > particularly help or hinder me in this?
> 
> I don't know, because when I tried 2., it turned out
> to be quite
> complicated, and I never understood how to do it. So
> I did 3. And
> afterwards I have realized that even if you do
> understand how to do 2,
> the fact that you do most of your stuff in the
> restricted python
> scripts and dtml or ZPT, means that you have tons of
> limitations to go
> around.
> 
> In addition to that, you can't easily use any proper
> editors to edit
> the code, which is very annoying.
> 
> Method 2 (aka ZClasses) simply seem to offer exactly
> zero benefits,
> and loads of drawbacks.
> 
> Also, as mentioned earlier, unless you want to build
> your application
> on top of one of the Zope2 content management
> systems around (CPS,
> Plone, Silva, ...) you probably want too use Zope3
> for your
> application development anyway. And then only method
> 3 (disk based
> development) is available.
> 
> -- 
> Lennart Regebro, Nuxeo http://www.nuxeo.com/
> CPS Content Management
> http://www.cps-project.org/
> ___
> 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
___
Zope maillist  -  Zope@zope.org
http:/

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

2005-06-22 Thread Andreas Pakulat
On 22.Jun 2005 - 09:52:23, Paul Winkler wrote:
> On Wed, Jun 22, 2005 at 02:02:30PM +0200, Andreas Pakulat wrote:
> > No, method 2 aka ZClasses don't involve producing a Product. 
> 
> Sure it does.  A ZClass-based Product is still a Product.

Can't remember to have created a product, but then this was 2years
ago... 

Andreas

-- 
Exercise caution in your daily affairs.
___
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 )


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

2005-06-22 Thread Paul Winkler
On Wed, Jun 22, 2005 at 02:02:30PM +0200, Andreas Pakulat wrote:
> No, method 2 aka ZClasses don't involve producing a Product. 

Sure it does.  A ZClass-based Product is still a Product.

As for why I don't use ZClasses:

1) Doing everything in "restricted" mode is a big pain.
You end up writing a bunch of external methods anyway.

2) Source code version control is mandatory, and ZClasses make it nearly 
impossible.

-- 

Paul Winkler
http://www.slinkp.com
___
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 )


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

2005-06-22 Thread Andreas Pakulat
On 22.Jun 2005 - 12:04:02, Jim Vine wrote:
> > On 21.Jun 2005 - 21:59:41, Jim Vine wrote:
> > > 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?
> > 
> > Such a change might not be a problem using ZMI, as
> > you can freely add
> > properties to any object. You'd have to supply the
> > data for all existing
> > objects though (but you'd need to do that when using
> > a product too).
> > 
> 
> OK, so there are (at least) three ways of doing things
> in Zope:
> 
> 1. Using the ZMI to build an application using
> standard objects (classes)
> 2. Creating new classes to use in your app through the
> ZMI.
> 3. Creating new classes to use in your app in Python.
> 
> Most of the Zope Book concentrates on method 1, and
> the "Extending Zope" chapter is about method 2 - it
> mentions method 3, but says that it's beyond the scope
> of the book.

See the Zope Developers Guide for a first glance at method 3.

> get my head around the implications of selecting
> method 2 or 3. Am I right in thinking that either of
> these will result in my building a "Product"?

No, method 2 aka ZClasses don't involve producing a Product. But there
were issues in the past with ZClasses AFAIK. So it might be better to
stay away from them. On the other hand quite a bunch of people reading
here are using them for their apps...

> If I want to add extra feature to my product on the development server
> and then port them to the live server (with all the data on the live
> server being left in tact), will selection of either of these
> particularly help or hinder me in this?

Hmm, my knowlegde of ZClasses is somewhat limited (as I found writing a
pyhton product easier - but then I am a programmer...), so I can only
tell you what product based apps have there. Adding new class members is
easy and running instances catch those up. Adding new properties in such
a class works too. Changing the name of properties isn't that easy,
you'd have to write a conversion function or script that runs over all
the instances and takes the value of the old property and put's it into
the new name. Adding an instance variable will also not influence your
existing instances. 

Andreas

-- 
It's a very *__UN*lucky week in which to be took dead.
-- Churchy La Femme
___
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 )


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

2005-06-22 Thread Philip Kilner
Hi Jim,

Jim Vine wrote:
> I’d greatly appreciate any guidance that can be
> provided on these subjects.
> 

I know a lot has been said since your original query, but re-reading it
I was surprised that no one had asked a fundamental question: -

"If the data is structured in nature and fits the relational model well
(e.g. is well defined), why not use an RDBMS for the data, and
Zope/Plone for the UI?

I do full-time development of web-based RDBMS applications in Zope and
Plone (MS SQL and Firebird), and I have the following observations: -

- By putting database-related complexity in the database, where it
belongs IMHO, you may find (as I have) that the complexity of what you
need to accomplish in Zope is reduced to the point where the ZMI
approach is entirely appropriate.

- You will find yourself working very hard to implement a relational
database in the ZODB, compared to interfacing to an RDBMS. If you need
one, I'd use one - instead of writing one! ;-)

YMMV and all that - I /am/ an RDBMS zealot (see Fabian Pascal's writing
for the mindset!), and I am /not/ a Python wizard (although my Python-Fu
grows stronger by the day due to immersion in Zope...), so my choice of
approach was strongly influenced by my starting point.


-- 

Regards,

PhilK

Email: [EMAIL PROTECTED]
PGP Public key: http://www.xfr.co.uk
Voicemail & Facsimile: 07092 070518

"You'll find that one part's sweet and one part's tart:
say where the sweetness and the sourness start."
- Tony Harrison
___
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 )


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

2005-06-22 Thread Lennart Regebro
On 6/22/05, Jim Vine <[EMAIL PROTECTED]> wrote:
> I think I've convinced myself that the complexity of
> my app takes it beyond method 1, but I'm strugling to
> get my head around the implications of selecting
> method 2 or 3. Am I right in thinking that either of
> these will result in my building a "Product"? 

Yes.

> If I
> want to add extra feature to my product on the
> development server and then port them to the live
> server (with all the data on the live server being
> left in tact), will selection of either of these
> particularly help or hinder me in this?

I don't know, because when I tried 2., it turned out to be quite
complicated, and I never understood how to do it. So I did 3. And
afterwards I have realized that even if you do understand how to do 2,
the fact that you do most of your stuff in the restricted python
scripts and dtml or ZPT, means that you have tons of limitations to go
around.

In addition to that, you can't easily use any proper editors to edit
the code, which is very annoying.

Method 2 (aka ZClasses) simply seem to offer exactly zero benefits,
and loads of drawbacks.

Also, as mentioned earlier, unless you want to build your application
on top of one of the Zope2 content management systems around (CPS,
Plone, Silva, ...) you probably want too use Zope3 for your
application development anyway. And then only method 3 (disk based
development) is available.

-- 
Lennart Regebro, Nuxeo http://www.nuxeo.com/
CPS Content Management http://www.cps-project.org/
___
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 )


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

2005-06-22 Thread Jim Vine
> On 21.Jun 2005 - 21:59:41, Jim Vine wrote:
> > 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?
> 
> Such a change might not be a problem using ZMI, as
> you can freely add
> properties to any object. You'd have to supply the
> data for all existing
> objects though (but you'd need to do that when using
> a product too).
> 

OK, so there are (at least) three ways of doing things
in Zope:

1. Using the ZMI to build an application using
standard objects (classes)
2. Creating new classes to use in your app through the
ZMI.
3. Creating new classes to use in your app in Python.

Most of the Zope Book concentrates on method 1, and
the "Extending Zope" chapter is about method 2 - it
mentions method 3, but says that it's beyond the scope
of the book.

I think I've convinced myself that the complexity of
my app takes it beyond method 1, but I'm strugling to
get my head around the implications of selecting
method 2 or 3. Am I right in thinking that either of
these will result in my building a "Product"? If I
want to add extra feature to my product on the
development server and then port them to the live
server (with all the data on the live server being
left in tact), will selection of either of these
particularly help or hinder me in this?

Apologies for asking so many questions, and thanks to
those who have helped so far. I guess I'm just keen to
start from the right place at the beginning, so save
myself headaches further down the line.

Thanks,
Jim





___ 
Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail 
http://uk.messenger.yahoo.com
___
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 )


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

2005-06-22 Thread Lennart Regebro
On 6/21/05, Jim Vine <[EMAIL PROTECTED]> wrote:
> but the Zope Book (2.7 version)'s chapter on Creating
> a Basic Application all seems to be through the ZMI.

Unfortunately is the correct word there.

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

Yeah, me too. Turns out it's not such a hot idea after all. :)
Disk-based products is the way to go (often just called packages in
Zope3).

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

Yes, that's a good reason to avoid it, because upgrading becomes
problematic. Normally you want one development site and one production
site, and you want to develop the code on the development site and
then move it to the production site. But when the code and the site is
the same, this becomes trickier.

> 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?)

Yup.

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

Yup.

-- 
Lennart Regebro, Nuxeo http://www.nuxeo.com/
CPS Content Management http://www.cps-project.org/
___
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 )


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

2005-06-21 Thread Andreas Pakulat
On 21.Jun 2005 - 21:59:41, Jim Vine wrote:
> 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?

Such a change might not be a problem using ZMI, as you can freely add
properties to any object. You'd have to supply the data for all existing
objects though (but you'd need to do that when using a product too).

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

Yes, it should have triggered mine too, as I wouldn't do that in my own
apps

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

It is.

Andreas

-- 
You will inherit millions of dollars.
___
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 )


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

2005-06-21 Thread Jim Vine
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 <[EMAIL PROTECTED]> 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@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
___
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/listinf

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

2005-06-16 Thread Andreas Pakulat
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@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 )


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

2005-06-16 Thread Lennart Regebro
On 6/17/05, Jim Vine <[EMAIL PROTECTED]> wrote:
> I'm very interested in the Object Oriented way of
> doing things; for example, I'm thinking about
> implementing houses as a folder-ish object, so it
> would be able to contain photos of the house in
> question. The biggest stumbling block I am facing is
> how to do something "Relational" in an OO environment.
> 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!

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!

> Having a look through past threads on this mailing
> list I've noticed a few references to mxmRelations
> (http://www.zope.org/Members/maxm/products/mxmRelations)
> which seems to match up - have I got the right end of
> the stick? 

Relation products often are aimed at making arbitrary relations
between different objects. it's cool, and useful. It may be overkill
in this case, unless you want to for example have different types of
owners. Then it fits perfectly.

http://zemantic.org/ Is the relations tool that seems to emerge as the
preferred one in the zope3 environment.

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

For applications development, zope3 is definitely recommended. Zope2
is only recommended if you you want to use a CMS application, like
Plone, CPS, or something else. There isn't one for zope3 yet.

-- 
Lennart Regebro, Nuxeo http://www.nuxeo.com/
CPS Content Management http://www.cps-project.org/
___
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 )


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

2005-06-16 Thread Jim Vine
Database Question


Hello,

I'm a newbie, so this is a newbie question!

I am currently preparing to build a web application
for property lettings, and I'm very interested in what
Zope has to offer. The application will need to
recognise a number of different objects, such as
"houses", "prospective tenants" and "property owners"
(the latter of which I may implement as user types,
which would allow these people to log in and amend
some of their own information.)

I'm very interested in the Object Oriented way of
doing things; for example, I'm thinking about
implementing houses as a folder-ish object, so it
would be able to contain photos of the house in
question. The biggest stumbling block I am facing is
how to do something "Relational" in an OO environment.
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!

Having a look through past threads on this mailing
list I've noticed a few references to mxmRelations
(http://www.zope.org/Members/maxm/products/mxmRelations)
which seems to match up - have I got the right end of
the stick? Before I jump in with this I'd appreciate
any advice or guidance you could provide - it'd be
greatly appreciated.

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?

I?d greatly appreciate any guidance that can be
provided on these subjects.

Thanks in advance,
Jim






___ 
Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail 
http://uk.messenger.yahoo.com
___
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 )