Mediawiki: Difference between revisions
Fabrice P. Laussy's Web
Line 14: Line 14:


Mediawiki, the software that organizes the data and arrange its transformation into [[HTML]], distributes its content into different ''namespaces''. The main content is in the ''Main'' namespace which ha no prefix. On most [[Wiki]]s, you have the User: and the Talk: namespaces.
Mediawiki, the software that organizes the data and arrange its transformation into [[HTML]], distributes its content into different ''namespaces''. The main content is in the ''Main'' namespace which ha no prefix. On most [[Wiki]]s, you have the User: and the Talk: namespaces.
This is an example of a database querry for [[BlogTitles]]:


<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
MariaDB [laussywiki]> SELECT page_id, page_title, page_namespace, page_is_redirect, page_len
SELECT p.page_id, p.page_title, wp.wlp_title, wp.wlp_updated, wp.wlp_authors
FROM page
FROM page p
WHERE page_namespace = 0 AND page_title = 'Laussy';
JOIN wikilog_posts wp ON p.page_id = wp.wlp_page
+---------+------------+----------------+------------------+----------+
WHERE p.page_namespace = 100
| page_id | page_title | page_namespace | page_is_redirect | page_len |
AND wp.wlp_authors LIKE '%Fabrice%'
+---------+------------+----------------+------------------+----------+
ORDER BY wp.wlp_updated DESC
|    405 | Laussy     |             0 |               0 |   10962 |
LIMIT 50;
+---------+------------+----------------+------------------+----------+
+---------+-----------------------------------------+---------------------------------+----------------+--------------------------+
1 row in set (0,000 sec)
| page_id | page_title                             | wlp_title                      | wlp_updated    | wlp_authors              |
+---------+-----------------------------------------+---------------------------------+----------------+--------------------------+
|   17627 | Sotito's_Garden/The_ideal_garden        | The ideal garden                | 20250330133252 | a:1:{s:7:"Fabrice";i:2;} |
|  18328 | Fabrice/Brooding_from_the_Cyclades      | Brooding from the Cyclades      | 20250301151028 | a:1:{s:7:"Fabrice";i:2;} |
|  17653 | Fabrice/828_days_into_the_3rd_World_War | 828 days into the 3rd World War | 20250301151018 | a:1:{s:7:"Fabrice";i:2;} |
|  17584 | Fabrice/Two_years_of_war_in_Ukraine    | Two years of war in Ukraine     | 20250301151007 | a:1:{s:7:"Fabrice";i:2;} |
|  16855 | Fabrice/Napoleon,_Hitler,_Prigozhin     | Napoleon, Hitler, Prigozhin    | 20250301150957 | a:1:{s:7:"Fabrice";i:2;} |
+---------+-----------------------------------------+---------------------------------+----------------+--------------------------+
 
</syntaxhighlight>
</syntaxhighlight>



Revision as of 09:35, 6 July 2025

MediaWiki

MediaWiki is the software that powers websites like Wikipedia and, more modestly, various wikis that we run or where we collaborate. In particular, it powers this (laussy.org) website.

Unless you care about the underlying technical details, there is little to know about MediaWiki, but that it is managed by Wikimedia [1], a foundation that maintains and develops the work. Besides, this is worth knowing only for the pun on media and wiki to make up both the organization and its product.

This page is not about the wiki itself, which is the language to feed MediaWiki with.

If you care about the software, read on.

Principle

This is a long process that dispatch data back and forth from the database and format the output to the screen.

Mediawiki, the software that organizes the data and arrange its transformation into HTML, distributes its content into different namespaces. The main content is in the Main namespace which ha no prefix. On most Wikis, you have the User: and the Talk: namespaces.

This is an example of a database querry for BlogTitles:

SELECT p.page_id, p.page_title, wp.wlp_title, wp.wlp_updated, wp.wlp_authors
FROM page p
JOIN wikilog_posts wp ON p.page_id = wp.wlp_page
WHERE p.page_namespace = 100
AND wp.wlp_authors LIKE '%Fabrice%'
ORDER BY wp.wlp_updated DESC
LIMIT 50;
+---------+-----------------------------------------+---------------------------------+----------------+--------------------------+
| page_id | page_title                              | wlp_title                       | wlp_updated    | wlp_authors              |
+---------+-----------------------------------------+---------------------------------+----------------+--------------------------+
|   17627 | Sotito's_Garden/The_ideal_garden        | The ideal garden                | 20250330133252 | a:1:{s:7:"Fabrice";i:2;} |
|   18328 | Fabrice/Brooding_from_the_Cyclades      | Brooding from the Cyclades      | 20250301151028 | a:1:{s:7:"Fabrice";i:2;} |
|   17653 | Fabrice/828_days_into_the_3rd_World_War | 828 days into the 3rd World War | 20250301151018 | a:1:{s:7:"Fabrice";i:2;} |
|   17584 | Fabrice/Two_years_of_war_in_Ukraine     | Two years of war in Ukraine     | 20250301151007 | a:1:{s:7:"Fabrice";i:2;} |
|   16855 | Fabrice/Napoleon,_Hitler,_Prigozhin     | Napoleon, Hitler, Prigozhin     | 20250301150957 | a:1:{s:7:"Fabrice";i:2;} |
+---------+-----------------------------------------+---------------------------------+----------------+--------------------------+


This page is still largely in progress.

Extension(s)

Installation

Downloading from MediaWiki's Extensions web and following the instruction is the basic way. More convenient is:

cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/YouTube

Then check the version:

cd YouTube
git tab

Look for a tag like REL1_43, and if present:

git checkout REL1_43

And then add in LocalSettings.php the link to new functionalities: wfLoadExtension( 'YouTube' );

Mainstream Extensions

My Extensions

  • wz: Walter Zorn's tooltips for MediaWiki.
  • BlogTitles: My revival of Wikilog for recent versions (1.43 in my case) of MediaWiki.

Tuning and hacks

To try

  • ImageMap [2] (to integrate with wz).
  • pdfhandler [3] to display our papers.
  • Slideshare to display our presentations.

To do

See also

Links