When an item is deleted by an oversighter (checking the suppress checkbox) the streaming updater should produce a message instructing the consumer to delete the item from the graph.
The kafka topic populated by change prop is mediawiki.page-suppress (this topic is considered private and highly sensitive).
The event itself is similar to what is read from mediawiki.page-delete.
{ "$schema": "/mediawiki/page/delete/1.0.0", "meta": { "uri": "https://test.wikidata.org/wiki/Q212437", "request_id": "d37828b9-e3ce-4eea-a91d-921d0c5ad9c9", "id": "7e8abcee-2a84-476e-afee-07eb404e1085", "dt": "2020-07-02T09:36:49Z", "domain": "test.wikidata.org", "stream": "mediawiki.page-suppress" }, "database": "testwikidatawiki", "performer": { "user_text": "DCausse (WMF)", "user_groups": [ "bureaucrat", "oversight", "sysop", "*", "user" ], "user_is_bot": false, "user_id": 2490, "user_registration_dt": "2017-09-28T06:49:13Z", "user_edit_count": 11 }, "page_id": 302932, "page_title": "Q212437", "page_namespace": 0, "page_is_redirect": false, "rev_id": 529864, "rev_count": 1, "comment": "content was: \"Test dcausse v6\", and the only contributor was \"[[Special:Contributions/DCausse (WMF)|DCausse (WMF)]]\" ([[User talk:DCausse (WMF)|talk]])", "parsedcomment": "content was: "Test dcausse v6", and the only contributor was "<a href=\"/wiki/Special:Contributions/DCausse_(WMF)\" title=\"Special:Contributions/DCausse (WMF)\">DCausse (WMF)</a>" (<a href=\"/w/index.php?title=User_talk:DCausse_(WMF)&action=edit&redlink=1\" class=\"new\" title=\"User talk:DCausse (WMF) (page does not exist)\">talk</a>)" }
On the shared model:
- reuse the model added in T256875
On the flink pipeline:
- add a new stream to consume from (kafka topic mediawiki.page-suppress) and produce PageDelete to downstream operators
- the sole information populated from the original event is:
- the page_title: must conform to wikidata item pattern ([QPL]number) that is generated by wikibase and thus cannot contain sensitive info that triggered the suppression
- revision: a number
- the request_id
- the sole information populated from the original event is:
On the pipeline consumer:
- it will be seen as a classic delete
AC:
- fix T105427
- the streaming updater output must not leak any information of the suppression and should appear like a "normal" delete
size: M