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>

Reply via email to