Skip to Main Content
Categories Data Model
Created by Guest
Created on Jul 1, 2026

Expansion Entity type to replace specifications

I have been thinking about how a specification concept might be implemented in an ideal world for us, and here's what I've come up with.

I would like to see the concept of an "Expansion Entity Type". This entity type would be exactly the same as a normal entity type except - if could not include any mandatory fields, and it has to specify which normal entity type it expands (no configurable inbound links beyond that). Each expansion entity can only be attached to a single normal entity and each normal entity can have 0 or 1 of each expansion entity type.

What does this give us? Fields that might normally live in specifications, and in some cases fieldsets, should be moved to an expansion entity. You can then have an expansion entity for your items including:

  • Chainsaws containing fields for:

    • Bar length

    • Chain length

  • Lawn mowers containing

    • Deck size,

    • Number of blades.

  • Battery powered equipment

    • Battery size

    • Battery Voltage

  • Internal Combustion powered equipment

    • Engine size

    • Fuel type

When I set up an item I can pick the battery powered expansion type, and the chainsaw expansion type and I now have those fields available.

Because we are limiting each item to have 0 or 1 of each expansion type the UI, the APIs, etc. can just include all the fields and outbound link types from each of the included expansion entities, so it's not confusing for users to navigate to different tabs or traverse links, and it's also easy for integrations because the fields and link types are assembled at a very low level.

But it gets better. ALSO we can assign completeness criteria to expansion entities so we only have completeness rules for these things when the expansion entity is included, and all of a sudden we have much smarter completeness rules.

Finally expansion entities can go beyond product types and include markets, add all your amazon fields to an amazon expansion entity and only include it when you are selling a particular product on amazon.

It gives us much better field efficiency, increased usability, and the migration path would be super simple as we're just dealing with field types on an entity.

  • Attach files