Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Wikipedia: Mediawiki-CVS

SVN: [59283] trunk/extensions/UsabilityInitiative/ClickTracking

 

 

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded


catrope at svn

Nov 20, 2009, 4:38 AM

Post #1 of 1 (74 views)
Permalink
SVN: [59283] trunk/extensions/UsabilityInitiative/ClickTracking

http://www.mediawiki.org/wiki/Special:Code/MediaWiki/59283

Revision: 59283
Author: catrope
Date: 2009-11-20 12:38:26 +0000 (Fri, 20 Nov 2009)

Log Message:
-----------
* ClickTracking: Add index on action_time
* Make table definitions SQLite-compatible
* Add a few FIXMEs
* Use tabs instead of spaces; this extension desperately needs stylize.php

Modified Paths:
--------------
trunk/extensions/UsabilityInitiative/ClickTracking/ApiClickTracking.php
trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.hooks.php
trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.sql
trunk/extensions/UsabilityInitiative/ClickTracking/ClickTrackingEvents.sql
trunk/extensions/UsabilityInitiative/ClickTracking/SpecialClickTracking.php

Added Paths:
-----------
trunk/extensions/UsabilityInitiative/ClickTracking/patch-action_time.sql

Modified: trunk/extensions/UsabilityInitiative/ClickTracking/ApiClickTracking.php
===================================================================
--- trunk/extensions/UsabilityInitiative/ClickTracking/ApiClickTracking.php 2009-11-20 10:15:30 UTC (rev 59282)
+++ trunk/extensions/UsabilityInitiative/ClickTracking/ApiClickTracking.php 2009-11-20 12:38:26 UTC (rev 59283)
@@ -21,6 +21,7 @@
$session_id = $params['token'];

// Event ID lookup table
+ // FIXME: API should already have urldecode()d
$event_id = ClickTrackingHooks::getEventIDFromName( urldecode( $eventid_to_lookup ) );

$is_logged_in = $wgUser->isLoggedIn();

Modified: trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.hooks.php
===================================================================
--- trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.hooks.php 2009-11-20 10:15:30 UTC (rev 59282)
+++ trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.hooks.php 2009-11-20 12:38:26 UTC (rev 59283)
@@ -15,7 +15,7 @@

/* 3 tables for click tracking */
public static function schema() {
- global $wgExtNewTables;
+ global $wgExtNewTables, $wgExtNewIndexes;

$wgExtNewTables[] = array(
'click_tracking',
@@ -26,6 +26,11 @@
'click_tracking_events',
dirname( __FILE__ ) . '/ClickTrackingEvents.sql'
);
+
+ $wgExtNewIndexes[] = array(
+ 'click_tracking', 'click_tracking_action_time',
+ dirname( __FILE__ ) . '/patch-action_time.sql'
+ );

return true;
}

Modified: trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.sql
===================================================================
--- trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.sql 2009-11-20 10:15:30 UTC (rev 59282)
+++ trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.sql 2009-11-20 12:38:26 UTC (rev 59283)
@@ -29,4 +29,6 @@

-- event ID (not unique)
event_id integer NOT NULL
-) /*$wgDBTableOptions*/;
\ No newline at end of file
+) /*$wgDBTableOptions*/;
+
+CREATE INDEX /*i*/click_tracking_action_time ON /*_*/click_tracking (action_time);

Modified: trunk/extensions/UsabilityInitiative/ClickTracking/ClickTrackingEvents.sql
===================================================================
--- trunk/extensions/UsabilityInitiative/ClickTracking/ClickTrackingEvents.sql 2009-11-20 10:15:30 UTC (rev 59282)
+++ trunk/extensions/UsabilityInitiative/ClickTracking/ClickTrackingEvents.sql 2009-11-20 12:38:26 UTC (rev 59283)
@@ -9,8 +9,5 @@
event_name VARBINARY(255) unique,

-- day
- id INTEGER AUTO_INCREMENT,
-
- -- keyed on event, sql makes you use the id as a primary key
- PRIMARY KEY(id)
+ id INTEGER AUTO_INCREMENT PRIMARY KEY
) /*$wgDBTableOptions*/;

Modified: trunk/extensions/UsabilityInitiative/ClickTracking/SpecialClickTracking.php
===================================================================
--- trunk/extensions/UsabilityInitiative/ClickTracking/SpecialClickTracking.php 2009-11-20 10:15:30 UTC (rev 59282)
+++ trunk/extensions/UsabilityInitiative/ClickTracking/SpecialClickTracking.php 2009-11-20 12:38:26 UTC (rev 59283)
@@ -539,16 +539,19 @@
$time_constraint = $time_constraint_statement;

$dbr = wfGetDB( DB_SLAVE );
+
+ // NOTE: This query is a performance nightmare
+ // Permission to run it is restricted by default
$dbresult = $dbr->select(
- array( 'click_tracking', 'click_tracking_events' ),
- array( 'count(event_id) as totalevtid', 'event_id', 'event_name' ),
- $time_constraint,
- __METHOD__,
- array( 'GROUP BY' => 'event_id', 'ORDER BY' => 'totalevtid DESC' ),
- array( 'click_tracking_events' =>
- array( 'LEFT JOIN', 'event_id=click_tracking_events.id' )
- )
- );
+ array( 'click_tracking', 'click_tracking_events' ),
+ array( 'count(event_id) as totalevtid', 'event_id', 'event_name' ),
+ $time_constraint,
+ __METHOD__,
+ array( 'GROUP BY' => 'event_id', 'ORDER BY' => 'totalevtid DESC' ),
+ array( 'click_tracking_events' =>
+ array( 'LEFT JOIN', 'event_id=click_tracking_events.id' ) // FIXME: breaks when table prefixes are used
+ )
+ );

/*
$sql = "select count(event_id) as totalevtid, event_id,event_name from click_tracking" .
@@ -568,12 +571,12 @@

$dbr = wfGetDB( DB_SLAVE );
$conds = array_merge(
- self::getTimeConstraints($minTime,$maxTime),
- SpecialClickTracking::buildUserDefConstraints($userDef),
- array( 'event_id' => $event_id )
- );
- return wfGetDB( DB_SLAVE )->selectField(
- 'click_tracking', 'count(*)', $conds, __METHOD__ );
+ self::getTimeConstraints($minTime,$maxTime),
+ SpecialClickTracking::buildUserDefConstraints($userDef),
+ array( 'event_id' => $event_id )
+ );
+ return wfGetDB( DB_SLAVE )->selectField(
+ 'click_tracking', 'count(*)', $conds, __METHOD__ );

}


Added: trunk/extensions/UsabilityInitiative/ClickTracking/patch-action_time.sql
===================================================================
--- trunk/extensions/UsabilityInitiative/ClickTracking/patch-action_time.sql (rev 0)
+++ trunk/extensions/UsabilityInitiative/ClickTracking/patch-action_time.sql 2009-11-20 12:38:26 UTC (rev 59283)
@@ -0,0 +1,6 @@
+--
+-- Add index on click_tracking.action_time
+--
+
+CREATE INDEX /*i*/click_tracking_action_time ON /*_*/click_tracking (action_time);
+


Property changes on: trunk/extensions/UsabilityInitiative/ClickTracking/patch-action_time.sql
___________________________________________________________________
Added: svn:eol-style
+ native



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

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.