Problem

  • "Storables" and "entities" do not differ.
  • EntityFormController expects an EntityInterface, so a ConfigurableInterface is incompatible.
  • A "StorableFormController" is nonsense.

Goal

  • Restore entity system sanity.

Proposed solution

  1. Revert StorableInterface to EntityInterface.
  2. Optional: Introduce a ContentInterface and use it for Node, Comment, Term (but not User).

Alternate solution

  1. Typehint with StorableInterface

Comments

Added an alternate solution.

Well, the bottom line is:

  1. An entity is a defined thing.
  2. A storable is undefined.

You may

  1. Subclass entity for all more specific configuration things.
  2. Subclass entity for all more specific content things.

But

  1. There is no more abstract thing than a thing.
  2. A thing may be storable, but if you want to classify by that, then storable things are a subclass of things. Not the other way around.

I refuse to hack the entity system even more for a concept that doesn't exist in this universe.

If we need a ContentInterface, then we need to do that.

Status:Active» Closed (duplicate)

#1761040: Rename Storable, Entity, and Configurable to Entity, ContentEntity, and ConfigEntity is a more more measured discussion of this, and it was posted a mere 7 minutes before this, so I'm closing this as a duplicate.

Issue summary:View changes

added alternate solution