Representing page links changes as state will be useful for inputs to ML models (T328899), but will also be very useful for state transfer of page links state to other places.
We should create a common event data model for links on MW pages.
See T333497#8772933 for a summary of the different kinds of links that might be on MW pages.
In addition to the links listed there, we should include page redirect targets as a link type.
Looking at the different kinds of links, I can see two broad kinds: Links to MW pages (articles, templates, categories(?) images, etc.) and arbitrary hyperlinks to external URLs. If it is sane to put these kinds of links in the same data model, we should, but perhaps external links are different enough to warrant their own data model. This ticket should be used to make and document this decision.
=== Done is
[] A new [[ https://gerrit.wikimedia.org/r/c/schemas/event/primary/+/914867/4/jsonschema/fragment/mediawiki/state/entity/link_target/current.yaml | mediawiki page link state entity data model ]] is bikeshed and decided on
[] A new mediawiki.page_links_change.v1 stream is produced via EventBus extension. This stream should likely only contain normal wiki page links.
Other streams that represent links should use this new mw link data model.
NOTE: There is a lot of context that we need to get from DBAs and other MediaWiki folks to do this right. See also:
- {T221397} (T221397#7472265)
- {T300222} and {T222224} (description of problem)
- {T328899}
- {T333497}
Other related tasks:
- {T216504}
- {T303907}
- {T290211}
- {T216492}