Difference between revisions of "Developer Info"
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | == Development Environment == | ||
+ | === Maven === | ||
+ | Maven 3 is is used in a pretty standard way - just look at [https://github.com/WolfgangFahl/Mediawiki-Japi/blob/master/pom.xml pom.xml] for details | ||
+ | === Eclipse === | ||
+ | ==== initial import ==== | ||
+ | The project can be imported to eclipse - using the [http://eclipse.org/m2e/ m2eclipse plugin] is recommended | ||
+ | [[File:EclipseImportProject.png]] | ||
+ | ==== Coding conventions ==== | ||
+ | spaces for indentation, not tabs! | ||
+ | see | ||
+ | * http://stackoverflow.com/questions/2636589/how-can-i-get-eclipse-to-insert-tabs-instead-of-spaces-for-java-content-assist | ||
+ | and the answer | ||
+ | * http://stackoverflow.com/a/7749086/1497139 | ||
+ | on how to do it | ||
+ | |||
== Testenvironment == | == Testenvironment == | ||
There is a JUnit 4 Testsuite for the Mediawiki-Japi library that accesses some [[ExampleWikis]] for the tests. | There is a JUnit 4 Testsuite for the Mediawiki-Japi library that accesses some [[ExampleWikis]] for the tests. | ||
Line 12: | Line 27: | ||
the ini file at $HOME/.mediawiki-api/bob_mediawiki_org.ini. | the ini file at $HOME/.mediawiki-api/bob_mediawiki_org.ini. | ||
− | If the credentials ini files do not exist yet | + | If the credentials ini files do not exist yet you are warned during the test run e.g. |
+ | <pre> | ||
+ | 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. | ||
+ | </pre> | ||
+ | In this case you might want to run | ||
+ | <source lang='bash'> | ||
+ | java -cp target/test-classes com.bitplan.mediawiki.japi.user.WikiUser mediawiki_org | ||
+ | </source> | ||
+ | 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) | ||
+ | * e-mail | ||
+ | like this: | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | If you are using the Fat Jar file you can of course also call the run script provided. | ||
=== Example for a credential ini file === | === Example for a credential ini file === | ||
+ | .mediawiki-japi/scott_mediawiki_org.ini | ||
<source lang='ini'> | <source lang='ini'> | ||
− | #Mediawiki | + | #Mediawiki JAPI credentials for mediawiki_org |
− | # | + | #Mon Jan 05 05:51:15 CET 2015 |
− | secret= | + | secret=/8UXoM9of6Q\= |
user=Scott | user=Scott | ||
− | email=scott@tiger. | + | email=scott@tiger.com |
− | salt= | + | salt=FJgsesHK |
− | cypher= | + | cypher=qh0CKZ2EQ4kO3nTtC90wM0AOl7RKrmwb |
+ | url=http://scott.tiger.com | ||
+ | scriptPath= | ||
+ | wikiId=scott | ||
+ | version=MediaWiki 1.27.3 | ||
+ | email=scott@tiger.com | ||
</source> | </source> |
Latest revision as of 14:05, 20 May 2020
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