ManageMediaWiki: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 20: Line 20:
* Pour ajouter des styles spécifiques à des templates etc. il faut '''editer''' la page. Donc '''ne PAS éditer les fichiers source sur le serveur''' !)
* 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]]
[[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
* 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


== Configuration et upgrades ==
== Configuration et upgrades ==

Revision as of 11:54, 1 September 2006

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

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

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.
  • Sauvegarder la base de données:
 mysqldump -p base_de_donnees > fichier.sql
  • Sauvegarder le répertoire avec les fichiers uploadés
  • Sauvegarder le fichier LocalSettings.php et contrôler
  • Repatrier 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
  • Faire un backup du 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
  • garder une trace des permissions pour les groupes definies dans includes/defaultsettings.php
  • Visualisation de Urs (cf. ci-dessous !!)
  • Ensuite lancer le script de mise à jour en ligne de commande (PAS via le Web !!!)
 > php maintenance/updata.php

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

  • 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

mysql.exe base_de_donnees -u root -p < c:\...\fichier_dump.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 !

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

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:

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

  • Alternativeley, one could use a Firefox extension that pipes all forms editing into emacs.

Wiki readers (books)

Global Links

  • Il existe 2 solutions:
    • Importer dans traitement de texte
    • 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