Ah!  There can be any number of text elements per page, depending on
the format of that particular page.  And the user can change the
format of the page on the fly.  Therefore, you need to know which text
element of which page of the product.  And the pages do not have a
monolithic PK, as you can have any number of pages per product.

Here's a very fast (and likely ugly) attempt at an ER diagram...

Product | ProductID  <------<<  Page | ProductID* | PageNumber <------
<< Text | ProductID** | PageNumber** | TextElementNumber

* FK from page to product (o2m for Product.getPageArray())
** FK from text element to page (o2m for Page.getTextArray())

There is also a o2m from Product to Text with a condition of
Text.PageNumber = 0 (I'd rather set up a page 0, but I have to deal
with a manager...)

Ken

On Dec 17, 4:54 pm, "Mark Mandel" <[email protected]> wrote:
> Sorry.. still not getting it.
>
> Why not just have a FK -> PK relationship between Page and Text?
> That's not hard coded.
>
> It seems that there would only be one Text element per page? or am I
> misunderstanding? I don't know what the ER diagram is.
>
> Mark
>
>
>
> On Thu, Dec 18, 2008 at 8:46 AM, Ken Cummins <[email protected]> 
> wrote:
>
> > Because each page could have a different layout, and the number of
> > text blocks could differ.  So I need to track which text block on
> > which page for which product.  If it helps you visualize the issue,
> > there will also be image components on each page...
>
> > These are user-designed products, so they are highly dynamic.  Hard-
> > coding a solution isn't going to work...  :P
>
> > Ken
>
> > On Dec 17, 3:41 pm, "Mark Mandel" <[email protected]> wrote:
> >> I'm trying to work my way through your mapping....
>
> >> Why not just link the page directly to a specific text? How come you
> >> need all the messing about with products and page numbers?
>
> >> Mark
>
> >> On Thu, Dec 18, 2008 at 3:23 AM, Ken Cummins <[email protected]> 
> >> wrote:
>
> >> > Gah!  Yet again, I post before my coffee activates...
>
> >> > The link for the example object *should* be:
>
> >> > <link column="productkey" to="Products.Text" />
>
> >> > The idea is that the text objects are part of a o2m relationship with
> >> > the product, but that also reference the pageno.  Now, I'd like to
> >> > have a o2m relationship from product to page, then another o2m
> >> > relationship from page to text. This will be extended to other objects
> >> > as well.
>
> >> > Would I be better off scrapping the direct o2m product to text, and
> >> > adding a function into the decorator? Or can I get transfer to handle
> >> > the complex data modelling?
>
> >> > Ken
>
> >> > On Dec 17, 10:02 am, Ken Cummins <[email protected]> wrote:
> >> >> I'm looking (still) at a table with a compositeid that I want to be
> >> >> the parent of a onetomany relationship. I am considering using one
> >> >> portion of the compositekey as the o2m key, and adding a condition to
> >> >> filter it to the second part of the key.
>
> >> >> My question (and this is without a lengthy bout of of my usual test/
> >> >> alter/test/alter/test/try to remember where I was/alter several things/
> >> >> test/wish I had backed things up/drink more coffee cycle) is if I can
> >> >> reference the current object in my where clause.  i.e.:
>
> >> >> <object name="page" table="productpages" decorator="BaseDecorator">
> >> >>         <compositeid>
> >> >>                 <parentonetomany class="Products.Product" />
> >> >>                 <property name="pageno" />
> >> >>         </compositeid>
> >> >>         <property name="stylekey" type="numeric" />
> >> >>         <onetomany name="text" lazy="true">
> >> >>                 <link column="productkey" to="Products.Product" />
> >> >>                 <collection type="array">
> >> >>                         <condition where="pageno = {pageno}"/>
> >> >>                         <order property="textno" />
> >> >>                 </collection>
> >> >>         </onetomany>
> >> >> </object>
>
> >> >> This also brings up the problem of using the key for a o2m child as
> >> >> part of the o2m parent relationship...  Grrr...
>
> >> >> Ken
>
> >> --
> >> E: [email protected]
> >> W:www.compoundtheory.com
>
> --
> E: [email protected]
> W:www.compoundtheory.com
--~--~---------~--~----~------------~-------~--~----~
Before posting questions to the group please read:
http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer

You received this message because you are subscribed to the Google Groups 
"transfer-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/transfer-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to