jenkins-bot has submitted this change and it was merged.

Change subject: Add properties that will be logged with each EL request
......................................................................


Add properties that will be logged with each EL request

Bug: T131315
Change-Id: I16f5f8170174200bb20c6bcc2835efd136d752ff
---
M Popups.hooks.php
M resources/ext.popups.renderer.article.js
M resources/ext.popups.renderer/desktopRenderer.js
M resources/ext.popups.schemaPopups.js
4 files changed, 58 insertions(+), 5 deletions(-)

Approvals:
  Jdlrobson: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/Popups.hooks.php b/Popups.hooks.php
index e868af7..7db5a8f 100644
--- a/Popups.hooks.php
+++ b/Popups.hooks.php
@@ -75,6 +75,7 @@
                        $schemaPopups += [
                                'dependencies' => [
                                        'schema.Popups',
+                                       'mediawiki.user'
                                ],
                                'scripts' => [
                                        'resources/ext.popups.schemaPopups.js',
diff --git a/resources/ext.popups.renderer.article.js 
b/resources/ext.popups.renderer.article.js
index ff24b94..9aaef01 100644
--- a/resources/ext.popups.renderer.article.js
+++ b/resources/ext.popups.renderer.article.js
@@ -149,6 +149,7 @@
 
                mw.popups.render.cache[ href ].settings = {
                        title: page.title,
+                       namespace: page.ns,
                        tall: ( tall === undefined ) ? false : tall,
                        thumbnail: ( thumbnail === undefined ) ? false : 
thumbnail
                };
diff --git a/resources/ext.popups.renderer/desktopRenderer.js 
b/resources/ext.popups.renderer/desktopRenderer.js
index 2d47012..a62c399 100644
--- a/resources/ext.popups.renderer/desktopRenderer.js
+++ b/resources/ext.popups.renderer/desktopRenderer.js
@@ -187,7 +187,7 @@
                // Event logging
                mw.popups.logData = {
                        pageTitleHover: cache.settings.title,
-                       pageTitleSource: mw.config.get( 'wgTitle' ),
+                       namespaceIdHover: cache.settings.namespace,
                        popupEnabled: mw.popups.enabled,
                        time: mw.now()
                };
diff --git a/resources/ext.popups.schemaPopups.js 
b/resources/ext.popups.schemaPopups.js
index 9deb2fb..60b0cff 100644
--- a/resources/ext.popups.schemaPopups.js
+++ b/resources/ext.popups.schemaPopups.js
@@ -1,15 +1,66 @@
 ( function ( $, mw ) {
+       var schemaPopups,
+               defaults;
+
        /**
-        * Log the popup event as defined in the schema
+        * Return the sampling rate for the Schema:Popups
         *
-        * https://meta.wikimedia.org/wiki/Schema:Popups
+        * The sampling rate is always 0 if the browser doesn't support
+        * `navigator.sendBeacon`.
+        *
+        * @return {number}
         */
-       var schemaPopups = new mw.eventLog.Schema(
+       function getSamplingRate() {
+               return $.isFunction( navigator.sendBeacon ) ?
+                       mw.config.get( 'wgPopupsSchemaPopupsSamplingRate', 0 ) 
: 0;
+       }
+
+       /**
+        * Return edit count bucket based on the number of edits
+        *
+        * @return {string}
+        */
+       function getEditCountBucket( editCount ) {
+               var bucket;
+
+               if ( editCount === 0 ) {
+                       bucket = '0';
+               } else if ( editCount >= 1 && editCount <= 4 ) {
+                       bucket = '1-4';
+               } else if ( editCount >= 5 && editCount <= 99 ) {
+                       bucket = '5-99';
+               } else if ( editCount >= 100 && editCount <= 999 ) {
+                       bucket = '100-999';
+               } else if ( editCount >= 1000 ) {
+                       bucket = '1000+';
+               }
+
+               return bucket + ' edits';
+       }
+
+       // Data that will be logged with each EL request
+       defaults = {
+               pageTitleSource: mw.config.get( 'wgPageName' ),
+               namespaceIdSource: mw.config.get( 'wgNamespaceNumber' ),
+               pageIdSource: mw.config.get( 'wgArticleId' ),
+               isAnon: mw.user.isAnon()
+       };
+
+       // Include edit count bucket if the user is logged in.
+       if ( !mw.user.isAnon() ) {
+               defaults.editCountBucket = getEditCountBucket( mw.config.get( 
'wgUserEditCount' ) );
+       }
+
+       // Log the popup event as defined in the schema
+       // https://meta.wikimedia.org/wiki/Schema:Popups
+       schemaPopups = new mw.eventLog.Schema(
                'Popups',
-               mw.config.get( 'wgPopupsSchemaPopupsSamplingRate', 0 )
+               getSamplingRate(),
+               defaults
        );
 
        mw.trackSubscribe( 'ext.popups.schemaPopups', function ( topic, data ) {
                schemaPopups.log( data );
        } );
+
 } )( jQuery, mediaWiki );

-- 
To view, visit https://gerrit.wikimedia.org/r/289065
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I16f5f8170174200bb20c6bcc2835efd136d752ff
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/Popups
Gerrit-Branch: master
Gerrit-Owner: Bmansurov <bmansu...@wikimedia.org>
Gerrit-Reviewer: Bmansurov <bmansu...@wikimedia.org>
Gerrit-Reviewer: Jdlrobson <jrob...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to