If any single entity were to be used for types instead of one per type, why not 
Enumeration? And yes, that is what I did with the Mantle data model.

Still, I agree with Jacopo... It is not worth the change repercussions for 
OFBiz. What you described is a problem with lack of research and/or experience, 
and I don't think what you described would be any more helpful.

-David


On Oct 6, 2012, at 10:19, Adrian Crum <[email protected]> 
wrote:

> So your opinion has changed...
> 
> http://mail-archives.apache.org/mod_mbox/ofbiz-dev/201103.mbox/%[email protected]%3E
> 
> -Adrian
> 
> 
> On 10/5/2012 10:23 AM, Jacopo Cappellato wrote:
>> HelloAdrian,
>> 
>> in my opinion it would be better to leave the data model as is, but improve 
>> the descriptions of the types (and documentation, in the form of comments to 
>> xml data) and also enhnce our utils to deal with types (the Product already 
>> has something in place).
>> 
>> Regards,
>> 
>> Jacopo
>> 
>> On Oct 1, 2012, at 8:14 AM, Adrian Crum wrote:
>> 
>>> I mentioned this once before as part of another discussion, but I'm 
>>> creating a new discussion so it can receive the attention it deserves.
>>> 
>>> The Data Model Resource Book describes entity subtypes. OFBiz implements 
>>> entity subtypes by adding a field to the supertype that points to a *Type 
>>> entity that contains valid subtypes.
>>> 
>>> The problem is users (and some developers) do not understand that pattern, 
>>> and they add invalid subtypes to the *Type entity. That can cause things to 
>>> break. As an example, I have a client who created additional ProductTypes 
>>> (that actually represented product categories) and used those added 
>>> ProductTypes for their products. Then they were puzzled why their order 
>>> fulfillment process stopped working.
>>> 
>>> I think what we need is an EntitySubtype entity to store the subtype data. 
>>> Instead of multiple *Type entities, we would have a single EntitySubtype 
>>> entity, and the supertypes will point to it. The supertype field could be 
>>> called something like entitySubtypeId. The EntitySubtype entity will be 
>>> clearly documented as to its purpose and proper use.
>>> 
>>> EntitySubtype
>>> -------------
>>> entityName*
>>> entitySubtypeId*
>>> description
>>> 
>>> What do you think?
>>> 
>>> -Adrian
> 

Reply via email to