ManageMediaWiki
Definition
This is a maintenace page in french where we write down things we did to this and a few other wikis we host. Plus other useful information for things we may implement in the future .... (ignore unless you understand french and have similar concerns).
Layout et boxes
Toolbox
- Modifier directement dans le skin du template utilise. habituellement /skin/monobook.php
- Lors du upgrade, il faudra rajouter les logos+liens supplémentaires, de même que le petit hack pour affichier le lien meetings uniquement pour les administrateurs du wiki (si jamais, j'ai joue sur l'id des utilisateurs et utilise la fonction pour checker si on est identifies:
$this->data['loggedin']==1 && ($_SESSION['wsUserID'] == 1 ||...)
- Pour changer les liens dans la sidebar, il suffit de se rendre à la page MediaWiki:Sidebar (j'ai mis en commentaire certaines pages qui ne me sembles pas utiles)
Skins
- Pour ajouter des styles spécifiques à des templates etc. il faut editer la page. Donc ne PAS éditer les fichiers source sur le serveur !)
Images
- http://en.wikipedia.org/wiki/Wikipedia:Images
- http://en.wikipedia.org/wiki/Wikipedia:Image_markup_with_HTML (OLD !!)
- http://en.wikipedia.org/wiki/Wikipedia:Picture_tutorial
- http://meta.wikimedia.org/wiki/Help:Images_and_other_uploaded_files
- http://meta.wikimedia.org/wiki/Help:Navigational_image
- http://meta.wikimedia.org/wiki/Fixing_transparent_PNGs (faudrait le faire !!)
- Images externes
Pour avoir des images externes il fallait reconfiguer le Wiki (dans LocalSettings.php: $wgAllowExternalImages = true;)
Ensuite il suffit de mettre l'URL tel quel dans le texte
- Cf. les explication dans http://meta.wikimedia.org/wiki/Help:Images_and_other_uploaded_files#Embedding_external_images
C.f. biorousso modèle:img pour une macro qui aide l'affichage
- Images pour la navigation
SVG Image Support
La situation n'est pas encore claire:
- Upload de SVG et traduction devrait en principe marcher (à configurer ??)
- Inclure SVG pour navigateurs (pas encore ?)
- Dessiner dans le wiki (en projet)
Configuration et upgrades
Downloads de Mediawiki software
- http://www.mediawiki.org/wiki/MediaWiki
- Alternatively, download from Subversion (SVN):
- http://www.mediawiki.org/wiki/Download_from_SVN
Fichier de configuration
- Plusieurs choses doivent etre configurés dans LocalSettings.php
Par exemple:
- Types de fichiers acceptés:
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'ogg', 'pdf', 'mp3', 'svg', 'doc', 'xls', 'ppt', 'pub', 'txt', 'ps', 'zip' );
- Permissions (c.f. plus loin)
WikiMedia Upgrades majeurs - procédure
- Lire les instructions dans le fichier UPGRADE à la racine.
- Sauvegardes
- Sauvegarder la base de données:
mysqldump -p base_de_donnees > fichier.sql
Ne pas perdre les répertoires et fichiers suivants:
- le répertoire avec les fichiers uploadés: images
- le fichier LocalSettings.php
- le fichier AdminSettings.php
- le fichier ExtensionFunctions.php
- Dans le répertoire includes, les fichier pour renommer les users
- SpecialRenameuser.php
- SpecialRenameuser.i18n.php
- SpecialRenameuser_body.php
- le répertoire des extensions:
- le repertoire /(f)mediawiki/skins/monobook/tecfa: a l'interieur se trouvent les differents logo
- a l'interieur se trouvent egalement les fichier originaux du logo
- le fichier /(f)mediawiki/skins/Monobook.php. Modifications effectuées:
- le logo edutech
- les deux logos en bas à gauche
- le petit hack pour afficher la page Meetings (plus maintenant)
- La boite pour Google search
- Préparation Upgrade
- Déarchiver la nouvelle version dans un répertoire nouveau
- Recopier le répertoire images
- Editer/recopier LocalSettings (et controler si rien est à changer !)
- Reporter les modifications dans skins/Monobook.php
- Upgrade
- Arreter le serveur Web et recopier:
mv mediawiki mediwiki.old mv mediawiki-xxx mediawiki
- Ensuite lancer le script de mise à jour en ligne de commande (PAS via le Web !!!)
> php maintenance/updata.php
- Relancer le serveur Web
WikiMedia Upgrades minors - procédure
- Par ex. 1.6.5 à 1.6.6
- Décomprimer l'archive qq. par
- chown -R owner:group *
- Wikiwiz et autre custom stuff: il faut saver
index.php includes/SpecialPage.php skins/Monobook.php languages/Messages.php (ou fichier équivalent pour autres langues)
- Copier tout l'arbre nouveau sur l'ancien
- Virer le répertoire config ?
- Ensuite comparer les pages "custom" et restituer l'ancienne ou changer la nouvelle...
Cool URL
- Petit tuto pour modier le .htaccess et avoir ainsi des cool url (ca evite d'avoir l'index.php dans l'url)
- Enfin DKS a fait plus simple: Eliminating index.php. La solution est la suivante:
Dans httpd.conf:
Redirect /portails/mediawiki "http://edutechwiki.unige.ch/en" Redirect /mediawiki "http://edutechwiki.unige.ch/en" Redirect /portails/fmediawiki "http://edutechwiki.unige.ch/fr" <VirtualHost *:80> ServerName edutechwiki.unige.ch DocumentRoot "/data/portails/edutechwiki" # ALIASES for edutechwiki: THREE alias for each WIKI Alias /mediawiki "/data/portails/mediawiki" Alias /en "/data/portails/mediawiki/index.php" Alias /en/index.php "/data/portails/mediawiki/index.php" Alias /fmediawiki "/data/portails/fmediawiki" Alias /fr "/data/portails/fmediawiki/index.php" Alias /fr/index.php "/data/portails/fmediawiki/index.php" < /VirtualHost >
Ensuite dans LocalSettings.php:
$wgSitename = "EduTech Wiki";
$wgScriptPath = "/mediawiki"; $wgScript = "$wgScriptPath/index.php"; $wgRedirectScript = "$wgScriptPath/redirect.php";
## If using PHP as a CGI module, use the ugly URLs # $wgArticlePath = "$wgScript/$1"; # DKS 3/2006 $wgArticlePath = "/en/$1";
Donc on ne reecrit pas les pages très spéciales (genre pour éditer), mais les autres (avec un alias).
aussi: Inclure les pages spéciales "mediawiki" dans robots.txt. Pas de raison à ce que ce soit indexé.
Les language strings pour le Wiki
Cela dépend de l'installation !!
If you are using database message ($wgUseDatabaseMessages is true, the default), then the Special:Allmessages page lists all the navigation box. Display the messages, then click on it (will open a page for the message) and EDIT. /DKS cela m'a pris 1/2 heure ....
If you aren't using database messages, you can edit the languages/Language.php file (for English) or languages/LanguageXX.php for non-English languages, where XX is the two-letter language code for your language.
Life time d'une session
- Faut modifier /usr/local/lib/php.ini
; Modif DKS augmenter le lifetime d'une session à 3600 secondes pour Mediawiki editing ! ; session.gc_maxlifetime = 1440 session.gc_maxlifetime = 3600
See: [1]
Copie mediawiki sur PC / Windows
See also: WAMP, a probably updated English version of this section
- Attention, il faut PHP 5.x pour Mediawiki 1.7 !!
- Easyphp ne le fait pas, mais on peut upgrader:
- Vider le répertoire ./php et ensuite le remplir avec le zip: http://www.php.net/downloads.php
- IMPORTANT: Il faut editer php.ini et charger explicitement php_mysql (pour php 4 c'était pas le cas)
extensions_dir = "./ext" extensions = php_mysql.dll
- cela marche, c.f. http://tecfa.unige.ch/guides/tie/html/tie-wiki/tie-wiki.html
- D'abord exporter (cf. ci-dessus) et importer la base de données
mysqldump -p base_de_donnees > fichier.sql par ex. mysqldump -p wikimedia > /tmp/wikimedia.sql
- Ensuite transférer sur le PC.
- Importation:
- Je suggère d'utiliser mysql en ligne de commande (alternativement augmenter LARGEMENT tous les paramètres dans php.ini)
- Se trouve dans c:\program files\Easyphp-XX\mysql\bin\mysql.exe
mysql.exe base_de_donnees -u root -p < c:\tmp\wikimedia.sql ... attendre un bon moment ;)
- Ensuite copier les fichiers PHP
- Adapter LocalSettings.php
- changer mot de passe de la bd (j'utilise root sur mon pc ... juste pour jouer ca va)
- changer $IP
- Vérifier le include path (les anciens, genre Mediawiki 1.5 était fait pour Unix)
$path = array( $IP, "$IP/includes", "$IP/languages" ); set_include_path( implode( PATH_SEPARATOR, $path ) ); require_once( "includes/DefaultSettings.php" );
- Finalement faire des alias Apache s'il en a (sinon ca crée un problème je pense)
Access rights et user management
Détruire un utilisateur
- Pas facile du tout dans le wiki
- Cf. discussions dans les mailing lists aussi:
- L'utilisateur n'a jamais rien édité (et UNIQUEMENT dans ce cas)
- SAUF si l'utilisateur n'a jamais rien édité. Dans ce cas on peut simplement l'enlever de la base de données.
- Dans le répertoire maintanace il y a un script pour tuer tous les utilisateurs qui n'ont jamais édité une page (faudrait l'adapter pour tuer un utilisateur ...)
php removeUnusedAccounts.php --help
- L'utilisateur à édité
- Il faut utiliser un script pour reassigner ses pages:
./maintenance/reassignEdits.php --help
- Ensuite seulement, on peut le tuer !
Renommer un utilisateur
Nécessite une extension (installée dans ce wiki). Les bureacrats ont le droit de le faire. Il faut aussi faire un move de la page "user" car les liens dans les pages ne sont pas bougés.
- Cf. http://meta.wikimedia.org/wiki/Changing_username
- Cf. http://meta.wikimedia.org/wiki/Talk:Renameuser
- http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/Renameuser/
- http://wiki.evernex.com/index.php?title=ExtensionFunctions.php
Détruire une page
- A utiliser pour une page page de type spam (le undelete ne marchera pas)
./maintenance/nukePage.php
Login obligatoire
cf. LocalSettings.php
Access rights per page
(le problème va surtout se poser dans le contexte d'autres cultures que celle de TECFA)
Permissions et groupes
- On peut les définir le fichier de config
- Exemple pour un Wiki assez ouvert:
$wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['createaccount'] = true; $wgGroupPermissions['*']['read'] = true;
- Permissions read-only pour guests ET logins (group=user), seuls eleve et sysop peuvent editer etc.
$wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['createaccount'] = true; $wgGroupPermissions['*']['read'] = true; $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['user' ]['move'] = false; $wgGroupPermissions['user' ]['read'] = true; $wgGroupPermissions['user' ]['edit'] = false; $wgGroupPermissions['user' ]['createpage'] = false; $wgGroupPermissions['user' ]['createtalk'] = false; $wgGroupPermissions['user' ]['upload'] = false; $wgGroupPermissions['user' ]['reupload'] = false; $wgGroupPermissions['user' ]['reupload-shared'] = false; $wgGroupPermissions['user' ]['minoredit'] = false; $wgGroupPermissions['sysop' ]['move'] = true; $wgGroupPermissions['sysop' ]['read'] = true; $wgGroupPermissions['sysop' ]['edit'] = true; $wgGroupPermissions['sysop' ]['createpage'] = true; $wgGroupPermissions['sysop' ]['createtalk'] = true; $wgGroupPermissions['sysop' ]['upload'] = true; $wgGroupPermissions['sysop' ]['reupload'] = true; $wgGroupPermissions['sysop' ]['reupload-shared'] = true; $wgGroupPermissions['sysop' ]['minoredit'] = true; $wgGroupPermissions['eleve']['move'] = true; $wgGroupPermissions['eleve']['read'] = true; $wgGroupPermissions['eleve']['edit'] = true; $wgGroupPermissions['eleve']['createpage'] = true; $wgGroupPermissions['eleve']['createtalk'] = true; $wgGroupPermissions['eleve']['upload'] = true; $wgGroupPermissions['eleve']['reupload'] = true; $wgGroupPermissions['eleve']['reupload-shared'] = true; $wgGroupPermissions['eleve']['minoredit'] = true;
- User Rights (MediaWiki)
- ( User Access rights on Wikipedia )
Export des articles
- Help:Export officiel
- dump backup
- solution en python
- Using the python wikipediabot
- Processing MediaWiki XML with STX
Importation d'articles
- http://en.wikipedia.org/wiki/Wikipedia:Tools/Editing_tools
- Liste des outils html2wiki et word2wiki, etc.
HTML import
- html2wikipedia Script writting in C (Installation needs GNU and compiling)
- HTML::WikiConverter. A Perl script by Dave (Diberri)'s. Also available as online form.
- HTMLtoWIki On-line form from Seapine Labs (uses David's HTML::WikiConverter).
- Emiliano Bruni's form (an other on-line tool based on HTML::WikiConverter).
Cache
Cache interne
- Pour dire la vérité, aucune idee ce que cache interne veut dire / DKS
(1) Pour vider des pages individuelles:
?action=purge
(2) Pour tout vider, il faut vider la table "objectcache"
TRUNCATE TABLE objectcache;
Cache externe avec Squid
- http://meta.wikimedia.org/wiki/Squid_caching
- Bon, depuis 23/6/2005 j'ai installé un SQUID:
- Config approximative dans Apache http.conf
- Apache n'est plus visible à l'extérieur.
NameVirtualHost 127.0.0.1:80 <VirtualHost 127.0.0.1:80> ServerName tecfaX.unige.ch <VirtualHost 127.0.0.1:80> ServerName edutechwiki.unige.ch
- Config de squid:
http_port 129.194.9.48:80 acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 # acl to_localhost dst 127.0.0.0/8 acl CONNECT method CONNECT acl Safe_ports port 80 # http http_access allow manager localhost http_access deny manager http_access deny !Safe_ports httpd_accel_host 127.0.0.1 # same machine httpd_accel_port 80 httpd_accel_single_host on httpd_accel_uses_host_header on
- Changement dans la config des Wiki
- La boite "top contributors" empeche le cache de fonctionner, donc on censure:
Fichier: extensions/awc/top_ten/config.php define (nav_menu, false);
Autres pointeurs cache
- D'autres methodes pour le cach (sous performance):
Extensions etc.
Bots
Templates utilisés
Liste des templates utilisé dans ce wiki:
- C.f la Category:Templates
- D'autres sont en test, voir: Category:Esoteric_templates
- ATTENTION: Me semble qu'utiliser un éditeur externe ne marche pas bien ...
References et citations
Pas clair quel systeme va s'imposer sur les Wikipedia. voir:
- Wikipedia:Citing sources (Style guide)
- Wikipedia:Citation templates
- Wikipedia:Citing sources/example style
- http://library.concordia.ca/help/howto/citations.html (APA ressource)
Harward references
Il faudrait se demander si on ne veut pas utiliser le system "Harward"
Ok j'ai commencé à porter cela - Avril 18 - DKS Fallait faire un upgrade à 1.6.x (1.6.3) sinon cela ne marche pas à cause de certains parse extensions....
- http://en.wikipedia.org/wiki/Template:Harvard_reference
- http://en.wikipedia.org/wiki/Template_talk:Harvard_citation
- http://en.wikipedia.org/wiki/Wikipedia:Template_messages/General
Cite et Special:Cite
Aussi ajouté un autre Cite truc.
- http://meta.wikimedia.org/wiki/Cite/Cite.php
- WARNING: faut tester ce truc et voir la discussion sur wikimedia pour voir si on adopte.
J'ai aussi ajouté Special:Cite.
- Ajouté des Templates
- Ajouté des extensions dans le extensions folder
- Modifié LocalSettings.php:
require_once( "extensions/Cite/Cite.php" ); require_once( "extensions/Cite/SpecialCite.php" );
... à tester tout cela
List of extensions to install / test
- Semantic MediaWiki
- Slides extension - ok seems to work / DKS
Extensions docs and parser extensions
- Il faudrait faire un inventaire de ce qu'on aimerai avoir et inclure ici la liste complete (templates et autres). La situation n'est pas du tout claire pour moi -- DSchneider. Si j'ai bien compris:
- extensions avec des balises wikitext (xml)
- extensions avec des pages spéciales
- extensions avec des templates
- hacks anciens, comme Harvard ou citation
- ParserFunctions ajoutent un "vrai" langage de controle dans le parser, ne marchent qu'avec 1.7 ??
Documentation:
- http://meta.wikimedia.org/wiki/MediaWiki_extensions_FAQ
- http://meta.wikimedia.org/wiki/Writing_a_new_special_page
- http://meta.wikimedia.org/wiki/Write_your_own_MediaWiki_extension
Extension categories:
- http://meta.wikimedia.org/wiki/Category:MediaWiki_extensions
- http://meta.wikimedia.org/wiki/Category:Parser_extensions
- Parser functions, something new that seems to be more interesting and works well with 1.7.
- http://meta.wikimedia.org/wiki/ParserFunctions
- http://en.wikipedia.org/wiki/Category:Templates_using_ParserFunctions
Wikitech
- As usual, the hot information is in mailing lists, e.g.:
External editors
- External editors
- Perl-based reference implementation
- DSchneider uses this on his Linux box, not that difficult to install. Wiki serves a special mime type that calls the perl script which in turn works with any UTF-8 capable editor (I use Gnu Emacs).
- Configuration of Emacs
- DSchneider uses Gnu Emacs with LEIM (UTF-8) extensions
- In addition: the http://en.wikipedia.org/wiki/Wikipedia:Wikipedia-mode.el (syntax coloring plus navigation/tree tools)
- download is here: http://www.emacswiki.org/cgi-bin/wiki/wikipedia-mode.el
- In addition: longlines.el
- Alternatively, one could use a Firefox extension that pipes all forms editing into emacs.
MwJed plugin for jEdit
MwJed plugin is available for jEdit with Firefox or Safari Works well with Mac OS 10.4. Nice syntax highlighting. Moderately easy to install.
- Get and install all the necessary downloads at mwjed (including JRE 1.4.2, jEdit 4.2 final and the dependent plugins XML and JakartaCommons)
- create a directory
$HOME/.jedit/mwjed/_family
- extract
$HOME/.jedit/jars/mwapi.jar
into a new directory - find and copy
common.family
andcommon.site
into$HOME/.jedit/mwjed/_family/
and rename accordingly (NAME.family
andNAME.site
- adapt these two files for the mediawiki you wish to edit
- add edit link on mwjed homepage to your bookmarks within either Firefox 1.5+ or Safari.
- restart jEdit
- within jEdit select Plugins>MwJed>Log in and select the mediawiki you wish to edit (the one with the
NAME
given in step 4 - open mediawiki page you wish to edit in your browser and select bookmark link created in step 6. The page will load into jEdit.
For more detailed instructions see mwjed homepage and modkwiki.net's help page
Other useful tools
- L'extension Copy+ pour Firefox permet de copier coller URL + Titre en format MediaWiki
Wiki readers (books)
Global Links
- Il existe 23
- Importer dans traitement de texte
- Exporter vers DocBook (pas de liens, mais les Allemands semblent l'avoir fait)
- Directement générer du PDF (moins joli)
German wiki links
- The most advanced people seem to be the Germans
- http://de.wikipedia.org/wiki/Wikipedia:WikiReader/Handbuch
- http://de.wikipedia.org/wiki/Wikipedia:WikiReader
- http://de.wikipedia.org/wiki/Wikipedia:Helferlein
- http://de.wikipedia.org/wiki/Wikipedia:WP_1.0 - 100 vol. printed Wikipedia !
Manually / German method
- http://de.wikipedia.org/wiki/Wikipedia:WikiReader/Handbuch
- http://de.wikipedia.org/wiki/Wikipedia:WikiPress/Erstellung
- http://de.wikipedia.org/wiki/Wikipedia:WikiPress/Erfahrungsbericht_Erstellung
Filters / Exporters
- Perl modules ? (don't know what this exactly does)
- http://www.organicdesign.co.nz/Peer.home
- flexbisonparse module ??
- wiki2xml (SVN module)
- http://tools.wikimedia.de/~magnus/ (source was here once
- http://tools.wikimedia.de/~magnus/wiki2xml/w2x.php
- http://svn.wikimedia.org/viewvc/mediawiki/trunk/wiki2xml/ (SVN access)
- flexbisonparse
- Wt2b (dead ?)
- http://www.tldp.org/
- http://www.tldp.org/wt2db/ Wikitext, Wiki to DocBook exporter
- http://www.tldp.org/HOWTO/WikiText-HOWTO/
Generators
- http://de.wikipedia.org/wiki/Wikipedia:PDF-Generator
- http://sourceforge.net/projects/wikipdf/
- http://aluno.no-ip.info/juca/index.php/WikiPDF
- Needs Latex AND pdfTEX installed !! (The Tex Live package thas it)
- http://www.plog4u.de/index.php/Wikipedia_nach_PDF_konvertieren
Examples
- http://www.wikireader.de/
- http://meta.wikimedia.org/wiki/WikiReader
- http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Projet%2C_WikiReader (Les cahiers de Wikipédia).
- http://en.wikipedia.org/wiki/Wikipedia:WikiReader
Importation into Wiki
- http://de.wikipedia.org/wiki/Wikipedia:Helferlein/Word2MediaWikiPlus Word to Wiki
- http://www.dwheeler.com/html2wikipedia/ HTML to Wiki
- http://diberri.dyndns.org/wikipedia/html2wiki/ OnLine HTML to Wiki !