Awight has uploaded a new change for review. https://gerrit.wikimedia.org/r/141097
Change subject: WIP Log edit lifecycle events ...................................................................... WIP Log edit lifecycle events This introduces a new session variable, wmeEditSessionId, which is used to track the edit session lifecycle and is reset on the initial edit page load. TODO: * See https://wikitech.wikimedia.org/wiki/User:Awight/Edit_logging#Issues Change-Id: Ibc4488adc08d4569ae29cce8e901fd97eb6b9f08 --- M WikimediaEvents.php M WikimediaEventsHooks.php 2 files changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikimediaEvents refs/changes/97/141097/1 diff --git a/WikimediaEvents.php b/WikimediaEvents.php index e3b01f3..2394b4e 100644 --- a/WikimediaEvents.php +++ b/WikimediaEvents.php @@ -81,3 +81,4 @@ $wgHooks['TitleMoveComplete'][] = 'WikimediaEventsHooks::onTitleMoveComplete'; $wgHooks['PageContentInsertComplete'][] = 'WikimediaEventsHooks::onPageContentInsertComplete'; $wgHooks['EditPageBeforeConflictDiff'][] = 'WikimediaEventsHooks::onEditPageBeforeConflictDiff'; +$wgHooks['EditPage::showEditForm:initial'][] = 'WikimediaEventsHooks::onEditPageShowEditFormInitial'; diff --git a/WikimediaEventsHooks.php b/WikimediaEventsHooks.php index 18bd42e..b1c2ccc 100644 --- a/WikimediaEventsHooks.php +++ b/WikimediaEventsHooks.php @@ -280,4 +280,37 @@ return true; } + + public static function onEditPageShowEditFormInitial( $editPage, &$out ) { + $user = $out->getUser(); + + // FIXME: browser-reloading the page will fool this check + if ( $editPage->firsttime ) { + $action = 'begin'; + $editSessionId = MWCryptRand::generateHex( 64 ); + $out->getRequest()->setSessionData( 'wmeEditSessionId', $editSessionId ); + } else { + $action = 'reload'; + $editSessionId = $out->getRequest()->getSessionData( 'wmeEditSessionId' ); + } + + $isAPI = defined( 'MW_API' ); + $isMobile = class_exists( 'MobileContext' ) && MobileContext::singleton()->shouldDisplayMobileView(); + $title = $out->getTitle(); + $token = $user->getEditToken(); + + EventLogging::logEvent( 'EditLifecycle', 8956431, array( + 'action' => $action, + 'editSessionId' => $editSessionId, + 'isAPI' => $isAPI, + 'isMobile' => $isMobile, + 'pageId' => $title->getArticleID(), + 'pageNs' => $title->getNamespace(), + 'pageName' => $title->getDBkey(), + 'revId' => $editPage->oldid, + 'userId' => $user->getId(), + ) ); + + return true; + } } -- To view, visit https://gerrit.wikimedia.org/r/141097 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ibc4488adc08d4569ae29cce8e901fd97eb6b9f08 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/WikimediaEvents Gerrit-Branch: master Gerrit-Owner: Awight <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
