Mediawiki/Hacking

From S23Wiki
Jump to: navigation, search

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

"In addition, using our bug tracker gives off the false impressions that (a) this is going to make it into MediaWiki *some time*, even though it's not, no matter how much Santa Claus begs and (b) that we're in some means affiliated with it. I'm sure someone out there would be willing to host discussion like this for what amounts to a major fork in aims and scope of MediaWiki. --Rob Church"