[17:57:29] yo [17:59:21] dunno if there'll be a features team meeting, but if there's one I won't be able to be around, so I've created and updated http://eiximenis.wikimedia.org/FeaturesTeam20101214 [17:59:59] Yeah I need to poke Trevor, as it's in an hour [18:00:21] And we should choose an ext other than 2002 because the ops meeting is in there and I have a hunch that may run over [18:01:23] jorm: Is Trevor around? [18:01:35] no, not that i can see. [18:01:49] his laptop is not connected. [18:02:18] Hmph [18:02:33] When you see him, remind him of the team meeting that we have in less than an hour [18:02:49] We should use 2003 as our ext, as 2002 is being used for the ops meeting right now and I think there's a good chance it's gonna run overtime [18:06:54] will do. [18:07:01] if he doesn't show up in time, i'll run it. [18:10:02] OK [18:10:07] I'll send out the e-mail now [18:14:55] groovy. [18:40:15] robla: is 26334 is may still change right? bugs may be added or removed from that list? [18:40:29] yup [18:40:38] blah that made no sense. [18:40:39] heh [18:40:42] ok [18:55:12] ready for meetings? [19:05:21] Roan-meeting: another dutch canadian! [19:05:30] I know, right :P [19:07:49] TrevorParscal: When's your time off? [21:17:32] TrevorParscal: Around? [21:28:13] yp [21:28:41] I have some revs for you to review [21:28:53] !r 65923 [21:28:53] --elephant-- http://www.mediawiki.org/wiki/Special:Code/MediaWiki/65923 [21:28:55] That's a CSS rev [21:29:00] awesome [21:29:07] And my unreviewed revs to RL: https://secure.wikimedia.org/wikipedia/mediawiki/w/index.php?title=Special%3ACode%2FMediaWiki%2Fstatus%2Fnew&path=/trunk/phase3/includes/resourceloader [21:29:17] Those, BTW, are the ONLY 'new' revs in RL pre-branch [21:29:39] It's the poster boy of code review :D and I don't recall having done a review spree recently [21:30:10] ha ha [21:30:24] Although I've reviewed so much recently I wouldn't remember [21:30:33] 168 on one day still blows my mind [21:36:26] yeah, that's impressive [21:36:40] Well I did work 10 hours that day [21:37:01] And had a near-accident on the freeway, too [21:37:07] in the automatic? [21:37:13] No [21:37:24] That was a different day [21:37:54] No this was two exits away from my house, a bus merged onto the freeway without yielding to me [21:38:06] Changed into my lane just /before/ I'd passed it [21:39:44] This was exactly the evidence I needed to become convinced bus drivers are shitty drivers [21:42:27] TrevorParscal: Also, please review r78011, r78014, r78015, r78016 [21:46:56] RoanKattouw: http://eiximenis.wikimedia.org/TeamParscalKattouw - add to that list if you need [21:47:04] I will strike them when I finish them [21:49:22] Cool [22:03:47] Why am I getting the urge to mark the smw stuff deferred on my dev install when i'm using CR... [22:03:59] haha [22:45:18] Reedy: I could use a hand with AF [22:45:33] let me just put my plate in the kitchen and i'll try and help [22:45:38] you have not filtered the 0 values out of the total yet [22:45:42] k [22:45:45] I don't think... [22:51:12] Hmm [22:51:14] Seemingly not... [22:51:31] we need something like WHERE value > 0 [22:51:33] *Reedy svn ups [22:57:01] Reedy: $wgArticleFeedbackVersion = 'beta'; [22:57:05] blah, caching [22:57:06] Hmm? [22:59:35] [22:59:37] Yeah... [22:59:45] Seems we take 0 as a valid rating [22:59:59] Now, is that a bug, or a feature [23:00:22] I'm not sure if that's what was wanted last time [23:00:26] as you could "not rate" at all [23:01:51] the 0 ratings should not be part of the count [23:02:04] they are "abstain" votes [23:02:07] Yeah, what I'm saying, is I wonder if it was last time, I really can't remember [23:02:54] so... We need to take account for.. [23:03:04] 0 as a new vote, total no change, count no change [23:03:18] yup [23:03:19] 0 before, and a vote this time, so total++ and count+= rating [23:03:30] yup [23:03:37] and vote before, abstain this time, total--, count-=lastrating [23:03:43] yup [23:04:05] you can play with it if you use that global $wgArticleFeedbackVersion = 'beta'; [23:04:11] it allows deleting [23:04:25] yeah, i noticed, and that version seems to work :P [23:04:48] So... It won't affect the user rating, only the page rating [23:05:41] yeah [23:05:51] because the user rating doesn't care about the count [23:06:11] but when you start doing averages, when there's a bunch of zeros, it throws off the value [23:06:28] and, the count should come through as 0 if there are only 0 value ratings for it [23:06:40] which will cause the label at the bottom of the meter to read "no ratings" [23:14:32] TrevorParscal, think I've done it.. Want me to commit for a sanity check? [23:14:39] yes [23:19:29] can we get a rating breakdown? [23:19:55] a break down like on amazon's ratings? [23:19:56] oh, yeah that's something else that would be nice to have in the API [23:20:24] something that just shows us X 1, Y 2, Z 3, etc. [23:20:32] Reedy: a next task would be to have the API also return the number of 1s, 2s, 3s, 4s and 5s [23:20:38] so we can do light histogram mappings. [23:20:39] that way we can show the proportions [23:20:52] well, histogram is over time... [23:21:01] is it not? [23:21:19] no it's not [23:21:23] it's just distribution [23:21:28] ok... so yeah, what he said [23:22:43] Reedy: this is what we mean: http://img26.imageshack.us/img26/9959/screenshot20101214at324.png [23:22:54] we need the number of rows for each value [23:22:58] 1-5 [23:23:42] *TrevorParscal thinks Reedy is on holiday [23:23:50] brb [23:23:50] Haha [23:23:51] those british folk. [23:23:51] I wish [23:23:55] and their holidays. [23:25:18] We still need to tidy up "clearing" ratings [23:25:36] Buckets to add, but that's trivial. Just need someone to suggest what to do for the "old" one, default null? [23:25:45] cool [23:25:59] 78409 [23:26:16] Reedy: what's the tidy up stuff? [23:26:27] i mean clarify [23:26:31] ah [23:26:49] as it was still a jumble when we discussed it last week [23:27:20] k [23:27:46] for the rating buckets, default to null for the old stuff? [23:27:52] it pretty much means "set value to 0." [23:29:46] what's gonna be the best column name to call the multiple rating designs? [23:30:19] you mean to track which of the versions (a/b/c) the user gets? [23:30:25] "designbucket" [23:30:34] are we doing numbers or characters? [23:30:56] numbers is fine. [23:31:00] all current ones are bucket 0. [23:31:07] new ones will be 1, 2, 3, etc. [23:31:17] right, sounds sane [23:31:27] we can then ignore 0 from the stats for this [23:31:29] just version or soemthing [23:31:35] bucket is fine [23:42:20] Database side done [23:45:50] API side done [23:46:24] cool [23:46:30] we need to also not be doing updates [23:46:38] Hmm? [23:46:50] if we do insert only (append only) then we can retain historic information [23:46:56] to build charts out of it [23:47:29] but we've got a PK issue where a single user tries to rate an article on the same revision more than once [23:47:42] yeah [23:47:43] so we'd need to create a PK of something a unique rating id or something [23:47:58] their most recent rating is the only one that will count in the current average [23:48:07] same as now [23:48:13] yeah [23:48:18] just a way to store the multiple user ratings [23:48:18] you would have to add another filter to the totalling query [23:48:30] yeah [23:48:35] we want to basically log things [23:48:54] seemingly, just some auto_incremement id would "fix" that issue easily [23:49:06] so, even if we just say, if you are going to update, first copy the current row to a history table, then update [23:49:14] row copying sucks [23:49:17] i imagine [23:49:18] yeah... [23:49:24] well, I don't know - I'm just saying [23:49:30] heh, an idea to thrash out [23:49:30] the table would scale better that way [23:49:41] inserting on a big table is cheaper than updating [23:49:47] hmmm [23:49:50] you're just wanting the rating distribution for one page, yes? [23:50:05] the distribution is something else... [23:50:07] "one" [23:50:10] sorry if I'm being unclear [23:50:12] yeah, i was just updating the tasks :P [23:50:28] so, there are 2 things we need to do [23:50:40] i was meaning, you want to get a list rating counts for a specific page [23:50:49] rather than just the count and total [23:50:54] 1. the query API call should return not only the totals, but also a breakdown of totals for each value [23:51:01] right, yeah [23:51:36] 2. we want to never delete any information, so we can look back and say, what was the rating at a specific time [23:51:56] 1. allows us to do things like http://img26.imageshack.us/img26/9959/screenshot20101214at324.png [23:52:12] mhmm [23:52:15] 2. allows us to build a chart that shows the article's ratings over time [23:52:41] I am happy to help you, but I don't really have any need to tell you how, just waht [23:52:51] just need to explore if theres any other way to "remove" the need to update stuff, so we can just update [23:52:51] heh [23:52:59] also, in the future, allows us to dump the values onto the history page so we can see directly over time. [23:53:03] (woot woot) [23:53:04] however you think we should accomplish those things, I know you are a smart enough guy, I'm sure it will be awesome [23:53:19] or if some uid (auto_incremement) is the simplest/effective-est [23:53:37] I'm not sure how the db would handle the addition of an autoincrement on a table with stuff on it :P [23:53:47] hmm [23:53:53] it should just assign new IDs [23:53:57] AFAIK, yeah [23:54:01] Roan will know more about that [23:54:08] it's easy to test.. [23:54:15] do you feel like you know what I'm getting at? [23:54:19] yup [23:56:12] :) [23:56:59] mysql> alter table fb_new add column aa_id int not null auto_increment first; [23:56:59] ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key [23:57:25] ah, you have another auto column? or did you not key it? [23:57:27] *Reedy wonders if that means we'd have to drop and recreat indexes [23:57:44] nope, we don't [23:58:19] but we have a PK [23:58:20] PRIMARY KEY (aa_revision, aa_user_text, aa_rating_id, aa_user_anon_token) [23:59:07] *Reedy shrugs [23:59:09] It must be doable [23:59:36] i seem to remember doing some funky index renames/moves/recreates during dev before [23:59:44] it's just how long it'd take to do it and re-replicate