version | type | "integer" |
---|
required | true |
---|
description | "Version number. This field can be used to track changes in instrumentation that affect the nature of the data collected." |
---|
|
---|
is_oversample | description | "Whether this request is an oversample, or a standard sample." |
---|
type | "boolean" |
---|
|
---|
action | type | "string" |
---|
required | true |
---|
enum | "init" | "ready" | "loaded" | "firstChange" | "saveIntent" | "saveAttempt" | "saveSuccess" | "saveFailure" | "abort" |
|
---|
description | "The actions involved in an attempt to edit a page:init: Initiation of the editorready: Editor is ready for user input – 'cursor blinking'loaded: Editor has fully loadedfirstChange: user has done something to edit the content, hopefully signaling intent-to-editsaveIntent: Editor pre-save button (if available) has been activated, showing user intent to save (regardless of whether they continue)saveAttempt: Editor save button has been activated, showing user attempt to save (regardless of success)saveSuccess: Editor has successfully saved and user has been shown a post-edit status on the client-sidesaveFailure: Editor has not successfully saved and user has been shown a save failure reason on the client-sideabort: Editor has been aborted by user action." |
---|
|
---|
init_type | type | "string" |
---|
enum | |
---|
description | "Type information about action=initpage: Editing has been initiated for the whole pagesection: Editing has been initiated for a section of the page." |
---|
|
---|
init_mechanism | type | "string" |
---|
enum | "click" | "new" | "url" | "url-new" |
|
---|
description | "Mechanism information about action=initclick: Editing has been initiated from an edit linknew: Editing has been initiated by clicking on redlink if type=page or new section link if type=sectionurl: Editing has been initiated by direct navigation.url-new: Editing has been initiated by direct navigation to a non-existent page if type=page or a new section link if type=section" |
---|
|
---|
init_timing | type | "integer" |
---|
description | "Timing information about action=init – time in milliseconds since the page was loaded." |
---|
|
---|
ready_timing | type | "integer" |
---|
description | "Timing information about action=ready – time in milliseconds since the editor was initialised." |
---|
|
---|
loaded_timing | type | "integer" |
---|
description | "Timing information about action=loaded – time in milliseconds since the editor was initialised." |
---|
|
---|
first_change_timing | type | "integer" |
---|
description | "Timing information about action=firstChange – time in milliseconds since the editor was ready." |
---|
|
---|
save_intent_timing | type | "integer" |
---|
description | "Timing information about action=saveIntent – time in milliseconds since the editor was ready." |
---|
|
---|
save_attempt_timing | type | "integer" |
---|
description | "Timing information about action=saveAttempt – time in milliseconds since the user triggered saveIntent." |
---|
|
---|
save_success_timing | type | "integer" |
---|
description | "Timing information about action=saveSuccess – time in milliseconds spent by the system processing save (sum of two parts: saveIntent to saveReady, and saveAttempt to saveSuccess)." |
---|
|
---|
save_failure_type | type | "string" |
---|
enum | "userBadToken" | "userNewUser" | "extensionAbuseFilter" | "extensionCaptcha" | "extensionSpamBlacklist" | "extensionTitleBlacklist" | "responseEmpty" | "responseUnknown" | "editPageDeleted" | "editConflict" |
|
---|
description | "Type information about action=saveFailureuserBadToken: Save attempt failed because the user's token was baduserNewUser: Save attempt failed because the user's session has changed userextensionAbuseFilter: Save attempt failed because of the AbuseFilter extensionextensionCaptcha: Save attempt failed because of the CAPTCHA extensionsextensionSpamBlacklist: Save attempt failed because of the SpamBlacklist extensionresponseEmpty: Save attempt failed but the response was emptyresponseUnknown: Save attempt failed but the response was not recognisededitPageDeleted: Save attempt failed because the page was deletededitConflict: Save attempt failed because of an edit conflict" |
---|
|
---|
save_failure_message | type | "string" |
---|
description | "The message key given for the first error when saving." |
---|
|
---|
save_failure_timing | type | "integer" |
---|
description | "Timing information about action=saveFailure – time in milliseconds spent by the system processing save (sum of two parts: saveIntent to saveReady, and saveAttempt to saveFailure)." |
---|
|
---|
abort_type | type | "string" |
---|
enum | "preinit" | "nochange" | "switchwith" | "switchwithout" | "switchnochange" | "abandon" | "abandonMidsave" |
|
---|
description | "Type information about action=abort:preinit: Editor has be initialised but is not yet readynochange: User is exiting the editor, and content block is unchanged / transaction stack is emptyswitchwith: User is switching from one editor to another, retaining changesswitchwithout: User is switching from one editor to another, discarding changesswitchnochange: User is switching from one editor to another, and the content block is unchanged / transaction stack is emptyabandon: User is exiting the editor, discarding changesabandonMidsave: User is exiting the editor, discarding changes, after a saveAttempt has been initiated but before saveSuccess/saveFailure." |
---|
|
---|
abort_mechanism | type | "string" |
---|
enum | "cancel" | "navigate" | "navigate-back" | "navigate-read" |
|
---|
description | "Mechanism information about action=abort:cancel: Editing was aborted by user clicking a cancel controlnavigate: Editing was aborted by user navigating to another pagenavigate-back: Editing was aborted by user navigating to the previous page by means of the 'back' button/control in their browsernavigate-read: Editing was aborted by user navigating to the read page by means of the 'read' tab/control in their browser." |
---|
|
---|
abort_timing | type | "integer" |
---|
description | "Timing information about action=abort – time in milliseconds based on action.abort.type:preinit: Time since the editor was initialisednochange: Time since the editor was readyswitchwith: Time since the editor was readyswitchwithout: Time since the editor was readyabandon: Time since the editor was readyabandonMidsave: Time since the user initiated a saveAttempt." |
---|
|
---|
editor_interface | type | "string" |
---|
enum | "visualeditor" | "wikitext-2017" | "wikitext" | "other" |
|
---|
required | true |
---|
description | "The editor interface through which the user is attempting to edit the page." |
---|
|
---|
mw_version | type | "string" |
---|
required | true |
---|
description | "MediaWiki version string." |
---|
|
---|
platform | type | "string" |
---|
enum | "desktop" | "tablet" | "phone" | "other" |
|
---|
required | true |
---|
description | "The editing device through which the user is attempting to edit the page." |
---|
|
---|
integration | type | "string" |
---|
enum | "page" | "flow" | "lqt" | "app" | "discussiontools" |
|
---|
required | true |
---|
description | "The editor integration through which the user is attempting to edit the page." |
---|
|
---|
page_id | type | "integer" |
---|
description | "ID of the page the user is attempting to edit." |
---|
|
---|
page_title | type | "string" |
---|
description | "Full title of the page the user is attempting to edit, including namespace (wgPageName format). This is needed to log edit activity on redlinks, as pageId and revId are not available." |
---|
|
---|
page_ns | type | "integer" |
---|
description | "Namespace ID of the page the user is attempting to edit." |
---|
|
---|
revision_id | type | "integer" |
---|
description | "For all actions except `saveSuccess`, the ID of the revision that the user is attempting to edit (0 if the user is attempting to create a new page). For the `saveSuccess` action, the ID of the revision that has just been saved unless it is a null edit, in which case the id of the revision will have the same revision ID as the previous event" |
---|
|
---|
editing_session_id | type | "string" |
---|
required | true |
---|
description | "A string of 32 alphanumeric characters, unique to the current page view session; used for grouping events." |
---|
|
---|
user_id | type | "integer" |
---|
required | true |
---|
description | "The user id (0 if logged out)." |
---|
|
---|
user_editcount | type | "integer" |
---|
required | true |
---|
description | "The total number of edits of the user." |
---|
|
---|
user_class | type | "string" |
---|
enum | |
---|
description | "A flag for a kind of user about whom we don't care or for whom we can't measure edit counts." |
---|
|
---|
page_token | type | "string" |
---|
description | "One-time token per page load (consistent with Schema:PageIssues and other schemas that use https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw.user-method-getPageviewToken ). This will only be set for client-side (JavaScript-generated) events, for server-side events the value will be an empty string." |
---|
|
---|
session_token | type | "string" |
---|
description | "Session token that survives across pages (mw.user.sessionId()), but not browser restarts, used in deterministic user bucketing. This will only be set for client-side (JavaScript-generated) events, for server-side events the value will be an empty string." |
---|
|
---|
bucket | type | "string" |
---|
description | "If necessary, a string used to identify temporarily relevant groups of users, such as the groups in a controlled experiment. For example '2019-03-mobile-VE-section-editing-control'. If multiple buckets need to be set at once (e.g. for overlapping experiment), separate the strings with commas." |
---|
|
---|
anonymous_user_token | type | "string" |
---|
description | "A random, cookie-stored token used to temporarily distinguish individual anonymous editors. Null for registered editors." |
---|
|
---|