Developer Info
Development Environment
Maven
Maven 3 is is used in a pretty standard way - just look at pom.xml for details
Eclipse
initial import
The project can be imported to eclipse - using the m2eclipse plugin is recommended
Coding conventions
spaces for indentation, not tabs! see
and the answer
on how to do it
Testenvironment
There is a JUnit 4 Testsuite for the Mediawiki-Japi library that accesses some ExampleWikis for the tests.
A login attempt is part of most of the tests - you'll need credentials at http://www.mediawiki.org to run these tests successfully. You might want to create an account at https://www.mediawiki.org/w/index.php?title=Special:UserLogin&type=signup
Credentials for the test example Mediawikis
The credentials for the test example Mediawikis are fetched from ini files in the .mediawiki-api subdirectory of your home directory. E.g. if your username is bob and the id of the Mediawiki is "mediawiki_org" then you'll find the ini file at $HOME/.mediawiki-api/bob_mediawiki_org.ini.
If the credentials ini files do not exist yet you are warned during the test run e.g.
Jan 04, 2015 6:27:51 PM com.bitplan.mediawiki.japi.user.WikiUser getUser Schwerwiegend: Need to be able to read Credentials for http://www.mediawiki.org from /home/rene/.mediawiki-japi/rene_mediawiki_org.ini Please run java -cp target/test-classes com.bitplan.mediawiki.japi.user.WikiUser mediawiki_org to create it. Then restart your tests.
In this case you might want to run
java -cp target/test-classes com.bitplan.mediawiki.japi.user.WikiUser mediawiki_org
The first parameter is the wikiid "mediawiki_org" which identifies the wiki the credentials are going to be used for.
When running WikiUser you'll be asked for:
- username (please enter it with a capital first letter or fix the .ini file later)
- password (will be encrypted)
like this:
java -cp target/test-classes com.bitplan.mediawiki.japi.user.WikiUser mediawiki_org Please Enter username: Scott Please Enter password: tiger Please Enter email: scott@tiger.com Please Enter shall i store Scott's credentials encrypted in wf_mediawiki_org.ini y/n?: y
If you are using the Fat Jar file you can of course also call the run script provided.
Example for a credential ini file
.mediawiki-japi/scott_mediawiki_org.ini
#Mediawiki JAPI credentials for mediawiki_org
#Mon Jan 05 05:51:15 CET 2015
secret=/8UXoM9of6Q\=
user=Scott
email=scott@tiger.com
salt=FJgsesHK
cypher=qh0CKZ2EQ4kO3nTtC90wM0AOl7RKrmwb
url=http://scott.tiger.com
scriptPath=
wikiId=scott
version=MediaWiki 1.27.3
email=scott@tiger.com