ManageMediaWiki

The educational technology and digital learning wiki
Jump to navigation Jump to search

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 - Daniel K. Schneider)

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 ||...)

Modifier la barre de navigation

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 !)

MediaWiki:Common.css

Images

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

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

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:

  1. le répertoire avec les fichiers uploadés: images
  2. le fichier LocalSettings.php
  3. le fichier AdminSettings.php
  4. le fichier ExtensionFunctions.php
  5. Dans le répertoire includes, les fichier pour renommer les users
    • SpecialRenameuser.php
    • SpecialRenameuser.i18n.php
    • SpecialRenameuser_body.php
  6. le répertoire des extensions:
  7. 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

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

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.

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;


Export des articles

Importation d'articles

HTML import

Word 2 Wiki

  • Extension:Word2MediaWikiPlus. Convert Microsoft Word document content to MediaWiki markup. This is a Word Visual Basic macro. Usage requires a running copy of Microsoft Word that supports Visual Basic macros (Word 2000 or greater). This is an enhancement of the Word2MediaWiki converter.

Wysywig extension

  • WikiEd is an alternative because it supports pasting formatted text, e.g. from MS-Word (including tables). An in-browser text editor that adds enhanced text processing functions to Wikipedia and other MediaWiki edit pages. Currently it works only for Mozilla browsers like Firefox and SeaMonkey

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

 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

Extensions etc.

Bots

Wikipedia:Bots

Templates utilisés

Liste des templates utilisé dans ce wiki:

  • 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:

More ambitious projects that aim to support citation networks (and data more generally)

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....

Cite et Special:Cite

Aussi ajouté un autre Cite truc.

J'ai aussi ajouté Special:Cite.

  1. Ajouté des Templates
  2. Ajouté des extensions dans le extensions folder
  3. Modifié LocalSettings.php:
require_once( "extensions/Cite/Cite.php" );
require_once( "extensions/Cite/SpecialCite.php" );

... à tester tout cela

List of extensions to install / test

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:
  1. extensions avec des balises wikitext (xml)
  2. extensions avec des pages spéciales
  3. 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:

Extension categories:

Wikitech


External editors

  • 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.

  1. 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)
  2. create a directory $HOME/.jedit/mwjed/_family
  3. extract $HOME/.jedit/jars/mwapi.jar into a new directory
  4. find and copy common.family and common.site into $HOME/.jedit/mwjed/_family/ and rename accordingly (NAME.family and NAME.site
  5. adapt these two files for the mediawiki you wish to edit
  6. add edit link on mwjed homepage to your bookmarks within either Firefox 1.5+ or Safari.
  7. restart jEdit
  8. within jEdit select Plugins>MwJed>Log in and select the mediawiki you wish to edit (the one with the NAME given in step 4
  9. 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

Manually / German method

Filters / Exporters

  • flexbisonparse module ??
  • flexbisonparse

Generators

Examples

Importation into Wiki

Humor