Daniel Lepage on Sat, 2 Dec 2006 14:34:28 -0700 (MST)

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [s-d] Coding on mediawiki

My thoughts on what we need:

First, there are three main categories of useful code.

The first is in add-ons to MediaWiki. These might include code to let  
us input/edit/vote on proposals through a set of common forms, or a  
nice ncalendar that helps with the correspondence between ntime and  
realtime, etc. All of these would be nice packages to aid the input  
and display of information.

The second category is automation scripts. For example, a script to  
automatically update the clock, or a script that would automatically  
tally the votes and make proposals historical at the right time.  
These would be scripts that alter the wiki/email the game at set times.

The third category is email management. For example, a dice roller  
that allowed me to email dice@xxxxxxxxx with the text "Wonko gains  
{{2#d3}} points", and that would then email the list saying "Wonko  
gains 4 points", or a script so that if you sent the message "Wonko  
loses 12 points" to auto_admin@xxxxxxxxxxx, the wiki representation  
of my score would go down. These would be scripts that allow us to  
check or change the gamestate via emailing a robot, or scripts that  
alter text before sending it on to the fora.

The first category would probably be written in PHP, since MediaWiki  
itself is PHP and it's a pain to mix languages.

The second category would probably be in Python, because there  
already exists a very powerful framework for writing python bots that  
automatically work on MediaWiki instances.

The third category would probably consist of a procmail script that  
would put messages through arbitrary executables. Each executable  
could be in its own language.

The most useful tools I can think of would be:
1) An NTime calendar. This will track the current nday and nweek and  
display it on the wiki, with buttons allowing players to stop or  
start it, and to change its current value. The current nday would  
automatically be updated every midnight UTC.
2) A Proposal manager. This would have a text field for submitting  
proposals, with titles, etc. It would store them (maybe just as wiki  
pages?) and allow users to list all proposals, search just within  
proposals, etc.
3) A Dice Roller. This would take messages containing embedded random  
expressions and replace the expressions with their values. For  
example, "Wonko gains {{sum 5#d6}} points" would have the 5d6  
evaluated, and the result would be inserted in a message to spoon- 
business, such as "Wonko gains 20 points".
4) An information tracker. This would show players' scores, current  
proposals, etc. in some way that A) looks nice on the wiki, and B)  
can be reached by other scripts.

I think the logical first step for all of this, though, is to learn  
to use MediaWiki, since as comex said earlier, much of we want can be  
built of existing functions that we don't understand. Who within the  
game knows how to use MediaWiki, or is willing to learn?


spoon-discuss mailing list