+1 On WorkEffort redesign.
+1 On PartyClassification redesign.

On 3/22/2011 5:27 AM, Jacopo Cappellato wrote:
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