[00:13:05] has anyone done a lot of work with media/movie uploads to a mediawiki? Specically, making them playable /on the Media: page itself/? MPGs I can do normal s for, and Flash files I can do various extensions for but /only inline on another page/, not on the Media: page itself. [00:14:37] you mean the Image: page? [00:15:10] right. but if you upload a non Image, doesn't it become Media:? [00:15:19] no [00:15:36] oh. so everything is always "really" Image, and Media is just a synonym? the hell is Media: if not? [00:15:51] Media: actually means "download" [00:16:01] oh? interesting. [00:16:02] I've suggested renaming it, but nobody seemed to be keen for some reason [00:16:09] so, if I upload Image:Whee.mpg [00:16:14] and link to it as Media:whee.mpg... [00:16:18] it'll download the literal file? [00:16:21] yes [00:16:28] *Morbus scratches chin. [00:16:31] well, that's kinda handy [00:16:57] anyway, the feature you want is quite possible, and I've done it for Ogg Theora/Vorbis files [00:17:02] well, that's good to know. but, anyways, b... ok. [00:17:07] it's in the extension called OggHandler [00:17:10] as an extension? sample co... thanks. [00:17:29] Media:/Image: is also quite sexy for #ifexist <3 [00:17:42] I don't think anyone has done it for MPEG files yet, but you can always transcode to theora [00:17:57] i'd rather not transcode. [00:18:11] ideally, if its an mpg, i'd just offer a clearer download link. [00:18:16] and if it's Flash, i'd embed a player. [00:18:49] TimStarling: do you have a pointer to which file or hook I"m specifically looking at? i'm starting at the ogghandler svn now. [00:19:08] and/or a demo? ;) [00:19:18] of your override, i mean. not a "write my code please". [00:19:36] 03siebrand * r29522 10/trunk/phase3/languages/messages/MessagesAst.php: Localisation updates. Update namespaces per http://ast.wikipedia.org/w/index.php?title=Uiquipedia:Votaciones&oldid=216561 [00:20:22] well, the image description page will call the transform() method of the media handler for that file type, which will produce HTML for a video control [00:20:43] that's the same way that images work [00:20:45] yeah, that's fine. i can mod it as needed, i'm just looking for the hook/function you use. [00:20:58] the issue is that the extensions you have already don't define a media handler [00:21:04] they just make a parser extension [00:21:17] ah. [00:21:38] so you use parserTransformHook and outputHook to transcode, then spit out setHeaders. [00:22:53] that approach causes a bug with shared image repositories, it might be better to just set the headers unconditionally [00:24:17] http://bugzilla.wikimedia.org/show_bug.cgi?id=11289 [00:25:42] mm. [00:25:43] ok. [00:26:47] certainly tell me to "just try it" (cos I haven't), but what happens if i upload a flv or a mpg /without/ any sort of special handling? Does MW display a broken box? Nothing at all? It's normal metadata information? I could always add the flashplayer in the image description itself, and/or a clickable link for MPG playing. [00:26:57] I don't yet know if i'm gonna be doing MPG or Flash. I'm still examining the options. [00:27:37] anybody knows where mediawiki hosts CSS content for title=- referese? (user styles are on) [00:27:44] it won't display any image or video player [00:28:02] image links like [[Image:Thing.mpg]] will just be text links to the image description page [00:28:18] and the image description page will show a generic metadata message, just telling you the file size and mime type [00:28:24] ok. so inline, I would use Media:Thing.mpg, or (depending on the extension) [00:28:43] that may be enough, really. /me thinks. [00:28:53] ideally, Flash would be better in that regard because it saves an extra click... [00:28:58] for an extension like OggHandler, you actually use [[Image:Thing.mpg]] to make the video player [00:29:11] yeah, I don't want to transcode to Ogg, that's my main problem. [00:29:14] [[Media:Thing.mpg]] just makes a download link, same as the old behaviour [00:29:29] that's how it works for any media handler [00:30:44] extensions that use are OK, but the Image: page will be very sparse, with no video-specific metadata or video player [00:30:49] unless you put it there by editing the page [00:33:17] right, which I would. [00:33:31] i don't care much about metadata display. [00:33:53] the thing i most care about is "can i get rid of the extra Media:File.MPG click if someone goes to Image:File.MPG" [00:34:01] and, at the moment, that means "embed flash player in image description". [00:34:07] I'm still undecided the best way to go. [00:34:41] anybody knows where mediawiki hosts content served by header emit @import "/index.php?title=-&action=raw&gen=css" ? [00:35:19] mediawiki:common.css [00:35:21] and friends [00:35:21] i believe thats a collection of MediaWiki:Common.css and user CSS and etc. [00:35:28] yeah + user css [00:35:39] and or skinspecific CSS, like MonoBook:Common.css [00:36:25] that the thing - MediaWiki:Common.css reports its empty [00:37:03] Morbus: mediawiki:monobook.css [00:37:03] it is, by default. [00:37:04] ;-) [00:37:09] oh? [00:37:15] shows how much i know. ;) [00:38:06] TimStarling: what would happen if I included Media:Image.png in a ? [00:38:08] *Morbus tries. [00:38:16] imports go as mediawiki:common , then skin import (i have custom skin, its my file) and finally 3rd one that mysterious title=- [00:38:35] which i have no clue where its coming from... but it has content! [00:38:42] urlord: thats usually user:blah/something.css [00:38:52] or mediawiki:monobook... [00:39:12] is there some default / root user name like "-" in wiki? [00:39:52] ah. interesting, so Media: doesn't work in a gallery at all... have to go back to manual tables. no problems. [00:39:54] since index.php?title=- and index.php?title=-&gen=css return different content... [00:39:57] *Morbus still weighs his options. [00:40:26] *Splarka smacks domas [00:40:28] urlord: thats probably in Rawpage.php ;-) [00:40:35] or some similar named file [00:40:40] cause I remember fixing something there [00:40:41] :) [00:40:41] urlord: that is the user's CSS preferences [00:41:21] so it is probably generated from the user's preferences ^_^ [00:41:34] user prefs - is that special page? [00:41:41] i defenitely did not edit mine :) [00:41:41] Special:Preferences [00:42:15] you don't edit it, per se [00:42:24] you choose an option like "always underline links" or "never underline links" [00:42:35] which gives you something there like: [00:42:35] a { text-decoration: underline; } [00:43:28] nope, thats not it.... basicaly i have big blob of CSS coming out from that title=-&gen=css - and can't find where that damn thing is read from... [00:43:38] link? [00:45:02] from firebug: /index.php?title=-&action=raw&gen=css&maxage=18000&smaxage=0 [00:46:06] i suspect thats all emited by $this->html('usercss' ) [00:47:14] is there another @import below it? eg /index.php?title=User:YOU/SKINNAME.css&action=raw&ctype=text/css [00:47:22] nope, that last one [00:47:41] mediawiki:common , then my custom skin, then this title=- [00:47:57] what version of MediaWiki: ? [00:48:12] (in Special:Version ) [00:48:35] 1.9.3 [00:49:53] see function reallyDoGetUserStyles() in /includes/Skin.php and getUserStylesheet() in /includes/SkinTemplate.php [00:51:25] from includes/RawPage.php: if($this->mGen) { .. if($this->mGen == 'css') { .. return $sk->getUserStylesheet(); [00:51:45] awesome, looking! [00:52:07] urlord: can you pastebin an example of what you see at gen=css? if it doesn't agree [00:53:28] I mean, it only seems to check a few user options, getOption("underline"), "hilightbroken", "justify", "showtoc", "editseection [00:53:38] ^editsection [00:54:06] actually it emits some CSS styles - apparently edited by prev dev of corp intranet here... [00:54:24] im banging my head how the heck the manage to edit it and where.. [00:54:38] mmm, custom hacks [00:54:46] well, trace it back ^_^ [00:55:08] was my thought #1 BUT - there are google refences that people see title=- in all media wikis [00:55:14] they should have put it into skinname/main.css or MediaWiki:Skinname.css [00:55:31] the title= parameter is ignored in some cases [00:55:34] but still required [00:55:42] &gen=js &gen=css &curid=##3 [00:55:54] er, ### even (any article ID number) [00:56:59] TimStarling: now i'm considering transcoding to Theora. [00:57:00] compare for example: [00:57:09] http://en.wikipedia.org/w/index.php?title=Empire_Stadium&curid=5327844 http://en.wikipedia.org/w/index.php?title=-&curid=5327844 http://en.wikipedia.org/w/index.php?curid=5327844 [00:57:29] so title=- is the general "null title" I guess [00:57:41] ah! [00:57:55] TimStarling: how well does it transcode, if at all, from FLV? [00:58:30] sry to interrupt, is it possible to downgrade a user from sysop to standard, or delete a user entirely? without manually editing the database file [00:59:00] user deletion is ill-advised, but you can certainly de-sysop them, yes. [00:59:02] Nadi: do you have any bureaucrats (assuming default rights) ? [00:59:14] from FLV to theora? [00:59:38] yes i would like to downgrade sysops and sysop bureaucrats to standard users, also delete old accounts that shouldn't have access [00:59:54] tried going to Special:Userrights ? [00:59:55] TimStarling: yeah. [01:00:14] if possible, i'd rather standardize on one video type - MPG, FLV, or Theora. [01:00:19] I don't know, I haven't tried it, it really depends on the available software [01:00:24] but they're all very similar formats [01:00:31] Splarka: I do not see Userrights in the special pages [01:01:27] Nai: do you have access to LocalSettings.php ? [01:01:28] Splark: here is for example http://en.wikipedia.org/wiki/User:Tom-/Wikipedia_IE_issues [01:01:33] he is right about IE btw :) [01:02:01] "MediaWiki loads /w/wiki.phtml?title=-&action=raw&gen=css which then redirects to another CSS file - but IE sends ..." [01:02:07] Splarka: yes [01:02:44] Nai: what version of MediaWiki? [01:03:04] so it seems like mediawiki works with that title=- out of the box, wasn't custom hack on that one... [01:03:25] Morbus: ffmpeg supports all three [01:03:32] urlord: go to en.wikipedia.org and check the page source [01:03:33] Splarka: it does not say anywhere, how can i find out [01:03:42] Special:Version [01:03:58] 1.4.14 [01:04:11] TimStarling: do you happen to have a theora video example? and, should I do Theora or FLV? I've never worked with Theora - what made it a more compelling choice then FLV? [01:04:51] old, who knows how to give bureaucrats access to userrights in 1.4? ^_^ [01:05:03] rediculous [01:06:13] "This feature was introduced in MediaWiki 1.5" [01:06:44] doh [01:07:35] Morbus: theora is theoretically patent-free, that's why we went with it [01:07:41] gotcha. [01:07:48] that's the only thing that sets it above the other codecs, otherwise it's mediocre [01:08:03] what did 1.4 have, Userlevels or something [01:08:52] let's see if I can find an example for you... [01:09:55] TimStarling: so this ogg extension transcode to theora/ogg, regardless of what's thrown at it? FLV? MPG? Nothign extra I have to configure for the ffmpeg command (save for making sure the relevant libraries are installed, of course) [01:10:43] nai: try Special:Userlevels [01:10:57] does not exist [01:11:54] then... database manipulation? [01:12:09] **** [01:13:13] or upgrade X_X [01:13:21] there are some theora videos here: http://commons.wikimedia.org/wiki/Category:Video [01:13:42] can i delete a user without modifying the database [01:13:46] ah, thanks. [01:15:45] TimStarling: does transcoding happen immediately? if i upload a flv, does it ever transcode by itself? does it save as .flv? is the native version still available for DL? [01:16:41] we don't have any server-side video transcoding at present [01:16:52] ah! so, you have to transcode locally first, then upload as .ogg only. [01:16:56] yep [01:22:11] TimStarling: hrm. this java player isn't the best. [01:22:11] http://commons.wikimedia.org/wiki/Image:051118-WSIS.2005-Richard.Stallman.ogg [01:22:21] if i stop the video, then hit play, it starts over, not where i stopped it. [01:22:44] "dont hit stop; hit play" - solved! ;) [01:22:52] *Morbus looks into ogg transcoding locally [01:23:10] you're meant to press pause if you want to start from where you stopped [01:23:29] there are some bugs [01:23:49] i wonder if quicktime can export as ogg. [01:24:03] bleh. no. [01:24:18] there's a quicktime extension called XiphQT [01:24:26] not sure if it has export capabilities yet [01:24:39] ah. /me looks. [01:25:00] you can use it to play the videos in your browser if you don't like cortado (the java applet) [01:25:08] yeah, i noticed that option under More. [01:27:18] Splarka: you win, thanks man! these bright sparks hacked simple.php (reallyDoGetUserStyles) [01:27:55] stab them [01:29:06] TimStarling: yeah, that xiph thing can export to ogg after installed. trying now. [01:30:56] 03yaron * r29523 10/trunk/extensions/SemanticDrilldown/includes/SD_GlobalFunctions.php: Another SMW 1.0 fix [01:33:41] 03yaron * r29524 10/trunk/extensions/SemanticDrilldown/skins/SD_main.css: More CSS changes [01:42:42] !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [01:42:42] --mwbot-- I don't know anything about "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!". [01:43:43] neither do I :) [01:44:16] uh... wow [01:44:36] *Skizzerz tells mwbot that wasn't a command [01:46:10] Hey, guys [01:46:22] If I wanted to automatically append articles with particular content [01:46:28] what would be the best way to do it? [01:48:15] I guess the real question is: are there any particular hooks that offer a good way to append or prepend html to articles? [01:55:58] which skin? above/below catlinks? inside/outside bodyContent/Content? [01:58:28] did you check http://www.mediawiki.org/wiki/Manual:Hooks ? [02:00:48] Yep [02:01:33] The issue is that some of the hooks that would be good don't pass the article/title as a parameter [02:01:42] and I don't necessarily like the idea of using $wgArticle [02:09:25] and you checked Skin/SkinTemplate/Article/Monobook.php for any other good hooks? [02:09:54] Yea [02:12:47] It's really a non-issue though [02:15:56] !meow [02:15:56] --mwbot-- I don't know anything about "meow". [02:21:30] 03simetrical * r29525 10/trunk/phase3/includes/Article.php: Fix vulnerability (hopefully): anyone with rollback privileges can mark the rollback as bot, despite r27657. [02:27:03] *Splarka tests something [02:27:05] !mediawiki" and furthermore, you should start trying to help yourself instead of relying on me. I am not your "mother [02:27:05] --mwbot-- I don't know anything about "mediawiki"". [02:27:09] darn ^_^ [02:29:10] 03simetrical * r29526 10/trunk/phase3/ (RELEASE-NOTES includes/SpecialUserrights.php): Do not log user rights change that didn't change anything [02:29:46] lol [02:33:14] but but, null editlets! heh [02:57:49] what's the process for taking over a lonely extension? [02:58:02] http://www.mediawiki.org/wiki/Extension:FLVPlayer hasn't been updated since 2006 from the original guy, and i'd liek to explore updating it. [03:01:13] Morbus, if it's just on the wiki, we don't care, do whatever you want. [03:01:21] If it's in SVN, you need commit access, then you can do whatever you want. [03:01:39] okeedoo. [03:05:52] Morbus, maybe you should rename it and link to it, though, instead of just taking over the extension itself. [03:05:58] Could be messy if the guy comes back and objects, otherwise. [03:06:15] Simetrical: yeah, but that sucks. there's 6+ Flash extensions right now and they all do the same damn thing cos of that sort of advice :D [03:09:30] 03tstarling * r29527 10/trunk/extensions/CheckUser/ (6 files): Database-based log for CheckUser. Requires schema update. [03:10:06] I guess we finally realized that flat files aren't scalable? :P [03:10:23] TimStarling: ohhh [03:10:28] *AaronSchulz gets stirred [03:11:16] the fact that I didn't even implement paging should tell you how scalable I thought it was [03:11:33] I just had the entire log displayed on the Special:CheckUser entry page [03:12:35] wow, that is heavily indexed [03:12:40] the tail() hack should never have been added [03:12:53] but justifiable [03:12:59] searching will be pretty good [03:13:45] TimStarling: should INDEX (cul_user) be INDEX (cul_user, cul_timestamp ) ? [03:13:57] I can imagine that building up [03:14:16] Yeah, you'd probably want to search for a user's log entries ordered by timestamp. [03:14:37] Possibly same for some of the others. Too bad MySQL doesn't allow separate retrieval/sort indexes. [03:14:39] AaronSchulz: yes [03:15:56] so this is a local log right? [03:16:14] I guess I can hook it onto update.php [03:16:35] lol, the PG file :) [03:16:53] TimStarling: ok, what is cul_range_start for? [03:17:47] yes it's a local log [03:17:49] 03tstarling * r29528 10/trunk/extensions/CheckUser/cu_log.sql: Appending cul_timestamp to all the search indexes [03:18:01] cul_range_start is the start of the IP range that was searched for [03:19:23] right, but what does the index do? [03:19:47] well, if you search for an IP address, it will show you range queries that included that IP address [03:21:29] the code is probably not efficient, but the index structure should be OK, it's based on ipblocks [03:22:33] isn't INDEX (cul_target_hex) enough? [03:22:52] searching for range blocks requires scanning [03:23:03] it's better if you only have to scan a small index [03:23:24] that's why cul_range_start/cul_range_end are set to '' for single-IP queries [03:23:52] because then you don't have to scan that part of the table [03:23:56] speaking of ipblocks and ranges, is there any chance this bug request will be solved? http://bugzilla.wikimedia.org/show_bug.cgi?id=8218 [03:24:09] it would be really useful [03:24:37] Brownout: not right now [03:24:48] :( [03:24:55] not by me anyway [03:25:20] feel free to ask the other devs [03:25:55] but is it feasible without a huge code rewriting or it would require too much work? [03:26:27] it's fairly simple [03:26:40] glad to hear [03:27:19] we should have a "difficulty" field in bugzilla, shouldn't we? [03:28:14] TimStarling: can you make the cul_target_id index named cul_type_target, just to be more "conventional"? [03:28:51] you've got commit access haven't you? [03:29:15] TimStarling: hrm. I see you add ogg to $wgMediaHandlers in OggHandler.php. Can more than one extension respond to a mediahandler? Could I listen on application/octet-stream, then check the name for .flv at the end? [03:29:45] no [03:29:50] damn. [03:29:51] :) [03:30:09] but you can hack the mime type detection in whatever way you want [03:30:21] could I capture the current setting (is tehre one?), check for .flv, then re-call the media handling hook? [03:30:45] yeah, I suppose so [03:30:52] how do you mean? [03:30:59] but I don't know why you'd want to handle application/octet-stream [03:31:10] Can anybody explain to me what caused all of the chaos on the en tonight? [03:31:26] TimStarling: I don't think most webservers have any support for an .flv file's proper mime-type? [03:31:32] if we're missing detection for .flv, just add it to includes/mime.types [03:31:40] oh. [03:31:42] it's not the webserver's mime.types, it's mediawiki's [03:31:54] hrm. than what were you saying before about me not having a mime-type for flv files? [03:32:06] maybe i misunderstood [03:32:11] I don't know [03:33:05] ok, yes, i got confused: [03:33:06] [19:20] the issue is that the extensions you have already don't define a media handler [03:33:13] i read that as "file extension", not MW extension. [03:33:45] flv is in mime.types. [03:39:25] is anyone in here familiar with templates? [03:39:42] i'd say a fair number of us are. [03:40:17] all right. I'm making an infobox template, and I can't figure out how to center an image [03:40:45] i'd do that by sticking it in a table with style="text-align:center;" [03:40:56] 03aaron * r29529 10/trunk/extensions/CheckUser/ (CheckUser.php cu_log.pg.sql cu_log.sql): [03:40:56] * Rename an index [03:40:56] * Add PG schema [03:40:56] * Hook new table update onto update.php [03:41:12] I bet I missed the second quote [03:42:00] that was it - should have caught that on my own [03:42:35] 03aaron * r29530 10/trunk/extensions/CheckUser/CheckUser_body.php: Add UL tags [03:42:45] blah [03:42:59] *Splarka hates JS, grumbles to self [03:43:39] TimStarling: heh, a lot of users are complaining about the new rollbacker group ;) [03:43:42] my next problem is to get Navboxes to work [03:44:26] does #if work by default? [03:44:52] rollbacker? [03:44:57] is that what it's called? [03:45:01] yep [03:45:02] TimStarling, http://bugzilla.wikimedia.org/show_bug.cgi?id=12534 [03:45:08] !parserfunctions | Mannerisky [03:45:08] --mwbot-- Mannerisky : "Parser functions" are a way to extend the wiki syntax. ParserFunctions is an extension that provides the basic set of parser functions (you have to install it separately!). For help using parser functions, please see . For details about the extension, see . [03:45:24] the vote was 66%, so people are divided on whether that is "consensus" [03:45:50] However, there is overwhelming support for letting some antivandal bots have it [03:45:53] they should have formed a committee [03:46:03] AaronSchulz, some people dispute that part too. [03:46:11] AaronSchulz, it was only a few days, they didn't hear about it, etc. [03:46:23] Simetrical: personally I opposed it as overly bureaucratic, but I don't really care what happens too much [03:46:23] Because of course it totally makes a difference what URL the bot uses to roll back edits. [03:46:36] Simetrical: almost everyone is fine with bots [03:46:37] Bots should just have rollback by default. [03:46:45] I had that thought [03:46:51] Should I add that? That would be exciting, even more wikidrama! [03:46:51] but people would complain a lot [03:47:04] thanks Simetrical and Morbus - I'll give it a shot [03:47:14] Anyone who complains about such a non-change is ipso facto not qualified to complain. [03:47:31] But I'll at least wait for this to die down before committing that. :P [03:49:03] *AaronSchulz tests the log [03:50:03] TimStarling: are their plans for a global log? [03:50:10] people will bitch hard if it disappears [04:02:42] 03aaron * r29531 10/trunk/extensions/CheckUser/CheckUser.php: Since this has a retroactive update, call install.php function rather than just adding the table. [04:04:08] hello? [04:04:38] there are people here underwear [04:05:01] ok cool, wasn't sure if they were all afk [04:08:01] why is my log empty? [04:08:02] gah [04:10:13] for future reference, Template:Navbox is a son of a monkey to set up. it requires at least two other templates and one additional extension. [04:10:22] yes. [04:10:23] so how do I use mediawiki? [04:12:32] TimStarling: it is reading all of the lines, but not matching anything [04:13:02] 1785 discarded rows [04:13:08] underwear: perhaps you should be a bit more specific on what you are trying to do [04:14:17] sorry, I just want to be able to run a personal wiki and preferably use it locally [04:14:20] where do your lines come from? [04:14:45] you'll probably find it easier to use a text editor. [04:15:57] ok, it thinks all of the rows are for another wiki [04:16:55] Specifically, I'm trying to put my wiki on a thumb drive [04:17:12] you want a flatfile wiki, not a database driven one, then. [04:17:31] What's a flatfile wiki? [04:17:37] uses textfiles. [04:18:08] would it have all the same features? [04:18:15] nope. [04:18:52] would it at least look like a regular wikipedia page? [04:18:58] nope. [04:19:03] it'd be entirely different software. [04:19:38] the only way you could get mediawiki working off a thumb drive is if you either a) had mysql/apache/php installed wherever you plan to use your thumb drive, or b) you make your drive a bootable linux with all the servers you need, and boot off it. [04:19:45] You could run AMP off a thumb drive, couldn't do? [04:19:46] you? [04:20:01] Why not just execute it in-place? [04:20:10] TimStarling: the log has " on wikidb" but wfWikiID() returns "wikidib-mw_" [04:20:13] yeah, true. [04:20:42] I thought I fixed that a while ago [04:20:46] I guess not [04:21:07] 03dale * r29532 10/trunk/extensions/MetavidWiki/skins/mv_embed/ (mv_embed.js mv_quicktimeEmbed.js): quicktime playback is disabled until the xiph qt component better supports ogg skeleton streams [04:21:24] nothing should ever use $wgDBname to identify a wiki [04:22:01] So this wouldn't do what I want? http://tinyurl.com/2ev53c [04:24:10] anyone know of a flash player that can play ogg/theora stuff? i don't want to use this java widget thingy. [04:24:27] flash can't play ogg theora [04:24:36] oh. well, that's kaput then. /me sighs. [04:24:41] i'm still on the fence :) [04:24:45] it can only play H.263 [04:24:51] 4 [04:25:53] the only reason java can play theora is because someone has ported the vorbis and theora decoders to java [04:26:14] hrm. [04:26:20] isn't Media: supposed to download, you said? [04:26:24] I don't think ActionScript would be fast enough to decode theora video on the fly [04:26:50] i was expecting a download here: http://www.videounderbelly.com/wiki/Media:12_Monkeys-1995-UK-VHS-2.jpg [04:27:00] but i just see the same thing with Image: [04:27:09] it only works in links [04:27:15] not in URLs [04:27:37] ah, yes, confirmed. [04:27:37] thanks. [04:31:52] TimStarling: is $wgRateLimits['rollback'] set for WMF sites? [04:34:54] yes [04:35:01] 'rollback' => array( [04:35:01] 'user' => array( 5, 60 ), [04:35:01] 'newbie' => array( 5, 120 ), [04:35:01] ), [04:37:55] newbie = non-autoconfirmed ? [04:38:41] k, thanks [04:38:43] That's what it usually means, right? [04:39:16] newbie is only used for "newbie contribs" [04:39:35] and that is just the newest accounts by registration order [04:39:41] autoconfirmed is 4 days [04:39:57] Hmm. [04:40:18] I thought newbie contribs got changed over to non-autoconfirmed when that was implemented. [04:40:19] newbies doesn't use autoconfirmed IIRC [04:40:24] Guess not. [04:40:42] newest 1% of users [04:40:46] yep [04:40:54] I know it changed somehow. [04:41:28] Newest 1% of users, yeah. [04:41:51] Simetrical: I think autoconfirmed used to be that [04:41:57] that is what changed [04:42:04] Hmm, you're probably right. [05:05:45] all right, I've got another question about templates [05:06:05] I'd like to have fields only appear if they are given values in the article [05:07:15] I've got ' {{ #if:{{{nationality|}}} | Nationality: {{{nationality}}} }}' [05:07:49] Mannerisky: looks right [05:08:50] nothing appears on the template page, or an article. should I preface it with a pipe or exclamation perhaps? [05:11:11] prefaced with an exclamation point makes it close. now the value of {{{nationaltiy}}} appears on the same side as Nationality: in the infobox [05:12:01] so, 'Nationality: Caucasian' is on the left side of the box with nothing on the right. [05:16:00] can you show a link? [05:16:55] http://ndsuwiki.com/index.php/Template:Infobox_person [05:16:58] http://ndsuwiki.com/index.php/Putnam [05:23:08] I think Wikipedia uses tables for it's infoboxes - but that shouldn't be necessary, right? [05:25:23] you could probably do it w/o tables, but it would be harder [05:26:47] Eureka! [05:27:17] | {{{nationality|}}} goes on the next line, outside of the #if braces [05:37:03] thanks for the help guys. I'll try again later to get the dang navbox working [05:37:43] If I need some help for mediawiki, is this the place to ask my question? [05:38:17] yes [05:38:55] Im not really sure how to explain what im trying to do but ill try. Basically I want to extract info out of one page into another. Basically some form of variables [05:39:18] is wikibugs dead? [05:40:03] Is that something that is possible? [05:40:19] !dpl [05:40:19] --mwbot-- The DynamicPageList (DPL) extension outputs reports based on criteria given in a special tag. For more information, see and . [05:40:30] Dense: that may help; not sure exactly [05:40:40] can i show you what im trying to do? [05:41:08] id prefer to private message you if possible so not to clutter the channel [05:41:51] can I PM you? [05:42:39] hi all.. i apt-get install'd mediawiki, i want to get to the web page and start editing, so what do i need to do next? it isnt showing up on www.localhost/wiki [05:42:56] maybe mediawiki? [05:43:31] qFluX: navigate to config/index.php [05:44:07] ah crap... i think i need to register with nickserv for pms [05:46:58] MZMcBride ok i found it finaly, im a bit of a newb though, do i run this file somehow or what? [05:47:32] load the index.php file in your browser [05:48:20] !parserfunctions | Dense [05:48:20] --mwbot-- Dense : "Parser functions" are a way to extend the wiki syntax. ParserFunctions is an extension that provides the basic set of parser functions (you have to install it separately!). For help using parser functions, please see . For details about the extension, see . [05:48:28] second link, install that extension [05:49:34] MZMcBride ok thanx, i guess i have to run the browser as root? i cant get to the dir as normal user [05:50:31] chmod the config directory [05:51:12] hm firefox says it doesnt know how to open php files.. lol [05:51:46] TimStarling: I'm still thinking about wfWikiID() [05:52:33] qFluX: are you doing it as http://localhost/yourwikidirectory/config/index.php ? [05:53:18] i put file:///usr/share/mediawiki1.10/config/index.php , then it asks what helper application to open it.. wtf:( [05:53:58] i cant get to it by http:// yet (or i dont know my wiki directory) [05:54:17] you need to do it as localhost, replace yourwikidirectory with the name of the "wiki" folder in your htdocs directory [05:56:22] http://www.mediawiki.org/wiki/Manual:Config_script - > replace 'www.example.com' with 'localhost' [05:57:31] thanx again.. hmm i dont have a htdocs directory i can find [05:58:23] I think it depends on what webserver you use [05:59:05] im runin very basic apache2 on ubuntu gutsy , u? [06:00:45] if i let u on my system can u find it? lol [06:01:33] this might help - http://ubuntuforums.org/showthread.php?t=320501 [06:03:57] oh, htdocs is the normal root dir? theres still nothing in /var/www , although i also installed torrentflux and works but isnt in there either.. is there multiple paths or something? [06:04:49] like, i can go to http://localhost/torrentflux ., but it isnt in /var/www , so i dont know where its coming from [06:06:18] why cant firefox open a php file on my comp.. wtf lol [06:06:47] any ideas plzplzplz anyone [06:07:07] do you know where your apache conf file is? [06:07:34] it should be something like /etc/apache2/apache2.conf [06:07:51] "You should look at /etc/apache2/apache2.conf and see what the DocumentRoot is set to. e.g. `grep DocumentRoot /etc/apache2/apache2.conf`" [06:09:09] oo i found a mediawiki.conf thing in /etc/apache2 , ill look here brb [06:15:37] OMG i got it. thanx all, i had to uncomment an Alias that put it into localhost/mediawiki [06:51:33] TimStarling: heh, I bet you could have enumed cul_type ;) [06:57:22] Hello, Is there a way to use an image as a link? [06:57:36] !imagemap [06:57:36] --mwbot-- ImageMap is an extension that allows you to override the default linking behavior of images. See for more information. [06:57:55] sweet, thanks MZMcBride [06:58:04] no problem :) [06:58:04] nikosapi: did you ask about external images yesterday? [06:58:12] nope [06:58:20] I haven't been around here in months [06:58:38] k, there is an easier way if you have external images enabled, but nm ^_^ [06:58:41] amidaniel: by the way, i put a bug about mwbot on mediawiki, in case you didn't see... [06:58:41] Oh shit, I haven't fixed that bot yet have I? [06:58:49] haha [06:58:50] Wow, perfect timing :P [06:59:11] Lemme see if I get to that tonight [06:59:23] I *REALLY* need to get working on tests for ApiEdit though [07:00:08] Hmm .. not really feature requests Mr. MZMcBride, MinuteElectron :P [07:00:57] it isn't a feature to have the bot work? ;) [07:01:27] Is it possible to hide everything else than login from first page when entering wiki? So people would not see e.g. the navigation bar. [07:04:11] Sage_: do you have: $wgGroupPermissions['*' ]['read'] = true; ? [07:04:22] (that is, anonymous users can view any page) [07:06:34] Sage_: Are you decent with CSS? [07:06:46] amidaniel: let them answer the first question [07:07:04] Splarka: that is set to false, but it does still show the navigation bar to anonymous users. [07:07:07] because if '*' read is false, they can't use a MediaWiki: css ^_^ [07:07:12] right [07:07:18] so you'd have to edit your skinname/main.css [07:07:53] sage_: do you have server access? [07:08:32] yes, but no access to the apache,php config files. So only to the wiki directory [07:09:00] and what skin? Monobook? [07:09:11] What ever is the default :) [07:09:24] In 1.9.x series [07:09:48] Sage_: (jumping a tad ahead) Every element on the page [[Main Page]] is in the CSS class "page-Main_Page", so to hide the navbar, you can add "#page-Main_page p-navigation { display: none; }" to your Common.css [07:10:03] amidaniel: nope [07:10:08] you jumped ahead [07:10:22] MediaWiki:Common.css won't load with $wgGroupPermissions['*' ]['read'] = false; [07:10:33] in 1.9 anyways [07:10:34] Splarka: So add it to $wgWhitelistRead :) [07:10:45] then you didn't jump ahead enough [07:10:46] heh [07:10:53] *amidaniel growls at Splarka [07:10:58] *Splarka growls back [07:11:26] but anyway, that requires server access as well, might as well just edit /skins/monobook/main.css ^_^ [07:12:48] I am trying to run maintenance/update.php -> You don't have permission to access /mediawiki/maintenance on this server. [07:12:52] Oh, he doesn't have server access? [07:12:57] Gahh [07:13:12] talking about me? [07:13:25] Yah [07:13:27] I do have access to the wiki files. [07:13:27] Sorry ;) [07:13:39] Sage_ then you can edit LocalSettings.php or /skins/monobook/main.css [07:13:44] yes [07:13:46] choose your adventure [07:13:58] Splarka: Don't tell him to edit /skins/monobook/main.css >:O [07:14:04] if you want to edit LocalSettings.php turn to page amidaniel [07:14:11] if you want to edit /skins/monobook/main.css turn to page splarka [07:14:30] Sage_: Okay, edit your LocalSettings.php. Add $wgWhitelistRead[] = 'Main Page'; to it [07:14:46] Well, I hoped that there would be easy way that would not need any other than LocalSettings.php editing. [07:14:46] Ami: they want to do this to the login form [07:14:47] Erm, $wgWhitelistRead[] = 'MediaWiki:Common.css'; [07:14:55] there ya go ^_^ [07:15:18] FYI sage: this will not be secure, just pretty. users can view-source to see the hidden elements still [07:15:31] Sage_: Well, you're going to have to allow read access to the site css to make any css modifications ... [07:15:43] Splarka: then it is not for me :) [07:16:04] Sage_: Huh? What's insecure? [07:16:24] morning [07:16:33] If I edit only css, anyone can see the data if they turn off the css. [07:16:59] So that does not realy hide the stuff. [07:17:04] Sage_: Oh, clearly. [07:17:16] You're puttings sensitive data into your navbar? O.o [07:17:44] amidaniel: no, but just tought that it would be nice to be hidden as well [07:18:27] Okay, so then why is it a concern if users can disable browser css to see the data? [07:18:45] Note that fewer than 0.0001% of all internet users use browsers with disabled or no CSS support :) [07:19:08] amidaniel: I just wondered if that is possible :) [07:19:24] Hrmkay [07:20:00] <_wooz> lo [07:20:17] It would be nice to have only Special:Userlogin available to anonymous users. Meaning only the page, no links above, below or on the left side. [07:20:47] Well, how are you at php? :P [07:21:49] I've done some things with it, but I was looking for solution that is allready available :) [07:22:24] Is it possible to put Special:Userlogin as a start page? [07:22:33] Yes [07:22:49] Edit MediaWiki:Mainpage .. change it to Special:Userlogin [07:24:00] hmm [07:24:24] what would happen if $wgWhitelistRead[] was empty, and the user login form was offsite? would an anonymous POST fail? [07:24:35] Yah [07:24:39] Could post through the API though [07:24:49] s/post/log in [07:25:05] It's quite doable, but requires writing some php that I don't feel like writing :) [07:30:10] amidaniel: ok, now the login is the first. But what about the redirection after the login. Now it goes again to the Special:Userlogin, because there isn't previous page. [07:31:27] Sage_ that is your start page, so that is where you go ^_^ [07:32:32] Well, it is much better this way than the old "error" page as the first page, but there is still something to improve ;) [07:34:07] Sage_: Then set your Main Page to [[Main Page]] and use your httpd to decide upon the entry point to the wiki [07:51:09] OK, I have imported the database first and then installed mediawiki, somehow I get the text but also some errors - http://openpaste.org/en/4602/ [07:51:40] And I am also wondering how to import the pictures...I must do it manually for each picture? [07:52:23] 03catrope * r29533 10/trunk/phase3/includes/Article.php: Revert r29525: this vulnerability never existed; Article::doRollback() does the check already. Besides, the permission is called markboteditS [07:55:50] yang: Should be able to just copy the actual image files into your /uploads dir and run importImages.php [07:56:06] nice [07:58:09] amidaniel: via browser URL/mediawiki/maintenance/importImages.php ? [08:00:01] Umm .. no, you need to run it from a shell [08:00:34] ok [08:01:13] -rw-r--r-- 1 root root 3353 2007-07-29 00:21 importImages.php [08:01:23] its not executable [08:01:41] php importImages.php [08:01:47] bingo [08:02:33] thanks [08:04:07] 03tbleher * r29534 10/trunk/extensions/WebStore/WebStore.php: Add extension URL [08:51:28] 03grondin * r29535 10/trunk/extensions/CheckUser/CheckUser.i18n.php: Localisation updates for extensions from Betawiki (2008-01-10 08:45 UTC) [09:04:24] amidaniel: http://openpaste.org/en/4603/ [09:05:00] The page has no more errors, however no images displayed [09:20:37] 03siebrand * r29536 10/trunk/extensions/MetavidWiki/languages/MV_Messages.php: Update spacing and fix a few typos. [09:20:48] TimStarling, very good the new log about checkuser :-) [09:21:39] I copied directory "upload" from the old server , but now I read there also needs to be directory "images" made to enable file uploads ? [09:26:58] 03thomasv * r29537 10/trunk/extensions/ProofreadPage/proofread.js: fix regression [09:33:37] 03thomasv * r29538 10/trunk/extensions/ProofreadPage/ProofreadPage.php: increase counter as well [09:54:47] 03amidaniel * r29539 10/trunk/phase3/ (RELEASE-NOTES includes/Article.php includes/RecentChange.php): [09:54:47] * (bug 12574) Allow bots to specify whether an edit should be marked as a bot [09:54:47] edit, via the parameter 'bot'. (Default: '1') [09:54:47] Patch by Cobi . [09:56:36] amidaniel: will that work for action=rollback as well? [09:57:14] Yes, should. [09:57:26] Splarka: Been working on action=rollback for some time actually :) [09:58:39] k ^_^ [10:04:28] Hmm .. yeah, it's really not working in POSTs though [10:04:40] Oh oh .. thought [10:13:57] D'oh [10:14:15] Wow, that's why you don't trust mozilla to handle your posts :D [10:14:34] If the checkbox is unchecked, it sends nada to the server [10:14:49] Alright, so it works on posts, assuming the ppl writing bots know what they're doing :) [10:15:06] May be better to have like an "unbot" param or something though [11:20:05] Good morning. [11:20:31] I'm trying to do two separate things: 1) Create a sortable list or table with linked items on another page automagically by implementing a category template on another page. Example: I set "category:" on one page, then that page gets autolisted on a page of my choice (not a category ns), without having to manually insert it. [11:20:53] 2) Can the

