Dr. Trigon wrote:
Hello all!
"[Toolserver-l] Internally calling the MediaWiki API on Toolserver" is
a very good idea!!
What about doing the same e.g. with the actual pywikipedia bot
framework
to have some API for python script as well?
Greetings
Dr. Trigon
Hi again,
I decided to drop this for now (atleast for myself, anyone else can
ofcourse pick it[1]).
Because there were too many problems setting it up:
* Missing tables that MW wants by default (mostly cache tables)
* Invisibility of some indexes that the API needs
* Configuration problems
* more errors, problems and incompatibilities
What I did do to solve the problem I was having (which inspired me to
bring this up)
is write the following tool:
http://toolserver.org/~krinkle/getWikiAPI.php
Which can be used to get wiki-specific information by any of the
identifiers we know (like
database name, sitename, host, url, domain, topdomain)
Can come in handy if you got one of the pieces but are missing the
other pieces (either
from within a tool or off-toolserver)
This API supports a few human readable formats and serliazed PHP and
JSON/JSONP callbacks:
*
http://toolserver.org/~krinkle/getWikiAPI.php?wikiids=commons#output
*
http://toolserver.org/~krinkle/getWikiAPI.php?wikiids=media&format=json…
*
http://toolserver.org/~krinkle/getWikiAPI.php?wikiids=dewikt&format=php…
--
Krinkle
[1] Some points for who would like to do this:
* svn checkout /branchces/wmf/1.16wmf4 (better wait two weeks so you
can take /1.17wmf1)
* regularly update this from svn
* global variable aray (eg. $tsWmfApi) with wanted databasename,
database user and datebase password
(users can pass their .my.cnf. user/password and then which ever
database they need)
* Map this to the right dbhost (either replace _p with -p and go to
dbname.rrdb.toolserver.org or get it from
sql.toolserver.org /
toolserver.wiki table (SELECT server WHERE
dbname=sql_clean($tsWmfApi['dbname']). )
* include the right extension files for the right wikis (or include
none for all wikis, but don't include all for all wikis)
** Use wgConf(), see
http://noc.wikimedia.org/conf/CommonSettings.php.txt
,
http://noc.wikimedia.org/conf/InitialiseSettings.php.txt
* in LocalSettings.php set $wgLocalisationCacheConf['store'] =
'files'; // since l10n_cache doesn't exist on Toolserver
* Figure out how to fix the missing objectcache table as well.
* Figure out how to stop mediawiki from forcing index in queries since
those indexes are not visible from views on Toolserver
** There's a useIndexClause() function in /includes/db/
DatabaseMysql.php. Reset to returning ""
** Then there's a lot of calls to $this-> addOption( 'USE INDEX', /
* ....*/ ) in api modules, add an if() statement to not use index if
$value is USE INDEX.
* And more