The best way to describe the process flow is "a complete spaghetti bowl". The first steps in a file-by-file sense are index.php --> {various setup files} --> Wiki.php --> {Article.php/SpecialPage.php}. Somewhere along the way a global OutputPage object is initialised as $wgOut and things can be written to it at any point in the main code flow. Once things fall back out to Wiki.php the unholy trinity of Skin, OutputPage, SkinTemplate collude to produce page output, through a weird back-and-forth that I can never quite get my head around. Once the output code stack has returned, a final stack is run that does cleanup tasks.
If you're interested in writing a proper flow chart, that would be something really useful.
--HM
"Jean-Marc van Leerdam" j.m.van.leerdam@gmail.com wrote in message news:4e4d410b1001302358l4b5e5923i4a96a6c2b883f189@mail.gmail.com...
Hi,
Does MW.org provide some relatively high level description of the process flow / object interaction that is followed when rendering mediawiki pages?
I've been searching mediawiki.org and the source tree from my mw installation but so far I only found class-based 'local' information.
I am happy to contribute a more high level description, if that is not yet available, but would much prefer to use (and if needed contribute to) an existing description.
Do we have class models and process flow descriptions available somewhere?
I am most interested in the way Parser, ParserOutput, Skin and the related classes interoperate, as well as how user extensions and hooks are supposed to interact with the core mediawiki software.
-- Regards,
Jean-Marc
. ___ . @@ // \ "De Chelonian Mobile" . (_,/ _/ \ TortoiseSVN . \ _/__/> The coolest Interface to (Sub)Version Control . /_/ _\ http://tortoisesvn.net