Difference between revisions of "MediaWikiLite"
(→See also: rm VoltDB - not what it was cracked up to be) |
(PHP2EXE converter) |
||
| Line 30: | Line 30: | ||
*[http://forums.mysql.com/read.php?145,68269,92627 mysql2sqlite.sh] | *[http://forums.mysql.com/read.php?145,68269,92627 mysql2sqlite.sh] | ||
*[http://nz2.php.net/manual/en/language.oop5.iterations.php Iterators in OOP] | *[http://nz2.php.net/manual/en/language.oop5.iterations.php Iterators in OOP] | ||
| + | *[http://www.bambalam.se/bamcompile/#whatis PHP2EXE converter] | ||
[[Category:Featured projects]] | [[Category:Featured projects]] | ||
Revision as of 01:46, 28 May 2010
The idea of MediaWikiLite is to allow the current MediaWiki codebase to run as a standalone server without requiring a database server or web-server. This forms the foundation for a number of alternative uses for the MediaWiki software in environments where the current LAMP architecture is too resource intensive.
- Personal wiki: Personal desktop wiki's are becoming very popular, but they do not use the MediaWiki parser, and making a fork of the parser code defeats the purpose.
- Embedded devices such as PDA's, iPod's and iPhone's can only run lite applications effectively and getting MediaWiki onto them would be very useful, especially if it's designed to synchronise with a web-based mirror when an internet connection is available.
- PeerPedia: A lite version of MediaWiki is required to make it a possible candidate for a client side wiki interface to a P2P article space.
SQLite support for MediaWiki is 90% functional but still very much in development. As of MediaWiki version 1.13 the SQLite support is part of the main code-base. A running instance of MediaWiki 1.15.1 using the SQLite database can be seen at mediawikilite.org to test the current functionality.
Replacing the Web Server
This may require FastCGI or a similar alternative because there is problems with functions such as header() which have no effect when running from command line but the function still exists so it can't be replaced. Unless there's some way of overriding built-in functions, this may not be possible.
NanoWeb looks like a good solution for the this. It's a web-server entirely written in PHP and comes with a number of modules such as a ReWrite clone. It can execute CGI scripts using a normal CGI module or a FastCGI module. Also the modules looks very easy to write so a module specifically designed to maintain a MediaWiki instance in memory could be written.
SQLite Installation
It's important to have this working with SQLite3 rather than 2 because version 3 supports more similar syntax for some SQL such as table creation than version 2. Aside from that, version 3 uses more compact files and executes more efficiently. SQLite3 works via PHP's PDO functions.
- To install SQLite3 on a Debian based system, use apt-get install php5-sqlite3.
- Check your phpinfo() to see if pdo_sqlite is listed, if not, try adding extension=php_pdo_sqlite.so into the dynamic extensions section of your php.ini
- Installer script needs to be patched to allow SQLite to work for a wiki installation since extensions are added from LocalSettings.php
See also
- www.mediawikilite.org - example of MediaWiki 1.15.1 installed with SQLite
- MW:SQLite
- Wikipedia:SQLite
- Extension talk:P2P.php
- Edit Conflict
- NanoWeb - webserver with rewrite and other modules written in PHP
- DevZone PHP socket server example
- LinuxFormatWiki PHP socket server example
- SQL as understood by SQLite
- Tutorial: Convert MySQL Tables to SQLite Tables
- mysql2sqlite.pl
- mysql2sqlite.sh
- Iterators in OOP
- PHP2EXE converter



