[Home]Wikipedia PHP script

HomePage | Recent Changes | Preferences

This is a new PHP script that could eventually replace the current Wikipedia software. It uses MySQL and has other advantages, and it is running "live" at [wikipedia.sourceforge.net].

UPDATE :

A copy of the tarball from the German wikipedia was installed at the test site. Please go there and help find bugs! Also, the conversion from the tarball lost the article histories. Help in that area would be very much appreciated!

You can see the CVS archive of the current script version at [1] (see also the "wikipedia" project at sourceforge).

Why is this replacing UseModWiki?

It's largely a religious question, though there's no denying that Perl has many more features than PHP and it's probably faster too, when properly configured. I'm personally sad to see Perl wikipedia being replaced by PHP code: perl is wider known, more stable between versions, its development community is much larger, and I know it ;) Having said that, there's still need for better wiki to be written for wikipedia which would support namespaces together with many other features, and it's probably time to move to MySQL rather than flat-files underlying storage system, too. Magnus has volunteered his time and code and no Perl enthusiast did the same - that, I suspect, is the reason. --AV
It seems that from all the volunteers for writing article, none of them did volunteer to write a single line of code for the PHP wiki. So far, [Clifford Adams]? was most helpful by giving me a short Perl script for the conversion, which I was able to translate into PHP. Anyway, I am sure Perl has more features, but I doubt that for an application like wikipedia, it has real advantages; on the contrary, as PHP was designed especially for WWW interfaces, it is probably more suited for this purpose. And, the PHP program doesn't read like a segmentation fault ;) --Magnus Manske

Magnus, I'm not anti-PHP, I'm merely pro-Perl ;) Anyway, I would like to contribute code. If there're significant areas of code in the new wiki you need help on, could you please email me and tell me what they are? This is a serious offer ;) --AV
Now that sounds nice;) AFAIK, despite some effort, the parser is still flawed in my script. If you click through the (German) pages, you should sooner or later spot some stuff that isn't displayed correctly. Also, I only filter out < SCRIPT > tags, and I don't check for matching tags. That kind of thing (which is probably more easy in Perl!).
Also, the conversion script (.db file to MySQL) works for the latest article version, but loses the history of the articles. A brief PHP (or Perl) script that generates the different versions of an article, together with the information about the change like author, minor change, etc., directly from the .db file would help a lot. --Magnus Manske

What do you want? (I know, Kosh, never ask that question...)

Known bugs:

Magnus Manske is the author of the basic script here. Other programmers are strongly urged to get involved. Some discussion of the script and requirements are ongoing on Wikipedia-L.


Which database?
I'll stick to the MySQL version for now, since I have barely the time to maintain that one alone right now. Once it is up at this site (probably early January), and has no real bugy anymore, I could try PostgreSQL at a test site and convert it if it is really faster. --Magnus Manske

If the app. relies much on any complex joins, than PostgreSQL will probably be able to outperform MySQL. If it's mostly simple selects from a single table, than probably not. But as the number of users increases, PostgreSQL handles locking issues much better through its Multi-Version Concurrency Control, which is essentially better than row-level locking. So if you get the chance and time permits, I think it would be worthwhile to give PostgreSQL a try. --Wesley


other scrips for PHP wikis can be found at:
http://sourceforge.net/projects/tavi/
http://sourceforge.net/projects/sfwiki/
http://sourceforge.net/projects/phpwiki/

Wishes:


HomePage | Recent Changes | Preferences
This page is read-only | View other revisions
Last edited December 6, 2001 2:41 pm by Wesley (diff)
Search: