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