Problem/Motivation
Many of the core content entities (eg. menu items, custom blocks, etc) don't have changed timestamp tracking. This is a problem for various things.
- Data migration / content push would need to check uuids and last changed timestamps to optimise content pushing.
- Editing conflict / race condition tracking where multiple people attempt to edit and save on top of each other also needs change timestamp tracking.
- Cache invalidation should use last change timestamps on entities, such as the menu cache based on menu link item entities. We need this data.
Proposed resolution
- Add an interface for entities that support changed timestamps: #2044583: Add EntityChangedInterface to allow entities with "changed" field to be properly cached
- Expand on changed timestamp support to more entities:
- Generalize node changed validation: #2082509: Generalize node changed constraint to entity changed constraint
User interface changes
None.
API changes
Add interface for change tracking. Expand use of that, change schemas to introduce change timestamps.