Advanced Entities: Revisioning
Problem
The Entity & Multilingual initiatives evolve into direction of replacing content translation with entity translation. Today we have only nodes with revisions whereas revisions are implemented as a special case. Revision support is currently not on the roadmap for Entity / Property API.
We need full entity revisioning coverage in D8 to make them fully fledged.
Goal
Add revisioning support to every entity.
Cover all multilingual requirements with revisioning.
Have it fully featured so that entity translation is a fully featured replacement for content translation without regressions.
Still keep the entity system lightweight to scale well.
This will allow us to have revisions with e.g. user profiles, terms, ... and prevent us from making things nodes just because we need revisions...
Proposed Solution
Extend the APIs to support revisions
Define storage for revisions (entity base and translateable data).
Support per-language revisions / revision graph, per language current-revision, per language save.
Thus we'll be able to support per-language workflow states.
Support per-language caching (instead of full entity cache) to allow scale with many languages. This will allow a per-language update without invalidating other language data.