With #4694 we made an important step towards internalizing the concept of content streams.
But so far, in the events we only include the resolved contentStreamId.
As a result, projections and catchUpHooks have to keep track/load the corresponding workspace.
Instead we should include the workspaceName in the corresponding event payloads, not to lose the information about that original intend
Notes
Obviously this will require another infamous event migration
We'll might have to decide how to deal with CS ids that are no longer resolvable to a workspace name
I assume that all events implementing EmbedsContentStreamAndNodeAggregateId are affected, so maybe it makes sense to extend (and rename) that interface
But maybe there are more events affected (e.g. there is DimensionShineThroughWasAdded and DimensionSpacePointWasMoved) so an new interface might be required
Afterwards, affected Neos projections (e.g. ChangeProjection and UriPathProjection) should be simplified such that they no longer keep track of the workspace
With #4694 we made an important step towards internalizing the concept of content streams. But so far, in the events we only include the resolved
contentStreamId
.As a result, projections and catchUpHooks have to keep track/load the corresponding workspace. Instead we should include the
workspaceName
in the corresponding event payloads, not to lose the information about that original intendNotes
EmbedsContentStreamAndNodeAggregateId
are affected, so maybe it makes sense to extend (and rename) that interfaceDimensionShineThroughWasAdded
andDimensionSpacePointWasMoved
) so an new interface might be requiredChangeProjection
andUriPathProjection
) should be simplified such that they no longer keep track of the workspaceRelated: #4694