Research talk:VisualEditor's effect on newly registered editors/Work log/2015-05-07

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search

Thursday, May 7, 2015[edit]

Today, I'm scoping out https://phabricator.wikimedia.org/T95938. We should see abort types for WikiText. I am specifically looking for the copy-paste pattern in wikitext.

First, I want to make sure the events are coming in and at a believable rate.

> SELECT event_editor, `event_action.abort.type`, COUNT(*) FROM Edit_11448630 WHERE timestamp BETWEEN "20150506" AND "20150507" AND event_action = "abort" GROUP BY 1,2 ;
+--------------+-------------------------+----------+
| event_editor | event_action.abort.type | COUNT(*) |
+--------------+-------------------------+----------+
| visualeditor | abandon                 |     5471 |
| visualeditor | abandonMidsave          |       34 |
| visualeditor | nochange                |    25827 |
| visualeditor | preinit                 |      269 |
| visualeditor | switchwith              |      201 |
| visualeditor | switchwithout           |     1628 |
| wikitext     | NULL                    |     2938 |
| wikitext     | abandon                 |     9566 |
| wikitext     | nochange                |   251844 |
| wikitext     | switchwithout           |      292 |
+--------------+-------------------------+----------+
10 rows in set (9.07 sec)

So that looks pretty good. The vast majority of wikitext aborts are no-change.

So, I set up a brand new incognito window for User:Wiki labeler and opened up two tabs. I refreshed the tabs until I saw the client-side ready event fire via the developer console to make sure that my two sessions were sampled. If for some reason, I missed seeing that event fire, we should expect to see a lot of aborts in the data. I want to make sure that none of those aborts say that I "abandon"'d a change.

> SELECT timestamp, event_editingSessionId, event_action, `event_page.revid`, `event_action.abort.type` FROM Edit_11448630 WHERE timestamp > "20150507" AND `event_page.title` LIKE "%labeler/sandbox";
+----------------+----------------------------------+--------------+------------------+-------------------------+
| timestamp      | event_editingSessionId           | event_action | event_page.revid | event_action.abort.type |
+----------------+----------------------------------+--------------+------------------+-------------------------+
| 20150507134534 | 31631cb9fbc8ca58389b3746d5adec16 | init         |        661165184 | NULL                    |
| 20150507134535 | 31631cb9fbc8ca58389b3746d5adec16 | ready        |                0 | NULL                    |
| 20150507134638 | 3e869d9337c2ad62d8d69a29b54a35a6 | ready        |                0 | NULL                    |
| 20150507134657 | 3e869d9337c2ad62d8d69a29b54a35a6 | saveAttempt  |        661165184 | NULL                    |
| 20150507134657 | 3e869d9337c2ad62d8d69a29b54a35a6 | saveSuccess  |        661252771 | NULL                    |
| 20150507134704 | 31631cb9fbc8ca58389b3746d5adec16 | abort        |                0 | nochange                |
+----------------+----------------------------------+--------------+------------------+-------------------------+
6 rows in set (7.48 sec)

COol! It looks like I did a good job of getting one abort session and one completed session logged. Now to check the abort type.

And it looks like our nochange abort type is working. Just to make sure. I'm going to try again, but I'll change the text a little bit before aborting so that we get an "abandon" event.

> SELECT timestamp, event_editingSessionId, event_action, `event_page.revid`, `event_action.abort.type` FROM Edit_11448630 WHERE timestamp > "20150507134704" AND `event_page.title` LIKE "%labeler/sandbox";
+----------------+----------------------------------+--------------+------------------+-------------------------+
| timestamp      | event_editingSessionId           | event_action | event_page.revid | event_action.abort.type |
+----------------+----------------------------------+--------------+------------------+-------------------------+
| 20150507135509 | 064610293f0059792334305ce08eca3c | init         |        661252771 | NULL                    |
| 20150507135511 | 064610293f0059792334305ce08eca3c | ready        |                0 | NULL                    |
| 20150507135527 | 03d6ae2f20b1cf25c858a2f5222e78d8 | init         |        661252771 | NULL                    |
+----------------+----------------------------------+--------------+------------------+-------------------------+
3 rows in set (0.08 sec)

Well... That's not right. I certainly saved the edits. I need to try this again, but I'm going to make note of the editingSessionId that I get in the browser.

Browser tab 1
{"event":{"version":1,"action":"ready","editor":"wikitext","platform":"desktop","integration":"page","page.id":46630381,"page.title":"User:Wiki_labeler/sandbox","page.ns":2,"page.revid":0,"page.length":-1,"user.id":25080938,"user.editCount":14,"mediawiki.version":"1.26wmf4","editingSessionId":"0b234d850a36fb4d6d4e5c8713cf3ce6","action.ready.timing":0},"revision":11448630,"schema":"Edit","webHost":"en.wikipedia.org","wiki":"enwiki"}
Browser tab 2
"event":{"version":1,"action":"ready","editor":"wikitext","platform":"desktop","integration":"page","page.id":46630381,"page.title":"User:Wiki_labeler/sandbox","page.ns":2,"page.revid":0,"page.length":-1,"user.id":25080938,"user.editCount":14,"mediawiki.version":"1.26wmf4","editingSessionId":"110e69e089734bb56ff834b9056752fa","action.ready.timing":0},"revision":11448630,"schema":"Edit","webHost":"en.wikipedia.org","wiki":"enwiki"}

OK. Now I make modifications in both tabs. But I'll only save in browser tab 1. I'll just close browser tab 2. ... and I get the "Leaving this page..." warning and click "Leave this page.". To the logging tables!

> SELECT timestamp, event_editingSessionId, event_action, `event_page.revid`, `event_action.abort.type` FROM Edit_11448630 WHERE timestamp > "20150507134704" AND `event_editingSessionId` IN ("110e69e089734bb56ff834b9056752fa", "0b234d850a36fb4d6d4e5c8713cf3ce6");
+----------------+----------------------------------+--------------+------------------+-------------------------+
| timestamp      | event_editingSessionId           | event_action | event_page.revid | event_action.abort.type |
+----------------+----------------------------------+--------------+------------------+-------------------------+
| 20150507135931 | 0b234d850a36fb4d6d4e5c8713cf3ce6 | init         |        661253862 | NULL                    |
| 20150507135956 | 0b234d850a36fb4d6d4e5c8713cf3ce6 | ready        |                0 | NULL                    |
| 20150507140059 | 110e69e089734bb56ff834b9056752fa | init         |        661253862 | NULL                    |
| 20150507140100 | 110e69e089734bb56ff834b9056752fa | ready        |                0 | NULL                    |
| 20150507140301 | 0b234d850a36fb4d6d4e5c8713cf3ce6 | saveAttempt  |        661253862 | NULL                    |
| 20150507140301 | 0b234d850a36fb4d6d4e5c8713cf3ce6 | saveSuccess  |        661254663 | NULL                    |
| 20150507140324 | 110e69e089734bb56ff834b9056752fa | abort        |                0 | abandon                 |
+----------------+----------------------------------+--------------+------------------+-------------------------+
7 rows in set (0.25 sec)

OK. Well that seems to work. Now I'd like to look at the proportions a little bit more carefully. We were seeing very low ready-->saveAttempt rates for wikitext in frwiki. I'd like to look at that after filtering out the nochange aborts, but I'll need to save that for next time. --Halfak (WMF) (talk) 14:17, 7 May 2015 (UTC)