headers (or any header) on a category page display designated headers (via template, say) instead of the default sort (alphabetical)? Example: I want to list articles by year, 2000, 2001, 2002, etc., instead of A, B, C, and display those years, not letters. If a template could be called in a css file, that might do it, but apparently that can't happen. [11:22:32] My mind is telling me there's a simple solution to this, but I keep running into a wall every time I set out to do it. [11:24:04] I copied directory "upload" from the old server , but now I read there also needs to be directory "images" made to enable file uploads ? [11:24:22] My pictures won't get displayed [11:32:33] Hmm... quiet. [11:38:07] I want a linked item to appear on a page automatically through a template on a different page. How do I make it create the link? Just like a category function works: It creates the category page. How can I duplicate that function to create a different, non-cat. page? [11:51:31] Anyone around this late hour? [11:52:50] They're all playing hooky. [11:53:40] Fair enough :) [11:54:07] Well, if someone happens to peek... [11:55:52] Might anyone know of an easy way to cheat and give my mediawiki installation the ability to use some of the cool templates already created for the awesome and great wikipedia? Specifically the templates for citations beyond cite.php [11:56:35] You want to transclude WP's templates into your own? or...? [11:57:02] Or you can't create templates? [11:57:10] ah ha! the word transclude :) ive seen that often [11:57:23] I can create templates of my own just fine [11:57:34] but wikipedia has done so much wonderful work for me already [11:58:01] if I could either export the needed files and import them into my wiki or some other method, that would be fantastic [11:58:15] I tried just copying the templates, but scary things happen [11:58:49] that's usually the thing to do. but you might check the dump. I'm not sure if their tmps go into there. [11:58:59] the dump? [11:59:06] database dump [11:59:10] ah [11:59:42] is it possible wikipedia is using some kind of extension to do transcluding of content? [12:00:22] because that seems to be where I am stuck, when I edit the page on wikipedia I see "These documents are transcluded" but when I look at it on mine, I see that the same documents are listed as templates [12:01:21] that means (usually) they're transcluded from a talk page, like "This page is transcluded from (something)/doc" [12:01:45] yes, I have seen a lot of that, the /doc [12:01:51] just instructions for use and such... but you should ask on the Wikipedia channel, since all the devs here are in limbo [12:02:28] meow [12:02:34] thanks! I just may do that, or wait till a reasonable hour [12:02:35] I've never heard of an extension as you described above, but the devs know a lot more than I. [12:02:59] Also, another great 4am question... I create a page A_b_C that redirects to D when I search for "a b c" I get nothing found, but if I search for "A b C" it finds my redirect, but if I search for D or d it finds D... is there something special about the redirect? [12:03:15] meow to you too :) [12:03:43] case-sensitive? [12:04:00] I will definitely seek out the wikipedia folks to find more information about how they accomplish their templates [12:04:31] thats the thing, the search is NOT case sensitive for real pages, but seems to be for redirects [12:05:15] what version are you using? [12:07:19] 1.11.0 [12:07:34] looks like it treats the underscore as a character [12:08:28] best thing is to not create A_b_C, rather A b C [12:08:52] underscores aren't needed [12:09:15] I created A b C, at least I think I did [12:09:33] I may have to check [12:10:25] GSquared: you can't search for words with 3 or less characters by default [12:10:32] so it'll probably only find the exact page [12:12:42] how about if I expanded this to I created "Alex b Conny" and searches for "alex b conny" fail to find the redirect, but "Alex b Conny" finds the redirect... does that make more sense? [12:12:58] or is it because "b" is in there it will fail regardless [12:14:55] searches for "Alex" or "alex" also fail to find the redirect... am I doing something wrong? [12:16:20] never mind, I found my answer "they (redirects) do not show up in wiki search results" [12:16:32] I think that would mean only an exact search would find it [12:16:39] but that seems pretty stupid [12:16:45] so there must be some way around this issue [12:21:04] you could mention the redirected name in the article [12:21:06] thanks for the help all, I am off to sleep! [12:22:07] now I wish I could figure out my own transclusion issue... sheesh, this is driving me batty [12:22:45] keep thinking #switch, #switch, #switch [12:26:35] isn't there a help page somewhere that tells one EXACTLY how to map out the category transclusion function? [13:33:36] 03catrope * r29540 10/trunk/phase3/includes/ (Article.php EditPage.php RecentChange.php): [13:33:36] Fixing the mess that was r29539: [13:33:36] * $wgRequest shouldn't be used in functions like Article::doEdit() that are also called by API modules [13:33:36] * Moving code that decides whether the edit is bot out of DB logic and into UI logic: API and UI each decide indepentently from one another [13:33:36] * Removing $bot==='default' behavior from RecentChange::notifyEdit() and notifyNew(): nobody uses it, and it shouldn't be used anyway; whether the edit is bot should've been decided long ago [13:37:14] 03catrope * r29541 10/trunk/phase3/includes/RecentChange.php: Removing unused global $wgRequest; that I missed in the previous commit. [14:14:47] What's the font mediawiki uses for article text by default called? [14:24:08] avar: I think that's skin-dependent [14:25:22] "by default" => the default skin [14:25:28] Right [14:25:30] Monobook [14:25:32] Dunno [14:25:37] See monobook.css ? [14:29:20] i have a session in place for domain.com i want the session to work on domain.com/wiki it doesn't.. seems to init a new session.. I'm trying to hook into the AutoAuthenticate hook [14:39:19] I copied directory "upload" from the old server , but now I read there also needs to be directory called "images" made to enable file uploads ? My pictures won't display yet. [14:40:02] yang: yes, your images have to be in (surprise...) images/ [14:41:05] so I need to php maintenance/importImages.php /usr/share/mediawiki/images ? [14:42:28] sorry /var/lib/mediawiki/images at the end ? [14:43:44] gateway:/usr/share/mediawiki# php maintenance/importImages.php /var/lib/mediawiki/upload/ [14:43:47] Import Images [14:43:49] No suitable files could be found for import [14:45:07] Weird [14:45:12] I don't really know this stuff [14:45:20] I suppose you're upgrading from an old version of MW? [14:46:10] no, it is a new version [14:47:17] From which version to which version are you upgrading then? [14:56:08] RoanKattouw: I wasnt upgrading [14:56:26] Where'd you get the images from then? [15:20:24] hi all [15:20:56] does anyone know of a good tutorial on how to write extensions (dummy version)? [15:21:21] Doos: Er zijn er wel een paar op www.mediawiki.org , momentje [15:21:28] thanks [15:21:50] http://www.mediawiki.org/wiki/Manual:Tag_extensions http://www.mediawiki.org/wiki/Manual:Parser_functions http://www.mediawiki.org/wiki/Manual:Special_pages [15:22:02] Welke je moet hebben hangt ervanaf wat voor soort extensie je wilt schrijven [15:22:34] 1e = {{#bla:blabla|bla=bla}} 2e = blabla 3e: Special:Bla [15:23:20] Oh en ook nog http://www.mediawiki.org/wiki/Manual:Hooks en http://www.mediawiki.org/wiki/Manual:Magic_words [15:24:30] thanks, let me have a look at them before bugging you with more questions [15:24:39] np [15:25:04] Doos: You do speak Dutch, right? Or am I just annoying you with it? ;) [15:25:20] heh, yes I speak dutch [15:25:52] lol ok didn't know whether you just read links and incomprehensible crap, or that you were just being polite or something [15:26:13] both of course [15:26:39] brb, reading [15:29:50] Q: when I post a real long line in MW, it goes outside the width of the monitor, what to use/how to have a scrollbar as mediawiki.org has ? [15:30:24] tumba: Remove the space at the beginning of the line and/or upgrade MW [15:30:32] I use
code here
[15:30:44] I use the latest version :/ [15:30:46]
 also doesn't wrap
