class ContentStreamCommandController extends CommandController (View source)

Properties

protected ContentRepositoryRegistry $contentRepositoryRegistry

Methods

void
statusCommand(string $contentRepository = 'default')

Detects if dangling content streams exists and which content streams could be pruned from the event stream

void
removeDanglingCommand(string $contentRepository = 'default', string $removeTemporaryBefore = '-1day')

Removes all nodes, hierarchy relations and content stream entries which are not needed anymore from the projections.

void
pruneRemovedFromEventStreamCommand(string $contentRepository = 'default', bool $force = false)

Prune removed content streams that are unused from the event stream; effectively REMOVING information completely

Details

void statusCommand(string $contentRepository = 'default')

Detects if dangling content streams exists and which content streams could be pruned from the event stream

Dangling content streams

Content streams that are not removed via the event ContentStreamWasRemoved and are not in use by a workspace (not a current's workspace content stream).

Previously before Neos 9 beta 15 (#5301), dangling content streams were not removed during publishing, discard or rebase.

./flow contentStream:removeDangling

Pruneable content streams

Content streams that were removed ContentStreamWasRemoved e.g. after publishing, and are not required for a full replay to reconstruct the current projections state. The ability to reconstitute a previous state will be lost.

./flow contentStream:pruneRemovedFromEventStream

Parameters

string $contentRepository

Identifier of the content repository. (Default: 'default')

Return Value

void

void removeDanglingCommand(string $contentRepository = 'default', string $removeTemporaryBefore = '-1day')

Removes all nodes, hierarchy relations and content stream entries which are not needed anymore from the projections.

NOTE: This still keeps the event stream as is; so it would be possible to re-construct the content stream at a later point in time.

HINT: ./flow contentStream:status gives information what is about to be removed

To prune the removed content streams from the event stream, run ./flow contentStream:pruneRemovedFromEventStream afterwards.

NOTE: To ensure that no temporary content streams of the current moment are removed, a time threshold is configurable via --remove-temporary-before

Parameters

string $contentRepository

Identifier of the content repository. (Default: 'default')

string $removeTemporaryBefore

includes all temporary content streams like FORKED or CREATED older than that in the removal. To remove all use --remove-temporary-before=-1sec

Return Value

void

void pruneRemovedFromEventStreamCommand(string $contentRepository = 'default', bool $force = false)

Prune removed content streams that are unused from the event stream; effectively REMOVING information completely

HINT: ./flow contentStream:status gives information what is about to be pruned

Parameters

string $contentRepository

Identifier of the content repository. (Default: 'default')

bool $force

Prune the unused content streams without confirmation. This cannot be reverted!

Return Value

void