Thanks David,

they are all good points; here are a few more from my wish list:

- Remove TechData* entities and use WorkEffort
- get rid of all the different GlAccount Default mappings entities and design a 
cleaner and central entity
- move return type from the return item and to the header
- redesign following a more standard approach 
PartyClassificationGroup/PartyClassificationType/PartyClassification
- instead of OrderItemShipGrpInvRes we could use InventoryItemDetail (expanded)

Kind regards,

Jacopo

On Mar 20, 2011, at 4:33 AM, David E Jones wrote:

> 
> I'm writing this to start a thread to discuss:
> 
> If you could change ANYTHING in the OFBiz data model, what would it be?
> 
> To kick this off here are some ideas I've compiled that have come up over the 
> years (many based on feedback from people on this mailing list), or that I 
> thought of recently will working on this topic. You can see them below...
> 
> -David
> 
> ========================================================
> 
> - Rename *Role entities to *Party
> - Remove *Attribute and *TypeAttr entities (not generally a good practice to 
> use)
> - Remove all status history (*Status) and just using audit on the statusId 
> field
> - ProductPrice add quantity breaks, change PK to single field sequenced
> - Get rid of QuantityBreak and use the two simple fields instead in each 
> place used
> - Get rid of ProdCatalog*, rework it to ProductStoreCategory, ie directly 
> associate to the store
> - Change OrderItemShipGrpInvRes to InventoryReservation, change PK to single 
> field sequenced
> - Change Quote to be other types of Order
> - Make Return more like Invoice (ie no adjustment, just use items for 
> everything)
> - Instead of OrderItemType, OrderAdjustmentType, InvoiceItemType, 
> ReturnItemType just use Shared ItemType everywhere
> - PartyRelationship simplify (single sequenced ID)
> 
> - Make prefixes consistent (no suffixes), ie toPartyId instead of partyIdTo, 
> etc
> - Change all relationships to PartyRole to be type one-nofk; use plain one 
> for Party and RoleType
> - Move most *Type entities to Enumeration values (update seed data, referring
>  entities, remove *Type) (after this remove all remaining hasTable fields)
> - Rework PhysicalInventory and InventoryVariance to simplify, reduce 
> dependency on InventoryItem
> - Review use of Appl, Assoc (look at book, make sure consistent)
> - Add PartyIdentification entity, get rid of various fields and other 
> entities (maybe even PartyTaxAuthority...)
> - Change GoodIdentification to ProductIdentification
> - Combine PartyContactMechPurpose and PartyContactMech (remove, only use 
> entity with purpose, name PartyContactMech)
> - Get rid of NoteData, put noteText very-long field directly on various *Note 
> entities
> - Review all entities with large PKs (esp 4+ fields)
> - Review and do something with all createOn/By lastUpdateOn/By fields, maybe 
> add an auditing flag for the entity instead of just for a field
> - CustRequest to Request
> - FinAccount to FinancialAccount
> - Invoice handle recurrence? (was using RecurrenceInfo)
> - Get rid of optional ProductFeature concept (conf/etc products much better 
> model)
> - Instead of various *Term entities and mapping, just use OrderTerm everywhere
> - Cleanup/reorg ShipmentCostEstimate, CarrierShipmentMethod, etc, etc
> - Agreement - make price list easier/cleaner
> - Remove all createdDate, createdByUserLogin, lastModifiedDate, 
> lastModifiedByUserLogin fields (use framework defaults, audit-log)
> - Product clean up: move dimenstions to new entity, remove content fields, etc
> - Trim down big entities like Product, WorkEffort, etc; for groups of similar 
> fields use a more normalized structure
> 
> 

Reply via email to