[15:30:57] 	maybe a n-wrap orso in the stylesheet
[15:31:06] 	You should enter newlines manually when using 
[15:31:07] 	wait I will give you an example of what I am looking for
[15:31:12] 	
 is used to disable wrapping intentionally
[15:31:14] 	Use 
[15:31:21] 	Or 
[15:32:04] 	http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Installation
[15:32:22] 	see the scrollbar in that box ? I am looking forward to do just that
[15:32:55] 	That's cause they use 
[15:33:12] 	so I need to use  ?
[15:33:18] *tumba 	checks
[15:34:16] 	that doesn't help
[15:34:40] 	Weird
[15:35:04] 	Maybe it's A) something in MediaWiki.org's skin or B) a new feature in SVN
[15:35:12] 	B) should've been B ) sorry
[15:35:47] 	hrmm
[15:41:38] 	tumba: why don't you use a newline once in a while .. there is a preview when you edit a page
[15:41:59] 	thanks RoanKattouw, I'll have some to read tonight
[15:44:38] 	s/some/plenty/
[15:51:23] 	hi
[15:52:48] 	RoanKattouw: Well I made a backup of the old site and i am trying to import images to a new site
[15:53:01] 	!move | yang
[15:53:01] --mwbot--	yang: http://www.mediawiki.org/wiki/Manual:Moving_a_wiki
[15:53:40] 	!cooky | mwbot 
[15:53:40] --mwbot--	mwbot : I don't know anything about "cooky".
[15:53:52] 	to bad for you
[15:55:11] 	How can we add an extra group, as ''staff''. See: http://kennisnet.wikia.com/wikikids/wiki/Speciaal:Listusers
[15:55:35] 	Ken-123: that has to be defined in configuration
[15:55:53] 	Ken-123: you just assign rights to a group
[15:55:55] 	and thats it
[15:56:46] 	where can I change that? 
[15:56:47] 	see http://www.mediawiki.org/wiki/Help:User_rights for more info Ken-123
[15:56:54] 	ok, thanks
[15:57:10] 	by creating the rights for a non-exsisting group, you automaticly create the group ;_)
[15:57:47] 	damn
[15:58:07] 	Thanks both ;)
[15:58:07] 	damn what domas?
[15:58:11] 	yw Ken-123
[15:58:16] 	en succes ermee :-)
[15:58:31] 	whahaahha, dankje :)
[15:59:46] 	100 wfMsg calls per page
[15:59:54] 	regression all the time
[15:59:57] 	constant regression
[16:00:00] 	aaaaaaarghhhh
[16:00:02] 	lots of kaaskoppen here today
[16:00:05] 	you gotta be kidding me
[16:00:11] 	As always Doos
[16:00:21] 	I try to reduce them
[16:00:25] 	turn away
[16:00:27] 	turn back
[16:00:29] 	hehe
[16:00:29] 	doubled.
[16:00:38] 	weird
[16:07:32] 	Doos:  Yeah, didn't know there were so many Dutchmen around
[16:07:43] 	Oh, another one just joined :P
[16:09:03] 	damned potheads, always chatting in the boss's time
[16:09:22] 	could be a nice south park episode
[16:14:12] 	what does the "wg" in $wgparser etc stand for?
[16:14:42] 	Wikipedia Global
[16:14:44] 	s/wgparser/wgParser/
[16:14:46] 	ah
[16:14:51] 	wikipedia global, dates back to the days when MediaWiki was used only by Wikipedia ;-)
[16:15:17] 	an wf must mean wikipedia function?
[16:18:27] 	most likely 
[16:18:41] 	Yeah
[16:20:46] 	argl!... my wiki keeps getting "hacked" to host porn links... _valid_ users keep getting created...so what is the next step, "human" validation with text in images?
[16:21:12] 	I would just take advantage of the free pr0n
[16:21:40] 	LOL
[16:22:16] 	is there a utility to mass delete a list of users and _all_ their entries?
[16:24:15] 	I would hand approve new users
[16:25:21] 	yes...but let's start by cleaning up the original mess
[16:25:46] 	rollback all their entries
[16:26:43] 	would be a nice extension .. rollback on a specific user without affecting the later additions
[16:27:03] 	oh...so that doesn't exist? :(
[16:27:31] 	Doos: I intend to write that one day, but it wouldn't be an extension; a bot rather, using the API
[16:27:45] 	nice
[16:27:58] 	are hooks case sensitive?
[16:28:04] 	  $wgParser->setHook( "flvplayer", "renderFlvPlayer" );
[16:28:08] 	would that allow  too?
[16:30:17] 	Doos, ...am-I to understand that I still cannot _delete_ a user as of 1.10.x?
[16:30:37] 	Why would you want to do that?
[16:30:51] 	dunno kyron, just an amateur myself here
[16:31:18] 	damned amateurs
[16:31:30] 	hehe...same here obviously
[16:31:37] 	avar, ...spam
[16:32:42] 	deleting users is bad.
[16:32:58] 	yeah well it's needed
[16:33:07] 	oh is bad .. bad (gawd I love south park)
[16:33:08] 	i disagree.
[16:33:27] 	Kyrin: an revision must be owned by someone
[16:35:03] 	Az1568, Morbus not if all that the user has contributed is a page with links to p0rn
[16:35:28] 	I think you're missing the point.
[16:35:36] 	Deleting a user means deleting a revision. Deletion a revision means Not A Wiki.
[16:35:57] 	I would delete all of the user's entries, and if they were inserted in a specific page that already existed, I would delete their entry and retro the revision to the sysop or last editor
[16:36:25] 	Kyrin: you could do that directly in the db if necissary
[16:37:00] 	Morbus, yes, I know the database issue (superficially) but the whole wiki defacing/using as a link source doesn't seem so uncommon to me..
[16:37:12] 	Az1568, fyi it's kyron ;)
[16:37:41] 	and it's AzaTht 
[16:38:02] 	LOL
[16:38:06] 	Doos: uh?
[16:38:10] 	hehe
[16:38:14] 	aha
[16:38:16] 	that'll teach me to use Tab too ;)
[16:38:16] 	never mind me
[16:38:22] 	hehe
[16:39:34] 	well...I'm no mysql guru...just a superficial user so I'd be the type to use phpmyadmin to try to find and select user and click on delete...
[16:39:52] 	that could break your wiki
[16:39:55] 	but that doesn't tell me if the delete would retro into all the tables and delete all relevant links
[16:40:02] 	Doos, which is why I don't ;)
[16:40:06] 	why delete a user?
[16:40:09] 	and why I am here ;)
[16:40:26] 	just ban the user and use the rollback option
[16:40:34] 	Gawd.... it's like I'm the only luser to have his wiki polluted in the world..
[16:40:44] 	kyron: no, we all do. that's not the point.
[16:40:45] 	you don't need to delete a user to fix vandalism
[16:40:52] 	yeah well doing that on 20+ users is long
[16:41:00] 	deleting users is an integrity issue in a piece of software that assumes every piece of data is kept around forever and permanently.
[16:41:50] 	Morbus: I think the mediawiki software is used for other purposes nowadays than an open community
[16:42:03] 	and pencils are used to stab people. point being?
[16:42:31] 	well, I use it with openness in mind...but not that type
[16:42:56] 	not a real point, just that the "open" community of wikipedia is not the goal why people install mediawiki
[16:43:06] 	what does an open community have to do with deleting users?
[16:43:09] 	infact wikipedia is not that open itself anymore
[16:43:21] 	oh lord.
[16:43:27] *Morbus 	wanders off ;)
[16:43:57] 	Doos, the ban/rollback thing, let me guess that has to be done all manually?
[16:44:34] 	well Morbus, if I want to spam my website on wikipedia .. I get a message that it won't do me much good due to robot exclusions
[16:44:47] 	so there is one restriction there
[16:44:59] 	yes kyron 
[16:46:26] 	I'm starting to believe I would be better off deleting my wiki....
[16:47:03] 	why kyron?
[16:47:16] 	Well, have you looked at http://www.mediawiki.org/wiki/Extension:User_Merge_and_Delete?
[16:47:54] 	you should think of it as running an open forum, people will come in and spam ... nothing you can do against that
[16:48:07] 	Haven't tested it, but this should allow you to delete a user if you really want to
[16:50:16] 	is wikibugs down again?
[16:50:57] 	!b 12580
[16:50:57] --mwbot--	http://bugzilla.wikimedia.org/show_bug.cgi?id=12580
[16:51:03] 	just added fyi
[16:51:58] 	03tbleher * r29542 10/trunk/ (5 files in 5 dirs): 
[16:51:58] 	Fix some places where globals where used without being declared as
[16:51:58] 	being global. Also remove one unused variable.
[16:52:37] 	is there any way to get files like /home/wikipedia/common/langlist and /home/wikipedia/common/all.dblist, for rebuildInterwiki.php to work?
[16:53:16] 	brion-away: ping
[17:01:21] 	hi! can someone give me a link on how to make certain wiki pages forbidden for not registered users (p.e. the way i can lock them for anonymous edits). i clicked through 30 google hits and can't find the right thing.
[17:03:35] 	gotta go, thanks all for the help
[17:09:34] 	hrm. i've added "flv" to my wgFileExtensions. Is there anything else that would cause MW to say "The file is corrupt or has an incorrect extension. Please check the file and upload again.
[17:09:34] 	Retrieved from "http://www.videounderbelly.com/wiki/Special:Upload""
[17:09:40] 	ugh. sorry. didn't meant ot paste the url.
[17:14:59] 	according to the debug:
[17:15:03] 	UploadForm::verifyExtension: mime type text/plain mismatches file extension flv, rejecting file
[17:15:12] 	where is it getting text/plain from?
[17:15:41] 	MimeMagic::detectMimeType: magic mime type of /tmp/phpoZRcFh: text/plain
[17:15:49] 	sounds like that's breaking, then.
[17:16:45] 	hrm. does this mean my local server mime type stuff doesn't have .flv, so it fails?
[17:16:57] 	though, hrm, no, because I see it loading from local:
[17:17:04] 	MimeMagic::__construct: loading mime info from /var/www/vhosts/disobey.com/httpdocs/w//includes/mime.info
[17:17:04] 	etc
[17:17:54] 	hi
[17:18:05] 	any ideas?
[17:20:01] 	hrm. though, detectMimeType does seem to use the PHP underlying libraries, which i think do rely on server mime types.
[17:21:27] 	i noticed a strange thing: a vandal insults an admin on his talk page. i reply to that. while i'm doing this, the admin reverts. but: i still could save without an edit conflict. result: it looks like i reinstantiated the insult. is this a known bug or wontfix?
[17:22:23] 	happened on wp:en a few hours ago
[17:26:28] 	I am trying the UserMerge module but I get an error message stating that `Call to undefined function wfLoadExtensionMessages()` ... my version is 1.10.x... is there something I am missing here?
[17:31:41] 	kyron: http://www.mediawiki.org/wiki/Extension_talk:ConfirmEdit#undefined_function_wfLoadExtensionMessages says "My guess is that you are using the latest version of this extension, which might be using functions, like wfLoadExtensionMessages(), which did not exist in 1.10, but where introduced in 1.11 or even only 1.12alpha."
[17:32:08] 	.oO(google rocks)
[17:32:35] 	datura, I was getting white noise ;)
[17:32:38] 	thanks
[17:33:16] 	kyron: the trick with google is to put double quotes around the query
[17:34:04] 	kas viksta?
[17:34:23] 	datura, actually, I just noticed I had that link and actually looked at it but dismissed it as a complaint of the same problem...not a solution
[17:34:51] 	:)
[17:35:50] 	03aaron * r29543 10/trunk/extensions/CheckUser/install.inc: $wgDBname was recorded for old log use, so also check against this. Otherwise, no rows may be added.
[17:35:56] 	well...this is telling me I don't have the correct version of UserMerge... but I don't have a link to the 1.10 version :/
[17:36:49] 	hi, is there any feature that adds an image with nonparseable characters to verify the one who wants to register an account?
[17:37:22] 	I'm also looking for a feature to undo the last 50 edits, is there any way to do that automatically?
[17:39:43] 	it seems this should be added as the default config for MediaWiki: check to see if it's a human attempting to register...
[17:39:45] 	sigh..
[17:40:02] 	kyron: yes
[17:41:50] 	I loose about 1-2 days each 6 months because of such annoyances and it's always a pain of "find plugin to try to clean up + try to remember how to use svn to just get the files + get pissed because you don't have the correct version of Wikimedia + realise you have no choice but to upgrade to the latest and greatest..."
[17:42:03] 	it's, to say the least, quite frustrating
[17:42:44] 	I think checking for "human at the other end" is a rather decent default that should be added to wikimedia
[17:43:23] 	mrec, now observe someone bluntly point us to the said module, then we start trying to install it and fail miserably ;)
[17:43:28] 	hrm. ok. so i got pecl fileinfo installed,but now it's returning as application/octet-stream, which then turns into unknown/unknown.
[17:45:49] 	kyron: do you know what tables I need to take care about if I want to delete entries manually?
[17:47:14] 	hrm. my FILEINFO_MIME is set to 16.
[17:47:18] 	the hell is that supposed to mean? ;)
[17:49:57] 	mrec, I whish
[17:55:41] 	anyone know anything about mime-types? ;)
[18:00:14] 	how much ram should a machine really have to run mediawiki? Assuming a small group of users
[18:00:45] 	but quite a bit of parser functions and extensions
[18:00:55] 	128MB
[18:01:17] 	you can probably get away with less, but that should be comfortable, including a small mysql instance
[18:01:19] 	seriously? I'm running apache and mysql on the machine as well
[18:01:58] 	properly configured, neither apache/php nor mysql use that much memory
[18:02:07] 	(of course, more memory means it can support more users)
[18:02:12] 	this may be a silly question, but i can't seem to find it in any of the docs.  can i run mediawiki on 2 servers, sharing the database backend?  i know in older versions file uploads were stored to the local filesystem, was that changed so all data is now in the database?
[18:02:16] 	is there a good mediawiki-centric tuning guide out there? I'm eating up a lot of ram somewhere
[18:02:31] 	TrackZero: no.  if you want to enable uploads, you need to use NFS or similar to share the uploads directory
[18:02:40] 	TrackZero: a better upload store is being worked on, but not finished yet
[18:02:43] 	ah, thanks, that's what i figured.  ;)
[18:02:50] 	NFS won't be an issue, i'll go that route.
[18:03:01] 	other than that, it should work fine
[18:03:10] 	you can either share the docroot via NFS, or copy it to each machine when it changes
[18:03:24] 	(make sure you don't have different localsettings or mediawiki versions, or things won't work well)
[18:03:32] *AaronSchulz 	hugs NFS32
[18:03:40] 	what is that?
[18:03:41] 	yeah, i'll hav eto figure if NFS is better than rsyncing between the two servers
[18:07:39] 	hrm.
[18:07:57] 	it appears that "file -i file.flv" returns application/octet-stream.
[18:08:19] 	but, looking at the usr/share/misc/magic.mime file, there is an application/x-shockwave-flash.
[18:08:30] 	so, i think i'm missing a magic definition for .flv. 
[18:08:33] 	make sense to anyone?
[18:09:31] 	flyingparchment: NFS on a 32-bit machine :D
[18:09:39] 	what's special about that?
[18:09:50] 	nostalgia
[18:09:55] 	??
[18:10:20] 	32-bit machines are still in use everywhere... they're probably the most common platform still
[18:10:27] 	by far
[18:10:36] 	right, but it won't stay that way
[18:10:52] 	anyway, the NFS protocol is the same on 32-bit and 64-bit machines
[18:11:32] 	and 16 bit machines for that matter ;)
[18:12:20] 	Mahlzahn: right ;)
[18:12:56] *AaronSchulz 	wonders what bit machines will be common in 3000 AD
[18:15:44] 	ones who's date won't wrap around in 2038
[18:16:22] 	lol, forgot about that
[18:16:29] 	03siebrand * r29544 10/trunk/phase3/languages/messages/ (13 files): Localisation updates for core messages from Betawiki (2008-01-10 18:51 CET)
[18:17:46] 	http://en.wikipedia.org/wiki/Ternary_computer#The_future
[18:18:07] 	flyingparchment: I wonder if that is reasonable or just vapourware
[18:19:25] 	G'day folks. 
[18:20:35] 	flyingparchment: on a related note, what maximum_memory setting makes sense for php in mediawiki? I'm at 32 right now, but the default (according to php.ini) is 16
[18:21:40] 	mark: how many 64 bit machines used for WMF?
[18:21:58] 	about 300?
[18:22:52] 	03siebrand * r29545 10/trunk/extensions/ (18 files in 17 dirs): Localisation updates for extension messages from Betawiki (2008-01-10 18:51 CET)
[18:23:00] 	memory_limit rather
[18:23:00] 	hello
[18:25:52] 	ok
[18:25:52] 	now
[18:25:55] 	protectedtitles code
[18:25:58] 	should I just disable it 
[18:26:01] 	and let others fix it
[18:26:09] 	;-)
[18:26:33] 	Is there any tag extension that display preformated tag (like 
) but with a max line limit (80col for ex). I'd like that longer line were cut and a line break symbol added.
[18:27:49] 	I feel a bit dumb... But I managed to loose the link to the description on how #if works under wiki-script. 
[18:28:13] 	(( Sorry about the plague-bearer thing. I shall try not to infect anyone... )) 
[18:28:26] 	ObePlagueBearer: meta.wikimedia.org/wiki/Help:ParserFunctions
[18:28:39] 	Thanks. :) 
[18:28:59] 	... I shall bookmark it in the browser on the HD instead of on the memorystick one this time. :) 
[18:30:43] 	domas: why?
[18:31:18] 	AaronSchulz: well... it fetches protectedtitles on every pageview from database
[18:31:34] 	it also reads from memcached, gets the data it wrote, doesn't like it, and overwrites it
[18:32:21] 	it wants to show the "view source" tab I guess, why is it bad to see if the current page is protected?
[18:32:35] 	It's not like slow cascading protection (unless there is some bug)
[18:33:06] 	view source for what?
[18:33:14] 	is it supposed to protect existing pages too?
[18:33:30] 	AaronSchulz: all this cruft happens for 4 entries on enwiki
[18:33:34] 	and 0 entries on all other wikis
[18:33:42] 	I already told to do checking only when special action happens
[18:33:44] 	not on every pageview
[18:33:56] 	not "view source", but removing the "edit" tab or whatever it does
[18:34:10] 	does it do on every page or just non-existing ones?
[18:34:16] 	when should it?
[18:34:25] 	for non-existing pages
[18:34:31] 	(should)
[18:34:45] 	well, you can check profiling
[18:34:54] 	SELECT * FROM protected_titles query count is equal to -total
[18:36:59] *AaronSchulz 	reads Title::loadRestrictions()
[18:37:15] 	yeah, it does not check $this->exists
[18:37:35] 	Werdna?
[18:38:20] 	domas: well all it should do is check (a) can page X be created and (b) should pages be allowed to be moved to title X
[18:38:30] 	I guess in both X should have to not exist
[18:39:12] 	hrm.
[18:39:14] 	in both there's no need to do the global loading on every page
[18:39:23] 	i fixe dmy mime-type problem, but MW is now displaying an empty image...
[18:39:25] 	right
[18:39:31] 	a "fileicon.ico".
[18:39:33] 	why it has to be me to point out such simple things
[18:39:36] 	fileicon.png, rather.
[18:41:00] 	domas: I didn't write it ;)
[18:41:18] 	siebrand: ping
[18:41:28] 	domas: pong
[18:41:45] 	*head-desks* ... Okay, I am trying to use {{#ifExpr: {{{1}}}=yes|Main|Secondary}} in a template, passing a yes or no along to tell if it is a main or a secondary article.. 
[18:41:48] 	siebrand: yesterday you converted few extensions to use wfLoadExtensionMessages
[18:41:54] *siebrand 	nods at dodobas.
[18:41:57] 	siebrand: you could also make them delay the message load until really needed
[18:41:58] *siebrand 	grumbles.
[18:42:02] 	:)
[18:42:04] 	... and it does not want to work very well to say the least. 
[18:42:22] 	domas: that implies that I *really* really* know how it works...
[18:42:44] 	siebrand: have messages load in hook handlers, not initial extension setup function
[18:43:09] 	well, or somewhere.
[18:43:18] 	domas: usually I put the message loading to where they loaded before (at least not earlier)
[18:43:30] 	mmm
[18:43:34] 	domas: for some I moved it to specialpage execute.
[18:43:36] 	Nikerabbit: can you help siebrand?! :-)
[18:43:38] 	\o/
[18:43:42] 	siebrand: yup, thats great
[18:44:17] 	but say DeletedContributions have it in $wgExtensionFunctions[]
[18:44:21] 	domas: however, that means more testing for me, and slower progress in my goals to have auto export in Betawiki for as many extensions as possible...
[18:44:29] 	=)
[18:44:29] 	domas: do you know what's wrong with the bug bot?
[18:44:35] 	AzaTht: it is not working? :)
[18:44:39] 	no
[18:44:48] 	siebrand: well, you keep adding translations and make extension loads much slower
[18:44:49] 	:))
[18:44:54] 	siebrand: so, it is still all your fault
[18:44:55] 	domsa: wait
[18:44:59] 	it does look like it checks
[18:45:03] 	domas: I know. Sue me :)
[18:45:04] 	:D
[18:45:05] *AaronSchulz 	is confused
[18:45:17] 	domas: is it not meant to be working?
[18:45:21] 	*head-desks* ... Okay, I am trying to use {{#ifExpr: {{{1}}}=yes|Main|Secondary}} in a template, passing a yes or no along to tell if it is a main or a secondary article..  It returns only a || Expression error: Unrecognised word "no" 
[18:45:30] 	AzaTht: if nobody brought it up, then yes, it can be still down
[18:45:44] 	domas: uh?
[18:45:46] 	fuck
[18:45:51] 	*head-desks* ... Okay, I am trying to use {{#ifExpr: {{{1|no}}}=yes|Main|Secondary}} in a template, passing a yes or no along to tell if it is a main or a secondary article..  It returns only a || Expression error: Unrecognised word "no"  
[18:45:51] 	I may know what the problem is
[18:45:52] 	domas: on DeletedContribs:
[18:45:59] 	domas: should it be up or down?
[18:46:07] 	AzaTht: probably it should be up
[18:46:10] 	domas: loadRestrictions() checks, and saves it to the object
[18:46:12] 	ObePlagueBearer: you may want to try a #ifeq instead.
[18:46:18] 	domas: I did look into moving the wfLoadExtMsgs somewhere else, but could not find a proper location.
[18:46:20] 	domas: but you cannot fix it?
[18:46:22] 	getTitleProtection() just scans the db
[18:46:24] 	AaronSchulz: actually, it fails at that too
[18:46:25] 	{{#ifeq: {{{1}}} | yes | Main | Secondary }}
[18:46:28] 	maybe that is being called somewhere
[18:46:29] 	AzaTht: I can
[18:46:40] 	domas: basically because I hadn't seen the place where one message was hooked (user contribs)
[18:46:55] 	Morbus : Thank you. :) 
[18:47:05] 	domas: when in doubt, do not change... I tested it and it worked...
[18:47:09] 	That seems kinda prone to accidents, it will fail on e.g. Yes
[18:47:34] 	domas: yep, skintemplate calling getTitleProtection()
[18:47:49] 	which does a db query and doesn't cache it
[18:48:07] 	siebrand: mhm. well, the good place would be setting delayed specialpage handler to load the body
[18:48:09] *AaronSchulz 	hugs wingrep
[18:48:10] 	domas: I'll leave the true optimisation to others, as I have no clue... Just making message loading for extensions more standardised (had a chat about that with Tim)
[18:48:15] 	ok
[18:48:19] 	Nikerabbit: can you help me? :)
[18:48:29] 	domas: sorry dude, I just have too little clue...
[18:48:30] 	I don't have extensions tree checked out <--- nice excuse.
[18:48:43] 	that is my extension! :)
[18:48:57] 	domas: yes if it isn't urgent
[18:49:24] 	AaronSchulz: which one?
[18:49:46] 	deletedcontribs
[18:49:50] 	AaronSchulz: so fix it
[18:49:52] 	and yes, u suck
[18:49:53] 	:)
[18:49:57] 	domas: anyways, so skintemplate is the problem
[18:50:02] 	domas: what is wrong with the ext?
[18:50:10] 	AaronSchulz: it loads messages in extension setup function
[18:50:14] 	how do i expire the cache of a single page again?
[18:50:16] 	I haven't touched it lately
[18:50:21] 	Morbus: ?action=purge
[18:50:24] 	thanks
[18:50:29] 	AaronSchulz: thats the problem, you should've fixed that before
[18:50:50] 	people should learn to use hooks
[18:51:35] 	domas: i just wrote my first extension. whee! ;)
[18:51:49] 	AaronSchulz: should it load all messages for every pageview? even if it is not contributions page view? :)
[18:52:17] 	What about introducing LoadUIMessages hook?
[18:52:28] 	VasilievVV: how would it help?
[18:52:28] 	bah, I'll let someone else do that ;)
[18:52:42] 	I don't remember what scheme is used to do that
[18:52:48] 	meh
[18:53:05] 	and I am trying to fix skintemplate and title
[18:53:05] 	no ideas
[18:53:10] 	AaronSchulz: fix this first
[18:53:11] 	:)
[18:53:16] 	Nikerabbit knows how to fix this
[18:53:20] 	=)
[18:53:23] 	then he can do it
[18:53:30] 	thats your extension
[18:53:46] 	and I'm teaching you 
[18:53:47] 	how to do it
[18:53:57] 	  :D
[18:54:56] 	domas: is $wgExtensionMessagesFiles good enough?
[18:55:57] 	AaronSchulz: no
[18:56:02] 	if someone is interested on doing something on wfLoadExtensionMessages: have it support the fallbacks from MessagesXx.php somehow...
[18:56:12] 	look, there're few entry codes where your extension is executed
[18:56:17] 	you know them better than anyone else
[18:58:02] 	domas: where is an extension that does it using the current methods?
[18:58:16] 	An example would make this easier
[18:58:20] 	Nikerabbit fixed inputbox yesterday :)
[18:59:35] 	there're only two scopes where say deletedcontributions messages are needed
[18:59:49] 	a) contributions page
[18:59:52] 	b) extension page itself
[19:00:08] 	now, why are the messages loaded for goddamn every other pageview? :)
[19:00:44] 	efUsernameBlacklistSetup, hrSetup, wfSpecialRenameuser, etc
[19:01:00] 	never used, always loaded
[19:01:05] 	is that new mantra of development?
[19:02:09] 	domas: because all messages should be loaded in message cache always
[19:02:19] 	why? when?
[19:02:27] 	Because of Special:Allmessages, MediaWiki: pages editing, etc.
[19:03:08] 	they can load them then
[19:03:09] 	feel free to introduce new hook for Special:Allmessages that would ensure that all extension messages are loaded
[19:03:16] 	if it doesn't exist y et
[19:03:21] 	it does
[19:03:30] 	and Mediawiki: pages editing doesn't need all messages to be loaded
[19:03:33] 	two of them
[19:03:43] 	domas: why extensions shouldn't add their messages on every page view?
[19:03:55] 	VasilievVV: why don't you do 100 pushups now?
[19:04:03] 	oh, and once you're done
[19:04:05] 	:D
[19:04:06] 	do 100 pushups again
[19:04:09] 	domas: OK, I still need to deal with the "Deleted contributions" message
[19:04:36] 	I need some specialpage hook
[19:04:43] 	there is some
[19:04:44] 	man I hope now extensions list specialpages
[19:04:48] 	or they would break ;)
[19:04:54] 	*no
[19:04:58] 	domas: because it's senseless
[19:05:00] 	at least there is method
[19:05:14] 	VasilievVV: same with message loading
[19:06:25] 	domas: pushups are not as expensive as messages loading messages
[19:06:39] 	said who?
[19:06:51] 	me?
[19:07:10] 	how do you know?
[19:07:26] 	using common sense :)
[19:07:39] 	http://noc.wikimedia.org/cgi-bin/ng/report.py?db=all&sort=real&sample=&compare=&limit=5000&prefix=Setup
[19:07:39] 	here, common sense
[19:08:06] 	now let me explain that in literal values
[19:08:19] 	25% of execution time is spent setting up extensions
[19:08:30] 	we have 200 app servers doing it
[19:08:33] 	so...
[19:08:34] 	we have....
[19:08:37] 	ok, deletedcontribs has the title <deletedcontributions> when I go to it
[19:08:40] 	50 dedicated servers
[19:08:44] 	to load messages and such
[19:08:51] 	rofl
[19:09:01] 	VasilievVV: if you buy those 50 servers for us
[19:09:11] 	I'm happy to forget about message loading for next half a year
[19:09:54] *AaronSchulz 	closes another hole
[19:10:03] 	What's cpu/c and real/c
[19:10:19] 	cpu is cpu time
[19:10:22] 	real is real time
[19:10:33] 	/c is per call.
[19:11:11] 	meh, you know, when people pay you lots of money for the very same shit I'm telling you know, they at least listen. :)
[19:11:40] 	but now you guys are not paid
[19:11:42] 	I'm not paid
[19:11:59] 	so, let's find other motivation to fix this
[19:11:59] 	03dale * r29546 10/trunk/extensions/MetavidWiki/languages/MV_Messages.php: minnor lanuage update
[19:12:06] 	like... mother earth needs knowledge, etc
[19:12:50] 	# FIXME: these hooks are broken for extensions and anything else that subclasses SpecialPage. 
[19:12:51] 				if ( wfRunHooks( 'SpecialPageExecuteBeforeHeader', array( &$this, &$par, &$func ) ) )
[19:12:53] *AaronSchulz 	sighs
[19:13:21] 	fuck, I need to get that header msg loaded
[19:13:55] 	domas: and how much time does MessageCache::addMessages() takes time?
[19:14:12] 	meh, I just took out the profiling hook
[19:14:45] 	VasilievVV: well if this sucks up as much time as does, then it should be cut down
[19:14:56] 	I am having trouble actually getting this shit to work though
[19:15:38] 	VasilievVV: 20%
[19:15:59] 	meh
[19:16:03] 	thats the beauty of this project
[19:16:08] 	every new developer who joins
[19:16:24] 	ends up questioning what I tell in "who are you to tell me" sense :)
[19:18:30] *Simetrical 	doesn't question domas 
[19:18:37] 	you used to
[19:19:27] 	What about storing this message in memcached?
[19:19:31] *AaronSchulz 	doesn't
[19:19:59] 	VasilievVV: but you still have to load them all from memcached
[19:21:12] 	VasilievVV: loading them from file is faster than loading from memcached
[19:21:14] 	its not the point
[19:21:33] 	the whole goal of perf engineering is not doing work X faster, it is doing the right work for the right job
[19:21:49] 	you don't need 100 pushups now
[19:21:53] 	domas: loading is not the point. The point is in the merging arrays
[19:21:53] 	you might need if you were in army
[19:22:05] 	VasilievVV: thanks for telling me that
[19:22:34] 	meh
[19:22:36] 	Can we do anything to speed up merging arrays?
[19:22:52] 	you still not getting the point, are you? :)
[19:23:06] 	there is no need to merge all these arrays
[19:23:12] 	it wasn't much of problem before
[19:23:18] 	but now these arrays end up huge
[19:23:50] 	there sure is way to make it faster
[19:23:57] 	having all the i8n layer written in C
[19:23:59] 	:)
[19:24:03] 	with persistency and such
[19:24:19] *VasilievVV 	guess he can do nothing to speed up Titleblacklist
[19:25:05] 	there we go
[19:25:13] 	domas: any other extensions on WMF?
[19:25:49] 	renameuser
[19:26:27] 	http://noc.wikimedia.org/cgi-bin/ng/report.py?prefix=Setup.php-extensions
[19:26:41] 	oh, it rose up to 40% :)
[19:27:12] 	try tackling all with cpu% > 0.5 :)
[19:28:02] 	03simetrical * r29547 10/trunk/phase3/includes/Article.php: Right, *this* was the vulnerability that existed. Users couldn't mark the other edits bot, but they could mark their own rollback revision as bot.
[19:28:37] 	03aaron * r29548 10/trunk/extensions/DeletedContributions/SpecialDeletedContributions.php: Load messages only when needed
[19:28:56] 	domas: can you fix title/skintemplate then?
[19:29:05] *AaronSchulz 	has to eat and go to class soon
[19:29:33] 	Hey, anyone know of a way to collect form input with javascript without running through all the inner tags?
[19:29:36] 	domas, there should be things kept persistently in local server memory everywhere.  Like interwiki stuff, and messages too.
[19:29:55] 	I don't know if *all* messages would fit, though.
[19:30:32] 	Wiredtape, er, you have to get ahold of the tag somehow.  If it has an id or something, you can use it.
[19:30:44] 	Otherwise you have to navigate down from whatever has an id, or from the root element if no parent has an id.
[19:31:01] 	What is Setup.php-extensions-hrSetup?
[19:31:19] 	Simetrical: it is, kind of
[19:32:02] 	Simetrical, what I mean is if there's a post array for javascript, so instead of using 
I could use [19:32:29] if that makes any sense... [19:33:10] Wiredtape, I imagine there's no such thing, but I dunno. [19:33:11] hr = HideRevision [19:33:16] I don't do much JS. [19:33:34] hrSetup that is [19:33:47] Simetrical, I tried asking on #javascript, they didn't know/or didn't answer.. thanks though... [19:35:05] hello [19:35:27] Alas... I am back stubbornly as dandruff or snow in the mountains. And once more I have a question... I have been looking at how to add more new buttons to the edit-screen. On the Mediawiki this includes editing common.js [19:35:36] ... which isn't even in my wiki-directory. [19:35:56] ObePlagueBearer, it's a page on the wiki, not a file. MediaWiki:Common.js [19:36:15] (This is exactly why I renamed skins/common/common.css to shared.css :P) [19:36:25] Is there something like bugzilla dump? [19:36:36] I doubt it, why would you want it? [19:36:38] Okay, so what do I need to do to aquire it? [19:36:42] Fork Bugzilla? [19:36:54] ObePlagueBearer, add whatever JavaScript you want to the page MediaWiki:Common.js on your wiki. [19:36:58] Far as I have seen ... Editpage.php contains it? [19:36:59] Simetrical: no, read all bugs offline [19:37:00] Simetrical: the major problem with persistency of messagecache is that it can be nearly infinite [19:37:08] Ahhhhh... THAT simple. [19:37:16] domas, what do you mean? [19:37:24] Simetrical: think of user interface languages, sources of messages coming from language files, /code translations, etc [19:37:41] Simetrical: it is so complex, that having it on flat file is quite a problem :) [19:37:53] possible, though [19:37:57] How about having it in APC user cache as a variable you can grab [19:37:57] ? [19:38:14] I assume that uses shared memory, so reading it should be very fast regardless of size? [19:38:14] Simetrical: you still have to build it :) [19:38:23] Once per server, yeah. [19:38:27] the problem is still that you may want to unserialize it [19:38:37] otherwise you don't want to have huge object shuffling in your memory [19:38:45] the best solution is having .cdb-like map [19:38:51] like for interwiki [19:39:06] but building that map in case of messagecache would be far more complicated [19:39:07] I imagine that APC isn't quite clever enough to do copy-on write or something for $var = apc_fetch( 'giant_variable' ). [19:39:15] the interwiki map is built once few months manually [19:39:23] APC does copy zvals directly [19:39:31] but we don't use that because of single problem [19:39:45] if you do apc_put(Object), it will serialize, if you do apc_put(Array) it will copy zval [19:39:50] ok, so the special page name always works for sp:specialpages [19:40:07] the problem appears when you have array of objects [19:40:10] as long as $wgExtensionMessagesFiles is set [19:40:26] I've set message to load on execute() for renamuser [19:40:28] places where mediawiki loads all translations: specialpageslist, allmessages, for logs (hopyfully I fixed this some time ago) [19:40:32] it doesn't serialize() whole array, and instead of serializing small objects in it, it just skips them [19:40:33] log messages seem to work [19:40:46] Guess that's everything [19:40:57] Simetrical: I guess there's a fix for that, but still.. :) [19:41:13] Simetrical: if you have 100kb array, zval copying is cheap [19:41:18] but when you have constant copying of 100mb [19:41:19] then it is not :) [19:41:52] 03aaron * r29549 10/trunk/extensions/Renameuser/ (SpecialRenameuser.php SpecialRenameuser_body.php): Only load messages when needed [19:41:56] btw, I should probably do full disclosure [19:41:56] domas: is that it? [19:42:05] *domas <-- 37.1C [19:42:12] that makes me more grumpy [19:42:15] and far more productive [19:42:19] as I don't switch contexts [19:42:24] and stay on single task for long times [19:42:43] AaronSchulz: let me try! [19:43:05] but those are the only exts right? [19:43:17] ok, I'll do the skintemplate stuff after class [19:43:17] the ones showing up in profiling [19:43:25] hold on [19:43:31] now Renameuser init = 3.41 cpu% [19:43:35] *domas syncs... [19:43:53] sync deletedcontribs too [19:45:45] clearing profile.. [19:46:07] tadaaaaaa [19:46:11] it doesn't show up on profiling [19:46:34] should I send you 6 servers? :) [19:46:48] do the other one now [19:47:10] doing [19:47:17] then I can go :) [19:47:22] *domas has to do code reviews too, you see [19:47:43] *Aaron|out though domas had eyes of lightning [19:47:47] *thought [19:48:16] :o [19:48:45] ok, 0.38% instead of 3.8% :) [19:48:52] few more extensions [19:48:58] and we will have back the performance of glorious days [19:49:15] *Aaron|out is off [19:49:18] thanks :) [19:49:31] the list is still up: http://noc.wikimedia.org/cgi-bin/ng/report.py?prefix=Setup.php-extensions ;-) [19:49:54] hehehe, do note, that every fixed extension makes other percentages higher ;) [19:50:21] wfSpecialCite and efMakeBot look like good targets. [19:52:00] yup [19:52:27] Simetrical: Nikerabbit had some doubts if makebot/makesysop were still being used, or if this was all in core product already. [19:52:55] siebrand, they're still available on Wikimedia wikis until the Userrights interface is cleaned up a bit. [19:53:03] Simetrical: ah, ok. [19:53:04] Try accessing them and see what sort of error message you get. [19:53:40] Simetrical: should we exclude them from localisation in Betawiki as they are expected to be obsolete soon? [19:53:50] That might be a good idea, yes. [19:54:17] Simetrical: not everyone is bureaucrat :o [19:54:18] what the heck is asSetup [19:54:38] ajaxshow? [19:54:41] Nikerabbit, you should still get a permissions error, rather than "this page does not exist". [19:54:43] AntiSpoof [19:54:45] damn [19:54:52] darn [19:54:59] Another one that doesn't need to be called on practically any page load. [19:55:06] mhm [19:56:24] hehehe [19:56:30] both brion and Tim have extensions [19:56:34] that do this kind of message loading [19:56:35] :) [19:56:36] arghhh [19:56:53] I don't! :o [19:57:07] Nobody cared until those crazy BetaWiki people actually started in with this translating nonsense. [19:57:19] Simetrical: I cared [19:57:21] but a bit [19:57:23] now I care a lot [19:57:32] once this grew from 5% to 35% :) [19:58:25] I'm looking at ParserFunctions now :) [19:58:33] it is unstubbing $wgParser in setup [19:59:04] is there way to add those thingies without unstubbing it? [19:59:44] probably [20:00:01] by using proper hooks interface instead of ->setFunctionHook [20:01:05] Is there any way to display what pages are under the Mediawiki namespace? [20:01:16] Now I got REALLy curious. ;) [20:01:28] special:allpages [20:01:39] Ah. :) [20:01:41] or special:allmessages, but I don't like it [20:01:43] ... simple and elegant. [20:02:11] Nikerabbit: Do you know the Greek translations for "Wikiversity" and "Wikiversity talk", or how to find them on translatewiki? [20:02:32] 03simetrical * r29550 10/trunk/extensions/Cite/Cite.php: Fix Cite so it only loads messages when necessary [20:02:35] slavie: no idea [20:02:59] 03nikerabbit * r29551 10/trunk/extensions/AntiSpoof/ (AntiSpoof.php AntiSpoof_body.php): * Delay message loading [20:03:02] Retorical Question : ... I have more templates than I have articles??? [20:03:03] heh [20:03:06] teh orgasm [20:03:33] O_o [20:03:55] special:prefixindex [20:03:56] is the best [20:03:58] Nikerabbit: Aren't namespaces translated on translatewiki now? [20:04:07] slavie: only static ones [20:04:18] Like the project namespaces? [20:04:23] Nikerabbit, is calling wfLoadExtensionMessages(); multiple times safe/fast/etc.? [20:04:30] Simetrical: yes [20:04:42] see the definition in globalfunctions, it loads only once [20:05:49] TitleBlacklist is too complicated for me to do a quick hack to fix it. :( [20:06:05] And my fix of Cite didn't fix anything. [20:06:57] class definition inside function? ewww [20:08:11] :D [20:08:39] Nikerabbit: So are the canonical namespaces translated on translatewiki, or do we still need to get them to translate a table on Meta? [20:08:46] Hmmm. [20:09:09] antispoof fix live [20:09:13] slavie: all core namespaces except project are translated [20:09:22] and project_talk only half [20:09:33] Okay. [20:10:07] Just wondering, is the site name and project namespace the same message? [20:10:18] not necessarily [20:10:19] tell me what to sync! :) [20:10:23] lalala [20:10:35] domas: not bad, asSetup 0.02 :o [20:10:39] Is the site name translated on translatewiki? [20:10:44] assuming I didn't break anything :) [20:10:47] Down to 28%. :) [20:10:52] addMessages went down to 12% [20:11:00] domas, try syncing Cite. [20:11:00] or 14% real [20:11:10] 03simetrical * r29552 10/trunk/extensions/Cite/Cite.php: Fix it for real now, no pretending. [20:11:11] slavie: no, bugzilla is used for wmf site specific things [20:11:14] Hmm, right, I was looking at extensions. :) [20:11:28] Nikerabbit, what? It's used for any software issue also. [20:11:31] shit [20:11:32] this is bad [20:11:46] *Nikerabbit hides [20:12:06] Simetrical: yeah but we were not talking about that :o [20:12:18] Cite was livehacked [20:12:20] reviewing [20:12:31] Setup.php-extensions-Array wots this? [20:12:32] can you guys test if Cite is working on testwiki? [20:13:12] domas, looks like it. http://test.wikipedia.org/wiki/Tre [20:13:33] have to think of sync order [20:13:37] five files updated by svnup [20:13:40] =) [20:14:26] hmm special:cite has small unrelated glitch :o [20:14:35] what's the template to edit for the buttons above the edit bar? [20:14:45] s/ar/ox/ [20:15:13] submit button is inside label, which it probably shouldn't :o [20:15:28] What, you don't like recursive labels? :( [20:16:22] clicking the button activates the textinput, which looks kinda weird [20:18:20] http://www.nedworks.org/~mark/reqstats/svctimestats-hourly.png [20:18:28] see the blue line falling down in those small steps? :) [20:18:41] there was some spike which spoiled everything [20:18:46] but the graph would look awesome [20:19:22] what am I looking at? :o [20:19:53] wfSpecialCite shows up above [20:20:01] someone forgot to touch it! [20:20:15] Simetrical: can you poke the SpecialCite? [20:21:07] oh, btw, parser cache now works \o/ [20:22:08] How to create FAQ like given here at http://www.mediawiki.org/wiki/Manual:FAQ [20:22:08] OverlordQ: http://www.mediawiki.org/wiki/Manual:FAQ#How_do_I_add_more_buttons_on_the_edit_page.3F [20:23:22] alcoholic, Manual:FAQ is just a normal article page.. nothing special [20:23:42] domas, hmm, didn't expect such a dramatic drop from fixing Cite.php. It's still called on every page with references. [20:23:47] Oh, wait. [20:23:52] Like it got TOC up [20:23:54] Of course, the load time is just being pushed elsewhere. [20:24:05] So it didn't just drop 50-fold. :) [20:24:10] Simetrical: SpecialCite, not Cite [20:24:17] generally, there're two extensions :) [20:24:17] I know, I'm referring to my Cite fix. [20:24:35] mmhmm [20:24:36] alcoholic, "TOC up"? [20:25:20] Nikerabbit: does that message loading function add all languages, or just content/interface ones? [20:25:51] Oh, Special:Cite messages have to be loaded on every article view anyway, to get "Cite this page". [20:25:52] Oh well. [20:26:04] i want a TOC on the start [20:26:09] domas: everything currently [20:26:16] Simetrical: we don't cite searches and such [20:26:17] and Questions divided downward [20:26:24] Yes, it will help. [20:26:32] Also AJAX requests, etc. (those go through Setup.php, I assume). [20:26:36] yup [20:26:45] Nikerabbit: one more thing to fix \o/ [20:26:58] alcoholic, then make a couple of headers-> ==bla== ; ====blabla==== [20:27:01] ? [20:27:18] Nikerabbit: um, one can check interface/content languages [20:27:27] Nikerabbit: and add only required messages [20:27:59] domas, fixed Special:Cite. [20:28:02] domas: it just wastes memory, or would that speed things up? [20:28:05] 03simetrical * r29553 10/trunk/extensions/Cite/ (SpecialCite.php SpecialCite_body.php): Delay message loading for Special:Cite [20:28:16] Nikerabbit: both, I think [20:28:33] But don't we store the messages in a flat PHP file? [20:28:38] That we just include? [20:28:46] So the variables will be initialized regardless. [20:28:51] Since the file is per-extension. [20:29:04] yes we wont gain anything in that part [20:29:07] Maybe we should go with a more sophisticated message-loading system, that doesn't just have PHP directly load everything. [20:29:09] maybe in some other [20:29:16] Do extension messages appear in special:allmessages? [20:29:33] Wiredtape: yes [20:29:37] in some random order [20:29:44] ...thx [20:29:47] Simetrical: APC compiles files into opcode.. [20:29:54] Ah, true. [20:29:56] Simetrical: it isn't that we have to initialize a lot [20:30:08] of course, some work has to be done [20:30:34] ciao [20:30:37] !list [20:30:37] --mwbot-- http://lists.wikimedia.org [20:30:39] Simetrical: specialcite gone from profile :) [20:30:56] domas: Isn't a PHP array lookup (like $messages['ipb-dropdown']) O(N) in the size of the array? [20:31:09] Um, no. [20:31:11] RoanKattouw: nope [20:31:12] It's O(1). [20:31:15] Hash table. [20:31:23] Oh yeah of course [20:31:24] domas: we could probably load only three languages and it wouldn't affect anything currently, as we don't check fallbacks :o [20:31:35] Loading it/copying it in memory is O(N), but fairly fast O(N). [20:32:13] But PHP arrays eat lots of memory right? [20:32:22] RoanKattouw: they do, of course [20:32:28] hi [20:32:31] hi domas :) [20:32:32] mediawiki memory footprint is huge on our apaches :) [20:32:36] hey danimo [20:32:36] hi [20:32:38] you're into maintenance session [20:32:51] domas: hmm? [20:33:00] hmm, should I modify addMessagesByLang or addMessages [20:33:10] danimo: we're doing serious stuff here :) [20:33:19] danimo: saving hundreds of thousands of dollars! [20:33:24] domas: I imagine that memory footprint is mostly stuff from MessagesEn.php and friends? [20:33:28] (or rather fixing performance regression :) [20:33:41] domas: you are porting mediawiki to some decent language?:) [20:33:46] danimo: oh shut up [20:33:58] it isn't regression, just slow down :) [20:34:02] domas: *gg* [20:34:36] Hey domas I got an idea here: maybe we can group messages that kind of belong together (like EditPage messages, Special:Move messages, etc.) and only load the categories we need [20:34:49] domas: I just wanted to fsck around with my favourite issue :) [20:34:57] darn there is getExtensionMessagesFor [20:35:06] hi presroi_ [20:35:07] RoanKattouw: too much work, wouldn't help that much [20:35:30] was thinking about that once or twice :) [20:35:45] Not if we keep it in one file, but I think if we split it up in more files (people are gonna hate that of course, but nm) it might actually have an impact [20:36:02] don't forget there's database [20:36:06] from which we build stuff too [20:36:10] Oh right we cache messages right? [20:36:14] and there're interface languages [20:36:15] yup [20:36:37] would be nice to not use loads of memory though :o [20:36:56] So what I've always been curious about: what does wfMsg() actually do? Does it load messages from the DB msg cache if available? [20:37:17] I had to set memory limit to 130M [20:37:20] If so, is the huge array in MessagesXX.php still loaded to memory in that case [20:37:21] 03avar * r29554 10/trunk/extensions/Cite/SpecialCite.i18n.php: translated cite_submit for Icelandic [20:37:33] NikeRabbit: Is that 130M per instance? [20:37:50] Nikerabbit: our servers use 80M setting :) [20:37:52] RoanKattouw: 130M per request [20:38:01] look, avar is alive [20:38:03] Yeah that's what I meant [20:38:05] is there any way to do syntax highlighting for tcl in wiki ? [20:38:11] That's pretty fucking huge [20:38:20] RoanKattouw: isn't fun when there is 256M + swap [20:38:29] No, I can imagine [20:38:29] alcoholic: geshi should support tcl, right? [20:38:32] Nikerabbit: wooot? [20:38:33] RoanKattouw, try reading up through the call chain and see! [20:38:44] Which call chain? Where? [20:38:46] domas: woot for what? [20:38:47] yes [20:38:52] 256? [20:38:59] thats like... [20:39:01] RoanKattouw, for wfMsg(). Try reading the source code. :) [20:39:02] well... [20:39:05] Oh right [20:39:06] 2000!!! [20:39:08] !syntaxhighlight | alcoholic [20:39:08] --mwbot-- alcoholic : there are several extensions for syntax highlighting, see http://www.mediawiki.org/wiki/Category:Syntax_highlighting - the most popular one is at http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi [20:39:18] domas: that's like man with no p... [20:39:26] mhm [20:39:31] my notebook has 2GB [20:39:32] ;-) [20:39:38] WTF [20:39:40] function wfMsg($x) { [20:39:41] I have 1G on mine :/ [20:39:41] 00061 return $x; [20:39:43] 00062 } [20:39:44] well, ok, desktop just 1.5GB :) [20:39:53] That doesn't make sense :? [20:39:53] Having each language in a separate file would save considerably on memory usage, I imagine. [20:40:00] RoanKattouw, uh, where are you looking? [20:40:06] GlobalFunctions [20:40:17] Huh? [20:40:21] Simetrical: just dropping the unneeded data would help I guess [20:40:23] Oh RandomFunctions.php turns out [20:40:23] !parserfunctions [20:40:23] --mwbot-- "Parser functions" are a way to extend the wiki syntax. ParserFunctions is an extension that provides the basic set of parser functions (you have to install it separately!). For help using parser functions, please see . For details about the extension, see . [20:40:30] Doxygen really sucks sometimes [20:41:18] anyway, I don't have environment to see where mw actually uses that much memory :( [20:42:53] Err guys do I understand correctly that $wgMessageCache->load() (called by $wgMessageCache->get()) load *all messages* from the DB? [20:43:09] yup [20:43:42] Can't we somehow split that up in categories? [20:43:54] 'Cause you end up only using like 5% of those messages, that's just idiotic :P [20:44:19] 5%? [20:45:02] anyway, messagecache is fast [20:45:08] and there's only 1700 messages or something in core [20:45:11] we have on-disk caches [20:45:34] (which means persistent per-apache, not slow :) [20:45:40] They may be fast, but all those messages are loaded from the DB in one go, right? [20:45:59] In that case, they're being put in one of those memory-hogging PHP arrays [20:46:06] well [20:46:10] I can show you something [20:46:41] I might be completely out of loop, but it seems smart to me to load messages based on user group? (it is loaded per instance right?) [20:46:51] *Nikerabbit assumes everything is fast until proven slow :o [20:47:29] > print memory_get_usage(); [20:47:29] 6452976 [20:47:29] > wfMsg('watchlist'); [20:47:29] > print memory_get_usage(); [20:47:29] 7302584 [20:47:34] Wiredtape_Away: I was more like thinking loading messages based on categories, like loading all Special:Ipblock messages if 'ipb-dropdownlist' is requested [20:47:40] so, thats just 1MB of in-process data [20:48:06] not that much, is it? [20:48:13] nope [20:48:18] "Just" 1 MB? Where do the other 80 come from? [20:48:21] unless you load 100 languages [20:48:33] RoanKattouw: thats 6MB vs 7MB [20:48:48] domas: I know, but you mentioned setting memlimit to 80MB [20:48:59] RoanKattouw: never underestimate parsing [20:48:59] Nikerabbit: When would you load multiple languages? [20:49:13] Right, parser uses lots of arrays [20:49:23] or rather, never underestimate complexity of wikitext provided by largest collaborative community [20:49:37] RoanKattouw: hopefully not ever, I "fixed" the one case I'm aware of [20:50:02] Anyway, in that case there should be a noticeable difference in memusage between an edit request and a view request for a pcached page [20:52:01] off topic: using a parser extension that changes the article title, it seems it only has effect when I purge the article.. any ideas? [20:54:41] domas: I saw a profiling graph based on execution time, do you also have (or can you generate) similar graphs based on mem usage? That would be useful [20:55:12] I could, probably :) [20:56:11] btw, http://p.defau.lt/?fzMrsXlV9gAnhYfOxbLTOA [20:57:24] bytes? [20:57:26] yup [20:57:40] that's like nothing? :o [20:57:43] see, extensionmessages are bigger than all the other messagecache stuff [20:57:50] well, serialized output is smaller [20:57:51] than in memory [20:58:11] hmmh, I would have thought it is bigger [20:59:08] You don't need to store the things like hash tables. [20:59:22] Of course you add some extra inefficiency by having extra punctuation marks and so on. [20:59:30] But that's probably smaller than a hash table. [21:03:37] domas: That's another issue: extensionmessages are *huge* if you have a decent amount of extensions installed. Can't we load them like on a per-extension basis? [21:03:53] That still screws over Special:Version of course, but it should make some difference [21:04:19] RoanKattouw: goodmorning darling! [21:04:26] thats what we've been doing for past few hours [21:04:26] ;-) [21:04:47] lol [21:04:55] Sorry, only joined recently [21:04:57] you even made me smile [21:05:22] Of wait, Special:Version wouldn't be screwed, $wgExtensionCredits is separate from the messages system [21:05:38] so, few more easy targets: [21:05:53] MakeBot, HideRevision, UsernameBlacklist, Newuserlog, Titleblacklist [21:07:06] 03nikerabbit * r29555 10/trunk/extensions/UsernameBlacklist/UsernameBlacklist.php: * Delay message loading [21:09:11] one less [21:09:18] synced [21:11:08] can I have the saved money now please? :D [21:11:16] :) [21:11:27] once we extort it from extension authors [21:11:39] sounds painful [21:11:44] painful it will be [21:12:00] So if I understand correctly, extensions with lots of messages should wfLoadExtensionMessages() them only when they really need them? [21:12:10] mhm [21:12:19] lots or not, delaying is good [21:12:35] the problem with 'not lots' is that you don't really notice when it becomes lots [21:13:00] lol [21:13:03] damn, should've saved profiling snapshot before the start of this review [21:13:13] thats generally with nearly every mediawiki feature [21:13:13] I'll fix my only notable extension (ChangeAuthor) to do this too [21:13:23] categories used to be all great when nobody was creating 100k sized categories [21:13:24] hmm [21:13:32] templates used to be easy when people were not doing 100-deep recursions [21:13:41] makebot and newuserlog have log messages [21:13:41] 03siebrand * r29556 10/trunk/extensions/Translate/ (MessageGroups.php Translate.php): Disable makebot/makesysop. About to become obsolete pending Userrights interface clean up. [21:13:44] or nesting or using as databases [21:13:51] ParserFunctions used to rule when no one used 100+ #ifexist calls on one page [21:14:02] I don't dare to fix them because I can't test them :/ [21:14:21] Nikerabbit: why can't you? [21:14:21] hmm, actually I can [21:14:44] domas: I don't have any good test wiki around currently [21:14:53] is en.wikipedia good enough for you? [21:15:03] yes there is the ones in production use :D [21:15:49] but wouldn't I get stabbed for breaking all wikis? :) [21:16:04] Say domas told you to. [21:16:12] Roan : The disadvantage of programmers turning article/template editors? [21:16:26] yeah [21:16:31] you can always tell my name [21:16:55] Simetrical: heh, I've only broken fiwiki or something small [21:17:05] I've broken the site quite a few times [21:17:12] like... 100 [21:17:13] or so [21:17:32] haha, I remember when avar broke it [21:17:36] he was so scared [21:17:50] usually people when break something for the first time are very scared [21:17:58] domas: Alright, this sucks: ChangeAuthor needs its messages in the constructor [21:18:04] I broke it on my first day as a developer! [21:18:08] Oh wait that's actually not that bad [21:18:10] Incidentally, it was section edit links I broke. [21:18:13] Considering it's a SpecialPage [21:18:19] RoanKattouw: what is ChangeAuthor? [21:18:25] I seem to have something of a love-hate relationship with them. [21:18:30] I broke the entire site once for a few minutes, and yeah, I was scared [21:18:30] domas, not used on Wikimedia, I don't think. [21:18:36] And extension that does what it says: changes the author of a revision in the DB [21:18:47] Some guy asked for it and I wrote it for him [21:18:50] I deleted the enwiki database too once and thought for a second I wasn't actually on my test machine, I had changed the prompts or something like that [21:18:58] I break my forum sometimes. Once it was for 12+ hours, and I only found out and fixed it when I woke up. \o/ [21:19:07] http://noc.wikimedia.org/cgi-bin/ng/report.py?db=all&sort=real&sample=&compare=&limit=7&prefix=Setup.php-extensions [21:19:10] thats the list [21:19:13] avar, that would be pretty funny. [21:19:16] In a twisted way. [21:19:30] Yeah, total wikiterrirism:) [21:19:37] I hate the feeling when I do some big drops or changes [21:19:42] domas: I think I should just remove $wgHooks['LoadAllMessages'][] = 'ChangeAuthor::loadMessages()'; right? [21:19:45] and then suddenly a splash comes in with [21:19:56] "Sorry, there will be some delay as we restore from backup, since someone was at the wrong console when they typed DROP DATABASE." [21:20:06] "what if I'm doing this on a master" [21:20:06] That would probably get an entertaining /. writeup. [21:20:27] domas, yeah, I know that feeling too. Although in my case it's not all of Wikipedia I might break. :P [21:20:40] Oooh, it's just 22 messages [21:21:00] RoanKattouw: what is LoadAllMessages? :) [21:21:04] RoanKattouw, you should use wfLoadExtensionMessages() or whatever, like all the cool extensions do. [21:21:14] A function that just calls wfLoadExtensionMessages() [21:21:28] The self::loadAllMessages() stuff was how it used to be done [21:21:34] uh [21:21:49] (User creation log); 21:21 . . ZZZZZZZZZZZZZZZZ (Talk | contribs) (<newuserlog-create-entry>) [21:21:53] not good :< [21:22:04] load at hook? :) [21:24:16] (User creation log); 21:23 . . ZZZZZZZZZZZZZZZY (Talk | contribs) (New user) [21:24:18] the real victory will be parserfunctions ;-D [21:24:18] Okay, who was the one who changed the new user log? [21:24:22] Not me. [21:24:30] And did the changer test it? [21:24:45] did anyone change it? [21:24:58] Hmm, did anyone? [21:25:00] I mean, Simetrical, what are you talking about? :) [21:25:00] Good question. [21:25:11] thats just Nikerabbit testing :) [21:25:19] not on enwiki this time [21:25:26] Ah, good. :P [21:25:27] :D [21:25:41] there is lot of old compatibility stuff in newuserlog.. [21:25:46] but that's not we are after now [21:26:01] Bah, kill it, we branch extensions now. [21:26:10] Unless that's written by someone picky about reverse-compatibility. [21:26:44] 03catrope * r29557 10/trunk/extensions/ChangeAuthor/ (ChangeAuthor.body.php ChangeAuthor.setup.php): ChangeAuthor: fix hinky tab style and remove loadMessages hook [21:27:47] Simetrical: maybe later [21:28:16] heh [21:28:30] today there was one funny situation to me [21:28:46] I went to groceries store, and bought something I never bought before [21:28:54] 03nikerabbit * r29558 10/trunk/extensions/Newuserlog/Newuserlog.php: * Delay message loading [21:29:01] and when my girl came home, I made a show, like you know, drumroll, etc [21:29:05] I show her what I bought [21:29:05] hope that works [21:29:09] and she starts laughing [21:29:16] she also went to store and bought same product. [21:29:22] ok, perhaps you devs should know this: adding to MediaWiki:Copyright will effectivly log out everyone [21:29:44] haha [21:29:47] =) [21:29:47] AzaTht: Nice one [21:29:53] hehe [21:29:55] definitely good reason why we shouldn't allow raw html [21:29:56] AzaTht, not those on text browsers ;) [21:29:58] well, one has to add to mediawiki:copyright first [21:30:08] The API allows GET for stuff like that? [21:30:14] Does src="w/index.php?title=Special:Userlogout" also work? [21:30:15] yes [21:30:16] Nikerabbit: in interface messages it should allow [21:30:17] Dashiva yeah [21:30:22] That's crazy talk [21:30:23] Dashiva: what is difference between GET and POST? [21:30:25] RoanKattouw: havn't tried [21:30:32] domas: it? [21:30:35] Dashiva: people can CSRF posts too [21:30:40] Nikerabbit: raw html [21:30:48] I like the idea of raw html in interface messages [21:30:52] =) [21:30:53] domas: CSRF? [21:30:56] AzaTht: 'Cause if that's the case, the vulnerability is *very* old and you're just the only one crazy enough to come up with it [21:30:59] cross site request forging [21:31:04] RoanKattouw: haha [21:31:06] That's not what it's about, though [21:31:13] domas: just because the alternative is parsing it? :D [21:31:17] You shouldn't use GET for stuff like that [21:31:42] Nikerabbit: yup [21:31:45] Dashiva: Well by default we allow both GET and POST for all API actions. We probably want to change that though [21:31:56] RoanKattouw: yea ツ [21:32:02] domas: I'd still keep the number of those minimum [21:32:04] Yea to what? [21:32:12] Dashiva: if anyone can put raw html, they can put too [21:32:12] "We probably want to change that though" [21:32:44] If someone can put raw HTML, they can also put a there and submit it with JavaScript [21:32:53] RoanKattouw: thats what I said! [21:33:05] So much for considering POST secure :D [21:33:06] stop repeating me! [21:33:08] Sorry [21:33:11] hehe [21:33:12] !!! [21:33:12] --mwbot-- I don't know anything about "!!". [21:33:16] !!!!!!!!! [21:33:16] --mwbot-- I don't know anything about "!!!!!!!!". [21:33:17] Just finished your half-thougt ;) [21:33:19] LOL [21:33:44] !! is ! [21:33:44] --mwbot-- Successfully added keyword: ! [21:33:51] !programming [21:33:51] --mwbot-- I don't know anything about "programming". You might try: !mwhelp [21:34:10] lol [21:34:20] !! [21:34:20] --mwbot-- ! [21:34:21] Reboot time. [21:34:28] *Nikerabbit resists to type !sex and other stupid things [21:34:33] !sex [21:34:33] --mwbot-- I don't know anything about "sex". [21:34:49] !that_dead_hooker_in_my_bedroom [21:34:49] --mwbot-- I don't know anything about "that_dead_hooker_in_my_bedroom". [21:34:57] !sex is the act of combining two parts into one [21:34:57] --mwbot-- Successfully added keyword: sex [21:35:04] >_> [21:35:07] !sex [21:35:07] --mwbot-- the act of combining two parts into one [21:35:16] Anyway AzaTht have you checked whether the Special:Userlogout trick works yet? [21:35:26] RoanKattouw: no [21:35:27] wait [21:35:37] i thought we stopped allowing raw HTML in system messages [21:35:39] need to get access to my local wiki forst [21:35:55] if not, why? [21:35:58] domas: Sure, you can do all kinds of fancy stuff with raw HTML. But that doesn't change the best practices for HTTP methods in general [21:36:19] True [21:36:26] State-changing requests should be POST [21:36:30] MZMcBride: coders don't care [21:36:35] *RoanKattouw opens his TODO list _again_ [21:36:43] *Dashiva ponders if it's possible to setup an external image that 3xx-redirects back to the api [21:36:56] RoanKattouw: confirmed [21:37:04] Then you wouldn't even need raw HTML [21:37:11] There you are, my diagnosis was correct [21:37:16] haha [21:37:18] Dashiva: there's