The MediaWiki engine is a complex application that builds user-editable pages from a source code residing on a web server. This resource will eventually provide diagrams and descriptions of the Wiki software that makes Wikiversity run.
What is PHP?
PHP is a high level, dynamic, server side scripting language. It is superior to raw HTML as it does away with static content and is far more efficient. It has become popular in recent years as it is open source (free), while alternatives such as ASP are not.
MediaWiki makes extensive use of PHP to generate dynamic content. w:Server-side scripting is capable of user authentication, maintaining resilient client-server relationships via dynamic web pages through a relational database interface characterized as a content management system.
PHP scripts access an extensive SQL (Structured Query Language) database to track and log the history of pages, who is editing what, links to other pages, page sections and subsections, and a host of other dynamic content objects. To fully understand the MediaWiki engine requires a working knowledge of PHP and SQL databases. The MediaWiki codebase revolves around a relational database management system written primarily for MySQL.
This page and all other MediaWiki pages begin and are modified through a master page named index.php. A useful exercise is to click View -> Page Source while you have an editor open. Look for this code:
<form id="editform" name="editform" method="post" action="/w/index.php? title=Topic:MediaWiki/Engine&action=submit" enctype="multipart/form-data">
That form tag is essentially the core of the MediaWiki Engine.
PHP Learning materials
Topic:PHP is the main Learning project:
- http://svn.wikimedia.org/viewvc/mediawiki/ - Source code
- http://svn.wikimedia.org/doc/main.html - documentation, main page
What is MySQL?
The open source MySQL is owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, which holds the copyright to most of the codebase. Both the MySQL server software itself and the client libraries are distributed under a dual-licensing format. MediaWiki deploys MySQL under the GNU General Public License.
MySQL Learning materials
Topic:MySQL is the main learning project: