Page MenuHomePhabricator

Implement DomainEventDispatcher (baseline)
Closed, ResolvedPublic

Description

The DomainEventDispatcher class should provide a mechanism to register listeners, and to send events to these listeners. Events are transaction-bound, and will be delivered only after successful completion of the current transaction round.

DomainEventDispatcher will implement separate interfaces for registering listeners and for sending events, which will be exposed through MediaWikiServices for use in service wiring.

Event Timeline

Change #1069665 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/core@master] Introduce DomainEventDispatcher

https://gerrit.wikimedia.org/r/1069665

Change #1069665 merged by jenkins-bot:

[mediawiki/core@master] Introduce DomainEventDispatcher

https://gerrit.wikimedia.org/r/1069665

Change #1085458 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/core@master] PageUpdater: move LogEntry back to main transaction.

https://gerrit.wikimedia.org/r/1085458

Change #1085458 merged by jenkins-bot:

[mediawiki/core@master] PageUpdater: move LogEntry back to main transaction.

https://gerrit.wikimedia.org/r/1085458

I think https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1069665/29/includes/page/MovePage.php might be causing creation log entries to be generated when moving pages, when such log entries weren't previously generated (see T379380: Moving a page generates an unneeded page creation log entry). I'm not sure whether or not this change was intentional - at an admittedly quick search, I can't find any comments to indicate it would be.

Change #1092772 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/core@master] DomainEventDispatcher: rename concepts

https://gerrit.wikimedia.org/r/1092772

Change #1092772 merged by jenkins-bot:

[mediawiki/core@master] DomainEventDispatcher: rename concepts

https://gerrit.wikimedia.org/r/1092772