https://www.mediawiki.org/wiki/Special:Code/MediaWiki/114835

Revision: 114835
Author:   bsitu
Date:     2012-04-10 20:33:39 +0000 (Tue, 10 Apr 2012)
Log Message:
-----------
remove redundant metadata

Modified Paths:
--------------
    trunk/extensions/PageTriage/includes/ArticleMetadata.php
    trunk/extensions/PageTriage/includes/PageTriage.php
    trunk/extensions/PageTriage/sql/PageTriageTags.sql

Added Paths:
-----------
    trunk/extensions/PageTriage/sql/PageTriageTagCleanup.sql

Modified: trunk/extensions/PageTriage/includes/ArticleMetadata.php
===================================================================
--- trunk/extensions/PageTriage/includes/ArticleMetadata.php    2012-04-10 
19:52:19 UTC (rev 114834)
+++ trunk/extensions/PageTriage/includes/ArticleMetadata.php    2012-04-10 
20:33:39 UTC (rev 114835)
@@ -143,15 +143,20 @@
                        $dbr = wfGetDB( DB_SLAVE );
 
                        $res = $dbr->select(
-                                       array( 'pagetriage_page_tags', 
'pagetriage_tags' ),
-                                       array( 'ptrpt_page_id', 
'ptrt_tag_name', 'ptrpt_value' ),
-                                       array( 'ptrpt_page_id' => $articles, 
'ptrpt_tag_id = ptrt_tag_id' ),
+                                       array( 'pagetriage_page_tags', 
'pagetriage_tags', 'pagetriage_page' ),
+                                       array( 'ptrpt_page_id', 
'ptrt_tag_name', 'ptrpt_value', 'ptrp_reviewed', 'ptrp_timestamp', 
'ptrp_deleted' ),
+                                       array( 'ptrpt_page_id' => $articles, 
'ptrpt_tag_id = ptrt_tag_id', 'ptrpt_page_id = ptrp_page_id' ),
                                        __METHOD__
                        );
 
                        $pageData = array();
                        foreach ( $res as $row ) {
                                
$pageData[$row->ptrpt_page_id][$row->ptrt_tag_name] = $row->ptrpt_value;
+                               if ( !isset( 
$pageData[$row->ptrpt_page_id]['creation_date'] ) ) {
+                                       
$pageData[$row->ptrpt_page_id]['creation_date'] = $row->ptrp_timestamp;
+                                       
$pageData[$row->ptrpt_page_id]['patrol_status'] = $row->ptrp_reviewed;
+                                       
$pageData[$row->ptrpt_page_id]['deleted'] = $row->ptrp_deleted;
+                               }
                        }
 
                        foreach ( $articles as $key => $pageId ) {
@@ -330,10 +335,11 @@
                if ( in_array( 'CategoryCount', $completed ) ) {
                        $deletionTags = 
ArticleCompileDeletionTag::getDeletionTags();
                        foreach ( $this->metadata as $pageId => $row ) {
+                               $this->metadata[$pageId]['deleted'] = '0';
                                foreach( $deletionTags as $val ) {
                                        if ( $this->metadata[$pageId][$val] ) {
                                                
$this->metadata[$pageId]['category_count'] -= 1;
-                                               // This won't be saved to db, 
only for later reference later
+                                               // This won't be saved to db, 
only for later reference
                                                
$this->metadata[$pageId]['deleted'] = '1';
                                        }
                                }
@@ -418,9 +424,11 @@
                foreach ( $res as $row ) {
                        $title = Title::makeTitle( $row->page_namespace, 
$row->page_title );
                        $this->metadata[$row->page_id]['page_len'] = 
$row->page_len;
-                       $this->metadata[$row->page_id]['creation_date'] = 
$row->creation_date;
                        $this->metadata[$row->page_id]['rev_count'] = 
$row->rev_count;
                        $this->metadata[$row->page_id]['title'] = 
$title->getPrefixedText();
+                       // The following data won't be saved into metadata 
since they are not metadata tags
+                       // just for saving into cache later
+                       $this->metadata[$row->page_id]['creation_date'] = 
$row->creation_date;
                        $this->metadata[$row->page_id]['patrol_status'] = 
$row->ptrp_reviewed;
                }
 

Modified: trunk/extensions/PageTriage/includes/PageTriage.php
===================================================================
--- trunk/extensions/PageTriage/includes/PageTriage.php 2012-04-10 19:52:19 UTC 
(rev 114834)
+++ trunk/extensions/PageTriage/includes/PageTriage.php 2012-04-10 20:33:39 UTC 
(rev 114835)
@@ -95,13 +95,9 @@
                        $this->logUserTriageAction( $user );
                }
                $dbw->commit();
-
-               // Regenerate article basic data
-               $acp = ArticleCompileProcessor::newFromPageId( array( 
$this->mPageId ) );
-               if ( $acp ) {
-                       $acp->registerComponent( 'BasicData' );
-                       $acp->compileMetadata();
-               }
+               // flush the cache so cached triage status is updated
+               $articleMetadata = new ArticleMetadata( array( $this->mPageId ) 
);
+               $articleMetadata->flushMetadataFromCache();
        }
        
        /**

Added: trunk/extensions/PageTriage/sql/PageTriageTagCleanup.sql
===================================================================
--- trunk/extensions/PageTriage/sql/PageTriageTagCleanup.sql                    
        (rev 0)
+++ trunk/extensions/PageTriage/sql/PageTriageTagCleanup.sql    2012-04-10 
20:33:39 UTC (rev 114835)
@@ -0,0 +1,3 @@
+-- temporary patch for devs who don't want to replace their tables.  will 
delete this later.
+
+DELETE pagetriage_page_tags, pagetriage_tags FROM pagetriage_page_tags, 
pagetriage_tags WHERE ptrpt_tag_id = ptrt_tag_id AND ptrt_tag_name IN ( 
'patrol_status', 'creation_date' );


Property changes on: trunk/extensions/PageTriage/sql/PageTriageTagCleanup.sql
___________________________________________________________________
Added: svn:eol-style
   + native

Modified: trunk/extensions/PageTriage/sql/PageTriageTags.sql
===================================================================
--- trunk/extensions/PageTriage/sql/PageTriageTags.sql  2012-04-10 19:52:19 UTC 
(rev 114834)
+++ trunk/extensions/PageTriage/sql/PageTriageTags.sql  2012-04-10 20:33:39 UTC 
(rev 114835)
@@ -16,10 +16,8 @@
 ('prod_status', 'PROD status'),
 ('blp_prod_status', 'BLP PROD status'),
 ('afd_status', 'AFD status'),
-('patrol_status', 'Already reviewed'),
 ('rev_count', 'Number of edits to the article'),
 ('page_len', 'Number of bytes of article'),
-('creation_date', 'Article creation date'),
 ('snippet', 'Beginning of article snippet'),
 ('user_name', 'User name'),
 ('user_editcount', 'User total edit'),


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

Reply via email to