MediaWiki/Hacking

On making custom RC pages for sub-wikis
< mutante__> i want to make a Special:RecentChanges page that is limited to a certain subset of pages

<    dammit> how would you limit that subset?

<    dammit> categories?

< mutante__> yes,or i would just select them myself once

< mutante__> or i would parse the beginning of the page name

< mutante__> and put all subpages of a page into it

< mutante__> it is an approach towards "wiki hiving"

<    dammit> mhm

< mutante__> another wiki has moved into ours, like /fnordwiki/subpages and would like to have an RC just for them and their subpages

<    dammit> well, selecting from recentchanges by the start of title could be easy, just add required index for your operation

<    dammit> I'm not sure if there's any index on title

< mutante__> i would now just copy ./includes/SpecialRecentchanges.php to SpecialRCtest.php and start fiddling with that, would i need to go elsewhere in source code to add another special page then or just put it in includes

<    dammit> SpecialPage.php

<    dammit> but you may hack up a function, that'd include your page into specialpages array

<    dammit> and put only reference to that function in extensions variable of localsettings

<    dammit> check for extensions/ directory in CVS

< mutante__> thank you

<    dammit> you may get more examples/help there

< mutante__> /lastlog -f specialpage_advice.txt ;)

On IRC2Wiki, making bots send content
< mutante__> dammit: that would be another thing i might get into: usig a bot command to actually send content into the wiki, IRC2Wiki on both directions...

< mutante__> like i just used /lastlog in irssi to save the text locally, i imagined typing !lastlog in channel and having a bot insert it into Special:IRC/channel page

<    dammit> for that you might either use commandLine.inc

<    dammit> (with all MW internals at hand)

<    dammit> or 'pywikipedia' framework for external client

< mutante__> i would use eggdrop with libmyscltcl and a tcl script to insert into the cur table

< mutante__> i already have bots running that communicate with mysql ,just not wiki related so far

<    dammit> well, remember that in wiki there are more tables, not only 'cur'

<    dammit> that's why I offered commandLine.inc

<    dammit> you may hack 'append' script, you could invoke from your eggdrop

< mutante__> would need to copy the statement from EditPage code...

< mutante__> ah cool, well i just had the idea like 5 minutes ago and thinking out loud ;)

<    dammit> use our objects instead of sql statements

<    dammit> if you looked at the work in HEAD

<    dammit> you'd notice all your scripts would be screwed in next major upgrade ;-p

< mutante__> oops, good that i mentioned it then, will make (NOTE TO USE OBJECTS)

<    dammit> and actually, if you find some object written in weird fashion

<    dammit> correct it and send patches, thanks!

< mutante__> ok,thanks as well

<    dammit> (NOTE TO SEND US PATCHES!)

< mutante__> done on our internal

Namespace hack / Restricted read access for subset of wiki

 * http://bugzilla.wikimedia.org/show_bug.cgi?id=1924


 * http://wiki.ontoserve.com/index.php/Namespace_Hack