Per the approach we converged on in T304036, this ticket involves the work of adding the pageview token to the `DesktopWebUIActions` and `MobileWebUIActions` schemas.
Doing the above is necessary to ensure the four schemas listed below are sampling events at the same rates and using the same methods:
- `VisualEditorFeatureUse`
- `EditAttemptStep`
- `DesktopWebUIActions`
- `Talk_Page_Edit`
=== Requirements
1. A unique one-time token is assigned for each desktop page load in [[ https://schema.wikimedia.org/repositories//secondary/jsonschema/analytics/legacy/desktopwebuiactionstracking/current.yaml | DesktopWebUIActions ]]
2. A unique one-time token is assigned for each mobile web page load in [[ https://schema.wikimedia.org/repositories/secondary/jsonschema/analytics/legacy/mobilewebuiactionstracking/current.yaml | MobileWebUIActions ]]
3. The new `pageToken` fields in the UIAction schemas contain the same values from mw.user.getPageviewToken() that's currently logged in [[ https://schema.wikimedia.org/repositories//secondary/jsonschema/analytics/legacy/editattemptstep/current.yaml | EditAttemptStep ]] as `page_token`.
4. It's possible to correlate a page view logged in DesktopWebUIActions or MobileWebUIactions with any corresponding edit events (both page and discussiontool related events) that occur on the same page load logged in EditAttemptStep.
* This will be used to calculate metrics regarding users that view a talk page and then engage (i.e. click an edit button, start a new topic, reply, etc.).
* For example, we want to be able to know the timestamp of a pageview (`action=init`) event from the UI actions schemas and find the timestamp for any subsequent edit attempts (`action = init `) event in the editing schemas.
=== Done
- [X] 1. @Mneisler drafts `===Requirements`
- [X] 2. @Dlynch to proposes a patch that implements the `=== Requirements`
- [X] 3. The Editing Team consults with relevant members of the Web Team to ensure they support the approach we'll have proposed in "2."
- [ ] 4. Once all patches to resolve this task are merged, @MNeilser to verify instrumentation is working as expected