This task involves the work with implementing the instrumentation necessary to log instances when people who are //blocked// attempt to edit Wikipedia.
//More context can be found in T303995.//
=== Questions we're aiming to answer with this instrumentation
(Note: This list is not exhaustive and may be updated) :
* high-level question: To what extent do blocks play a role in preventing potentially productive editors from making an edit?
* What countries do blocked edit attempts most frequently occur?
* What are the differences in frequency of blocked edit attempts by wiki, editing interface, and platform?
* What types of IP blocks (local/global, short-/long-term) are more frequently encountered?
* How many distinct users are stopped from editing by a block?
* Do we see any sudden increases or decreases in blocked edit attempts at a certain time and from a certain country?
=== Requirements
====In Scope
- Log an event whenever a user (logged in or out) clicks/taps an affordance to open an editing interface [1] and they are prevented from progressing because the account/IP address they are using to access Wikipedia has been blocked.[2]
**Event details:**
-- Block type (local/global, short-/long-term)
-- Platform [3]
-- Wiki
-- User ID
-- User IP, Agent, and Geo-Location [4]
-- Editing Interface
-- PageNamespace
-- User Edit Count
**Sampling Requirements:**
* All of these events should be sampled at 100% so we can collect sufficient data and can more directly compare block rates to overall edit trends (edits, reverts, new active editors, etc)
* Note: If we consider adding this instrumentation to EditAttemptStep, oversampling would need to be turned on for these events as EditAttemptStep is currently sampled
NOTES:
[1] Editing interface = **Reply Tool** (mobile + desktop), **New Topic Tool** (mobile + desktop), 2010 wikitext editor (desktop), `source` and `visual` editing modes (mobile, via MobileFrontend), and New Wikitext Editor (desktop) .
[2] As noted in T303995#7996670, it is also possible for someone to be blocked while they're editing a page (after they opened the editor). Instrumentation for this is already in place in EditAttemptStep.
[3] It is important to be able to decipher edits from mobile frontend using the `platform` field. Per the understandings described in T303995#7990254, βAny analyses we do ought to name and consider the fact that many people who are blocked from editing who are accessing the site through MobileFrontend may NOT attempt to initiate an edit because the interface suggests to them β by way of showing a "π" next to the top-most edit pencil β that they will be prevented from doing so.β
[4] If we use EditAttemptStep, the user agent field including IP and Geolocation will need to be added back in as this was removed from the schema. We will only be able to retain this data for 90 days; however, it's important for this dataset that we are able to determine where the blocked edit attempt is coming from.
====Out of Scope:
- Log an event whenever a user views a page but does not click/tap an affordance to open an editing interface because they are blocked. See rationale noted in Editing team's recommendations in T303995#7990254
=== Implementation details
//@Mneisler and @DLynch will populate this section with implementation details that will meet the `===Requirements` listed above.//
**Event details**
- //TBD//
=== Done
- [ ] `===Implementation details` are documented
- [ ] All `===Requirements` and `===Implementation details` are implemented
- [ ] Editing QA has verified the event(s) defined in `===Implementation details` section above are being emitted when someone (logged in or out) attempt to initiate an edit using any editing interface
- [ ] @MNeisler verifies the new events are being logged in the yet-to-be-determined schema they are intended to land in