We'd like to track the number of successful interactions with the template Dialog in visual editor. We'll define a successful interaction as the user opening the dialog, making a change within it, and saving the change.
Template Dialog in VE:
[x] Collect number times the VE template dialog is opened per day, split by edit count into five groups of users (0-10, 11-100, 101-1.000, 1.001-10.000, 10.001+)
* Existing metric: Schema:VisualEditorFeatureUse, {feature: "transclusion", action: "window-open-*"}
[x] Collect number of times the VE template dialog is opened per day from the "Insert" > "Template" menu
* Existing metric: Schema:VisualEditorFeatureUse, {feature: "transclusion", action: "window-open-from-tool"}
* Note that this is not necessarily inserting a template, it will open the Edit Template dialog if the user has already selected a template invocation.
[x] Collect number of times the VE template dialog is opened per day by keyboard action (by typing "{{")
* Existing metric: Schema:VisualEditorFeatureUse, {feature: "transclusion", action: "window-open-from-sequence"}
[x] Collect number of times it is opened per day to edit an existing template (by clicking a template and then clicking edit button)
* Existing metric: Schema:VisualEditorFeatureUse, {feature: "transclusion", action: "window-open-from-context"}
* Editors may also double-click the template to open this dialog, recorded as {feature: "transclusion", action: "window-open-from-command"}.
[x] Collect number of times the VE template dialog is opened per day, a change is made, and the change is saved successfully vs the workflow being abandoned.
* Existing metric: Schema:VisualEditorFeatureUse, {feature: "transclusion", action: "dialog-done"}
* Existing metric: Schema:VisualEditorFeatureUse, {feature: "transclusion", action: "dialog-abort"}
For interactions in the Template Dialog, track:
[x] When a documented parameter is successfully added (i.e., and not abandoned) to a template
* New action for existing metric: Schema:VisualEditorFeatureUse, {feature: "transclusion", "add-known-parameter"}. https://www.mediawiki.org/w/index.php?diff=4249302&diffmode=source
* Note that we will have to aggregate by `editingSessionId` to determine whether the template dialog was closed happily, and whether the changes were finally synced to the article.
[x] When an undocumented parameter is successfully added to a template.
* New action for existing metric: Schema:VisualEditorFeatureUse, {feature: "transclusion", "add-unknown-parameter"}
[ ] When a parameter value is edited
* Schema documentation: https://www.mediawiki.org/w/index.php?diff=4250295&diffmode=source
* Exactly one event will be sent per dialog, per parameter. If the parameter is edited multiple times, no additional events are sent.
[ ] Clicks on help page/ template page link
* Schema documentation: https://www.mediawiki.org/w/index.php?diff=4250288&diffmode=source
For comparison, also collect basic data on the Template Wizard:
[ ] Collect number of times the TemplateWizard is opened per day, split by edit count into five groups of users (0-10, 11-100, 101-1.000, 1.001-10.000, 10.001+)
* Schema change: https://meta.wikimedia.org/wiki/Special:Diff/19080110/20713042
* Existing metric: [[ https://meta.wikimedia.org/wiki/Schema:TemplateWizard | Schema:TemplateWizard ]] {action: "launch"}
* Went a bit beyond scope, we will collect the `user_id` (or 0 for logged-out) rather than just `user_is_anonymous`.
[ ] Collect number of times the TemplateWizard is opened per day, a change is made, and the change is saved successfully.
* Existing metric for successfully saved: [[ https://meta.wikimedia.org/wiki/Schema:TemplateWizard | Schema:TemplateWizard ]] {action: "insert-template"}
* Existing metric for unsuccessful abandonment: [[ https://meta.wikimedia.org/wiki/Schema:TemplateWizard | Schema:TemplateWizard ]] {action: "cancel-dialog"}
* Note that the page being constructed may or may not be successfully saved after exiting the TemplateWizard dialog. This seems like a relevant workflow detail, if we want it can be approximated by joining higher-level save and abort events on {page_id, revision_id, user_id}...
Other requirements:
[] Add any new topics to the inclusion list for sanitization
* No new topics were added.