Hoo man has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/191643

Change subject: Schedule a LinksUpdate job if sitelinks changed
......................................................................

Schedule a LinksUpdate job if sitelinks changed

And no longer purge the page.

We handle langlinks using ParserOuput these days
so that this is fine for the UI and it also makes
the API output (action=query&prop=langlinks) work.

I tested that unlinking and initially linking a client
page does still trigger all relevant updates (which is
more than LinksUpdate).

Bug: T89903
Change-Id: I6b8b7bce1f2843af0fa43db24af9c71a2c3e875c
(cherry picked from commit 2b28deb7de4f20ccb5c0bf15d96254eaaf8bcfde)
---
M client/includes/Changes/ChangeHandler.php
M client/tests/phpunit/includes/Changes/ChangeHandlerTest.php
2 files changed, 20 insertions(+), 25 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/43/191643/1

diff --git a/client/includes/Changes/ChangeHandler.php 
b/client/includes/Changes/ChangeHandler.php
index 1942555..0e645bb 100644
--- a/client/includes/Changes/ChangeHandler.php
+++ b/client/includes/Changes/ChangeHandler.php
@@ -206,14 +206,7 @@
                $all = isset( $aspects[EntityUsage::ALL_USAGE] );
 
                if ( isset( $aspects[EntityUsage::SITELINK_USAGE] ) || $all ) {
-                       // @fixme: LinksUpdate doesn't seem to work to refresh 
site links
-                       // when used on it's own with out parsing.
-                       // LinksUpdate or our interaction with it should be 
changed
-                       // so that site links can be updated without parse.
-                       // For now, we need to still do parse for site link 
changes.
-                       //
-                       // $actions[self::LINKS_UPDATE_ACTION] = true;
-                       $actions[self::PARSER_PURGE_ACTION] = true;
+                       $actions[self::LINKS_UPDATE_ACTION] = true;
                }
 
                if ( isset( $aspects[EntityUsage::LABEL_USAGE] ) || $all ) {
@@ -234,11 +227,6 @@
                        $actions[self::WEB_PURGE_ACTION] = true;
                        $actions[self::RC_ENTRY_ACTION] = true;
                        $actions[self::HISTORY_ENTRY_ACTION] = true;
-               }
-
-               // If we purge the parser cache, the links update is redundant.
-               if ( isset( $actions[self::PARSER_PURGE_ACTION] ) ) {
-                       unset( $actions[self::LINKS_UPDATE_ACTION] );
                }
 
                return array_keys( $actions );
diff --git a/client/tests/phpunit/includes/Changes/ChangeHandlerTest.php 
b/client/tests/phpunit/includes/Changes/ChangeHandlerTest.php
index a7b5f28..bd87a2c 100644
--- a/client/tests/phpunit/includes/Changes/ChangeHandlerTest.php
+++ b/client/tests/phpunit/includes/Changes/ChangeHandlerTest.php
@@ -190,8 +190,8 @@
                        ),
                        'sitelink usage' => array( // #1
                                array( EntityUsage::SITELINK_USAGE ),
-                               array( ChangeHandler::PARSER_PURGE_ACTION, 
ChangeHandler::WEB_PURGE_ACTION, ChangeHandler::RC_ENTRY_ACTION ),
-                               array( ChangeHandler::LINKS_UPDATE_ACTION )
+                               array( ChangeHandler::LINKS_UPDATE_ACTION, 
ChangeHandler::WEB_PURGE_ACTION, ChangeHandler::RC_ENTRY_ACTION ),
+                               array( ChangeHandler::PARSER_PURGE_ACTION )
                        ),
                        'label usage' => array(
                                array( EntityUsage::LABEL_USAGE ),
@@ -211,12 +211,12 @@
                        'all usage' => array(
                                array( EntityUsage::ALL_USAGE ),
                                array( ChangeHandler::PARSER_PURGE_ACTION, 
ChangeHandler::WEB_PURGE_ACTION, ChangeHandler::RC_ENTRY_ACTION ),
-                               array( ChangeHandler::LINKS_UPDATE_ACTION )
+                               array()
                        ),
-                       'sitelink and other usage (no redundant links update)' 
=> array(
+                       'sitelink and other usage (does links update)' => array(
                                array( EntityUsage::SITELINK_USAGE, 
EntityUsage::OTHER_USAGE ),
-                               array( ChangeHandler::PARSER_PURGE_ACTION, 
ChangeHandler::WEB_PURGE_ACTION, ChangeHandler::RC_ENTRY_ACTION ),
-                               array( ChangeHandler::LINKS_UPDATE_ACTION )
+                               array( ChangeHandler::LINKS_UPDATE_ACTION, 
ChangeHandler::PARSER_PURGE_ACTION, ChangeHandler::WEB_PURGE_ACTION, 
ChangeHandler::RC_ENTRY_ACTION ),
+                               array()
                        ),
                );
        }
@@ -511,15 +511,22 @@
                );
 
                $emmyUpdateLinks = array(
-                       'purgeParserCache' => array( 'Emmy' => true ),
-                       'scheduleRefreshLinks' => array(),
+                       'purgeParserCache' => array(),
+                       'scheduleRefreshLinks' => array( 'Emmy' => true ),
                        'purgeWebCache' => array( 'Emmy' => true ),
                        'injectRCRecord' => array( 'Emmy' => true ),
                );
 
                $emmy2UpdateLinks = array(
+                       'purgeParserCache' => array(),
+                       'scheduleRefreshLinks' => array( 'Emmy2' => true ),
+                       'purgeWebCache' => array( 'Emmy2' => true ),
+                       'injectRCRecord' => array( 'Emmy2' => true ),
+               );
+
+               $emmy2UpdateAll = array(
                        'purgeParserCache' => array( 'Emmy2' => true ),
-                       'scheduleRefreshLinks' => array(),
+                       'scheduleRefreshLinks' => array( 'Emmy2' => true ),
                        'purgeWebCache' => array( 'Emmy2' => true ),
                        'injectRCRecord' => array( 'Emmy2' => true ),
                );
@@ -554,7 +561,7 @@
                        array( // #5
                                $changes['item-deletion-linked'],
                                array( 'q100' => array( 'enwiki' => 'Emmy2' ) ),
-                               $emmy2PurgeParser
+                               $emmy2UpdateAll
                        ),
 
                        array( // #6
@@ -609,8 +616,8 @@
                                $changes['change-enwiki-sitelink'],
                                array( 'q100' => array( 'enwiki' => 'Emmy' ), 
'q200' => array( 'enwiki' => 'Emmy2' ) ),
                                array(
-                                       'purgeParserCache' => array( 'Emmy' => 
true, 'Emmy2' => true ),
-                                       'scheduleRefreshLinks' => array(),
+                                       'purgeParserCache' => array(),
+                                       'scheduleRefreshLinks' => array( 'Emmy' 
=> true, 'Emmy2' => true ),
                                        'purgeWebCache' => array( 'Emmy' => 
true, 'Emmy2' => true ),
                                        'injectRCRecord' => array( 'Emmy' => 
true, 'Emmy2' => true ),
                                )

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6b8b7bce1f2843af0fa43db24af9c71a2c3e875c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: wmf/1.25wmf16
Gerrit-Owner: Hoo man <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to