Development
So you want to become an OmegaWiki developer ...
You will need a reasonable understanding of PHP & MySQL web development, and version control with Subversion.
Contents |
Setting up your environment
- Install Apache
- Install PHP 5.2.3+ with MySQL support/extension (don't forget to modify php.ini to activate the extension). Watch out: Some distributions are still using 5.1. Be sure to check! You can use this handy script: phpinfo.
- if you have "php5-suhosin" installed, you'll need to remove it since it breaks some functionalities of OmegaWiki because it limits the amount of information sent by POST, or something like that.
- Install MySQL 5+
- Configure MySQL to use UTF-8:
- Edit your my.cnf configuration file
- Under
[mysqld], add the following lines:-
character-set-server=utf8 -
default-character-set=utf8
-
- Under
[mysql], add the following:-
default-character-set=utf8
-
- Restart MySQL. When you run the "status" command in the MySQL client, all "characterset" settings should be set to "utf8".
- Install Subversion (SVN)
Installing MediaWiki and Wikidata
There are two options:
- Help:Installing Wikidata from scratch
- Help:Installing Wikidata with an existing database (such as the OmegaWiki database)
Understanding the code
To understand the MySQL structure for OmegaWiki, see Help:OmegaWiki database layout
Documentation can use improvement. Help is especially needed in this department! Contact Erik (erik AT wikimedia DOT org) and he'll give you a whirlwind tour through the main things you understand.
A good place to start is the general MediaWiki documentation.
Committing changes
Initially, you will be asked to submit patch files, such as those you can generate by using "svn diff" in the root directory of your installation. If your patches have been integrated a few times, contact Erik (erik AT wikimedia DOT org) to get Subversion commit access.
If you are a committer, please set Subversion auto-props as described here.
See also
- Help:Downloading the data - various dumps and other possibilities to download the data.