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

Reply via email to