Re: [dabo-users] Complexity and avoiding the 1:1:1 syndrome

Author: Michael Hipp

Posted: 2008-02-16 at 19:56:43

Ed Leafe wrote:

> On Feb 16, 2008, at 3:43 PM, Michael Hipp wrote:

>

>> How does the UI, bizobj and database layer in Dabo cope with screens,

>> business rules and database queries that span multiple tables and

>> records? Can anyone point me to some example code that shows how Dabo

>> handles this?

[snip]

> Of course, it depends on how the tables are related to each other. If

> they are all related in some form of parent-child type of

> relationship, then no additional work is needed by the developer:

> calling save(), new(), delete() in the form will do pretty much what

> you would expect. All of those calls take an optional DataSource

> argument, so if you need to, say, add a record to a particular bizobj,

> the call in the form is simply self.new("foo"), if 'foo' is the

> DataSource of the bizobj in question.

>

> If you have groups of bizobjs that are not related to each other, you

> will have to handle some of the "glue" code yourself. Each form has a

> PrimaryBizobj property that is the default recipient of all bizobj

> commands, and that bizobj will take care of its child bizobjs, who

> will take care of their child bizobjs, etc. But if you have unrelated

> groups of bizobjs, you will have to write the code to decide when one

> group is being called, or when the other one needs to be called, or

> when both are involved. I can't be any more specific, as the code in

> question depends on the particulars of your design. In general,

> though, the code would look like this:

>

> bizFoo = self.getBizobj("foo")

> bizFoo.doSomething()

> bizBar = self.getBizobj("bar")

> myVal = bizBar.getFieldVal('myField")

Thank you. I think I'm beginning to have some grasp of where bizobjs fit in.

Michael

©2008 Michael Hipp