Currently the "version" of the Content Graph read model can only implicitly be determined using the AppliedEventsLog.
But this information just contains the "highest applied sequence number", i.e. spans all content streams.
If we kept track of the event version per content stream (i.e. the ES stream version) this would allow for a more resilient blocking mechanism and make it easier for 3rd parties to react on updates for a given content stream.
Implementation
The PHP API could be extended by
interface ContentGraphInterface {
public function getContentStreamVersion(ContentStreamIdentifier $contentStreamIdentifier): int;
}
Note: we could also extend ContentSubgraphInterface by a method getVersion(): int but since the version is independent from the visibility constraints and dimension, I think it should be added to the content graph interface.
Idea/motivation
Currently the "version" of the Content Graph read model can only implicitly be determined using the
AppliedEventsLog
. But this information just contains the "highest applied sequence number", i.e. spans all content streams.If we kept track of the event version per content stream (i.e. the ES stream version) this would allow for a more resilient blocking mechanism and make it easier for 3rd parties to react on updates for a given content stream.
Implementation
The PHP API could be extended by
Note: we could also extend
ContentSubgraphInterface
by a methodgetVersion(): int
but since the version is independent from the visibility constraints and dimension, I think it should be added to the content graph interface.