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>