Schema:EditAttemptStep

Revision 21199760
description"Logs generic events related to editing activity. All events are logged client-side, except that init, saveSuccess, and saveFailure events for the wikitext editor are logged server-side."
properties
version
type"integer"
requiredtrue
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"
requiredtrue
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 editor ready: Editor is ready for user input – 'cursor blinking' loaded: Editor has fully loaded firstChange: user has done something to edit the content, hopefully signaling intent-to-edit saveIntent: 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-side saveFailure: Editor has not successfully saved and user has been shown a save failure reason on the client-side abort: Editor has been aborted by user action."
init_type
type"string"
enum
"page"
"section"
description"Type information about action=init page: Editing has been initiated for the whole page section: 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=init click: Editing has been initiated from an edit link new: Editing has been initiated by clicking on redlink if type=page or new section link if type=section url: 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=saveFailure userBadToken: Save attempt failed because the user's token was bad userNewUser: Save attempt failed because the user's session has changed user extensionAbuseFilter: Save attempt failed because of the AbuseFilter extension extensionCaptcha: Save attempt failed because of the CAPTCHA extensions extensionSpamBlacklist: Save attempt failed because of the SpamBlacklist extension responseEmpty: Save attempt failed but the response was empty responseUnknown: Save attempt failed but the response was not recognised editPageDeleted: Save attempt failed because the page was deleted editConflict: 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 ready nochange: User is exiting the editor, and content block is unchanged / transaction stack is empty switchwith: User is switching from one editor to another, retaining changes switchwithout: User is switching from one editor to another, discarding changes switchnochange: User is switching from one editor to another, and the content block is unchanged / transaction stack is empty abandon: User is exiting the editor, discarding changes abandonMidsave: 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 control navigate: Editing was aborted by user navigating to another page navigate-back: Editing was aborted by user navigating to the previous page by means of the 'back' button/control in their browser navigate-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 initialised nochange: Time since the editor was ready switchwith: Time since the editor was ready switchwithout: Time since the editor was ready abandon: Time since the editor was ready abandonMidsave: Time since the user initiated a saveAttempt."
editor_interface
type"string"
enum
"visualeditor"
"wikitext-2017"
"wikitext"
"other"
requiredtrue
description"The editor interface through which the user is attempting to edit the page."
mw_version
type"string"
requiredtrue
description"MediaWiki version string."
platform
type"string"
enum
"desktop"
"tablet"
"phone"
"other"
requiredtrue
description"The editing device through which the user is attempting to edit the page."
integration
type"string"
enum
"page"
"flow"
"lqt"
"app"
"discussiontools"
requiredtrue
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"
requiredtrue
description"A string of 32 alphanumeric characters, unique to the current page view session; used for grouping events."
user_id
type"integer"
requiredtrue
description"The user id (0 if logged out)."
user_editcount
type"integer"
requiredtrue
description"The total number of edits of the user."
user_class
type"string"
enum
"IP"
"bot"
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."