Hmmmm.... PartyType has the following data in OFBiz: <PartyType description="Automated Agent" hasTable="N" parentTypeId="" partyTypeId="AUTOMATED_AGENT"/> <PartyType description="Person" hasTable="Y" parentTypeId="" partyTypeId="PERSON"/> <PartyType description="Party Group" hasTable="Y" parentTypeId="" partyTypeId="PARTY_GROUP"/> <PartyType description="Informal Group" hasTable="N" parentTypeId="PARTY_GROUP" partyTypeId="INFORMAL_GROUP"/> <PartyType description="Family" hasTable="N" parentTypeId="INFORMAL_GROUP" partyTypeId="FAMILY"/> <PartyType description="Team" hasTable="N" parentTypeId="INFORMAL_GROUP" partyTypeId="TEAM"/> <PartyType description="Legal Organization" hasTable="N" parentTypeId="PARTY_GROUP" partyTypeId="LEGAL_ORGANIZATION"/> <PartyType description="Corporation" hasTable="N" parentTypeId="LEGAL_ORGANIZATION" partyTypeId="CORPORATION"/> <PartyType description="Government Agency" hasTable="N" parentTypeId="LEGAL_ORGANIZATION" partyTypeId="GOVERNMENT_AGENCY"/>
Those don't look at ALL like the classifications mentioned in the book. The book mentions classification types such as "Income" and the actual classification would be something like "$20K-$40K". How is "$20K-$40K" like "Family"? I still have no idea where you're going with this... and I feel like as like as you respond with vague generalizations it's going to take a LOT of me responding with details to make up for that. -David On Mar 29, 2011, at 12:08 PM, Adrian Crum wrote: > Yes, we have been over this before, and no, I'm not forgetting anything about > the PartyType entity. > > Look at the PartyType demo data - what does it contain? It contains party > classification types. Whether the PartyEntity was originally intended to > follow the book's model or not, the truth is it is being used to store party > classification types. If that is the case, then why do we need another entity > that does the same thing? > > Yes, PartyClassification would be a join entity. I haven't looked at the > impact on the Party.partyTypeId field - that is certainly worth discussing. > > -Adrian > > > On 3/29/2011 10:58 AM, David E Jones wrote: >> Yeah, I think we've been over this before. You're still forgetting that the >> *Type entities in OFBiz have NOTHING to do with anywhere the term "type" is >> used in the Data Model Resource Book. >> >> Stepping back and allowing that this may not be the case, how would you >> imagine this model would look? Are you talking about PartyClassification >> being a join entity between Party and PartyType? What about the >> Party.partyTypeId field? >> >> -David >> >> >> On Mar 29, 2011, at 11:01 AM, Adrian Crum wrote: >> >>> A PartyClassification ties a Party to a PartyType and it includes from and >>> thru dates (Figure 2.3 and Table 2.3). >>> >>> If you want to group classifications, then you group PartyType, not >>> PartyClassification. >>> >>> -Adrian >>> >>> On 3/29/2011 9:48 AM, David E Jones wrote: >>>> Could you be more specific? >>>> >>>> -David >>>> >>>> >>>> On Mar 29, 2011, at 10:24 AM, Adrian Crum wrote: >>>> >>>>> Why can't we use the pattern in the Data Model Resource book? It's simple >>>>> and it works. >>>>> >>>>> -Adrian >>>>> >>>>> >>>>> On 3/26/2011 9:57 AM, David E Jones wrote: >>>>>> On Mar 22, 2011, at 6:27 AM, Jacopo Cappellato wrote: >>>>>>> - redesign following a more standard approach >>>>>>> PartyClassificationGroup/PartyClassificationType/PartyClassification >>>>>> Yes, this is another good one. This the pattern I had in mind: >>>>>> >>>>>> <entity entity-name="PartyClassification" >>>>>> package-name="mantle.party.party"> >>>>>> <field name="partyClassificationId" type="id" is-pk="true"/> >>>>>> <field name="classificationTypeEnumId" type="id"/> >>>>>> <field name="parentClassificationId" type="id"/> >>>>>> <field name="description" type="text-long"/> >>>>>> <relationship type="one" title="PartyClassificationType" >>>>>> related-entity-name="Enumeration"> >>>>>> <key-map field-name="classificationTypeEnumId"/> >>>>>> </relationship> >>>>>> <relationship type="one" title="Parent" >>>>>> related-entity-name="PartyClassification"> >>>>>> <key-map field-name="parentClassificationId"/> >>>>>> </relationship> >>>>>> </entity> >>>>>> <entity entity-name="PartyClassificationAppl" >>>>>> package-name="mantle.party.party"> >>>>>> <field name="partyId" type="id" is-pk="true"/> >>>>>> <field name="partyClassificationId" type="id" is-pk="true"/> >>>>>> <field name="fromDate" type="date-time" is-pk="true"/> >>>>>> <field name="thruDate" type="date-time"/> >>>>>> <relationship type="one" related-entity-name="Party"/> >>>>>> <relationship type="one" >>>>>> related-entity-name="PartyClassification"/> >>>>>> </entity> >>>>>>