Following the successful Android data integration with the EditAttemptStep schema we needed a way to differentiate Android app editing data from mobile web and desktop. The shared field `integration` will be used for this purpose.
~~Following the successful Android data integration with the EditAttemptStep schema we are requesting to add a distinguishing value for all Android edit data using the `platform` attribute. This will enable us to use Turnilo to separate our data using a singular attribute from `platform` such as `app-android`. Currently we are using the Filter setting: `Event integration` = `app-android`, but we also need to specify `platform` = `phone` and `Useragent OS Family` = Android. See: https://phabricator.wikimedia.org/T294503#7749333. ~~
Another benefit for this change is that other data users may not know about the Event integration filter for `app-android` and inadvertently end up using data that includes Android data. If `app-android` is explicitly available in `integration` this will be avoided.
We want to be sure this won't cause any unanticipated issues with editing data so if anyone has feedback please let us know.
More context:
https://phabricator.wikimedia.org/T294503#7568135
=== Intended outcome(s)
Simplify queries so that:
1) Non-Android Teams have a lower risk of including Android event data in the queries they are running
2) Android Team can write simpler queries to visualize data in Turnilo
=== Schema change(s)
|Proposed new event name|Field new event will "belong" to|Schema where event will be logged
|---|---|---
|`app-android`|`integration`|`EditAttemptStep`
=== Implementation Process
|Step | People/Team Responsible|Description|Status
|---|---|---|---
|1. | **Android** | File ticket requesting instrumentation | ✅ Done in T307698
|2. | **Android** | Populate the `===Schema change(s)` section with proposed changes, once defined | ✅ Done
|3. | @mneisler + @dlynch | Review the `===Schema change(s)` Community Tech is proposing to introduce| !!Next!!
|4. | **Android** | Implement the instrumentation changes defined in `======Schema change(s)` |
|5. | **Editing Team** | Code review the instrumentation changes Community Tech will have implemented |
|6. | **Android** | Verify newly instrumented events are being emitted as expected by clients |
|7. | **Product Analytics** | Verify newly instrumented events are being logged in database/schema(s) as expected, once the new instrumentation has landed in production. |
|8. | **Android** | Update schema documentation with the events spec'd in this task once they have been verified to be implemented as expected. //Read: clients are emitting events as expected and said events are being logged in the database as expected as well.//|