Because I see the same potential for misuse if the subtypes were implemented in Enumeration.

I will add implementation information to the description of the subtype entities.

-Adrian

On 10/6/2012 8:42 PM, David E Jones wrote:
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 <adrian.c...@sandglass-software.com> 
wrote:

So your opinion has changed...

http://mail-archives.apache.org/mod_mbox/ofbiz-dev/201103.mbox/%3c82330f5c-3938-487e-98ae-ffee0c876...@hotwaxmedia.com%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