Configuration MediaWiki pour Intranet + LDAP partie 4

Voici la dernière partie du tuto de configuration d'un Wiki pour un Intranet dans une entreprise. En effet un Wiki et un outil puissant pour faire circuler l'information au sein d'une équipe. Vous pouvez garder une trace de tout ce que vous faites car dans un Wiki rien n'est vraiment supprimer ;-) !!! Je vais donc vous expliquer comment fixer les préférences utilisateurs par défaut, comme restreindre le titre des pages, etc.

Préférence par défaut des utilisateurs

Pour modifier les préférences par défaut pour les utilisateurs anonymes (=>ne nous concerne pas) et les nouveaux utilisateurs, il faut ajouter ceci dans le fichier 'LocalSettings.php' :

$wgDefaultUserOptions = array(
        'quickbar'                      => 1,
        'underline'                     => 2,
        'cols'                          => 80,
        'rows'                          => 25,
        'searchlimit'                   => 20,
        'contextlines'                  => 5,
        'contextchars'                  => 50,
        'skin'                          => monobook,   // use the value set in $wgDefaultSkin
        'math'                          => 1,
        'rcdays'                        => 7,
        'rclimit'                       => 50,
        'wllimit'                       => 250,
        'highlightbroken'               => 1,
        'stubthreshold'                 => 0,
        'previewontop'                  => 1,
        'editsection'                   => 1,
        'editsectiononrightclick'       => 0,
        'showtoc'                       => 1,
        'showtoolbar'                   => 1,
        'date'                          => 'default',
        'imagesize'                     => 2,
        'thumbsize'                     => 2,
        'rememberpassword'              => 1,
        'enotifwatchlistpages'          => 1,
        'enotifusertalkpages'           => 1,
        'enotifminoredits'              => 1,
        'enotifrevealaddr'              => 1,
        'shownumberswatching'           => 1,
        'fancysig'                      => 0,
        'externaleditor'                => 0,
        'externaldiff'                  => 0,
        'showjumplinks'                 => 1,
        'numberheadings'                => 0,
        'uselivepreview'                => 0,
        'watchlistdays'                 => 3.0,
        'extendwatchlist'               => 1,
        'watchlisthideminor'            => 1,
        'watchlisthidebots'             => 0,
        'watchlisthideown'              => 0,
        'watchcreations'                => 1,
        'watchdefault'                  => 1,
        'watchmoves'                    => 1,
        'watchdeletion'                 => 1,
);

Par contre, pour mettre à jour les informations existantes pour les utilisateurs déjà enregistrés, il faut absolument éditer le Blob dans la base de données, voici ici la requête pour mettre à jour d'un seul coup les préférences de tous les utilisateurs :

update user set user_options ='
    '> quickbar=1
    '> underline=2
    '> cols=80
    '> rows=25
    '> searchlimit=20
    '> contextlines=5
    '> contextchars=50
    '> disablesuggest=
    '> ajaxsearch=
    '> skin=monobook
    '> math=1
    '> usenewrc=0
    '> rcdays=7
    '> rclimit=50
    '> wllimit=250
    '> hideminor=0
    '> highlightbroken=1
    '> stubthreshold=0
    '> previewontop=1
    '> previewonfirst=0
    '> editsection=1
    '> editsectiononrightclick=1
    '> editondblclick=1
    '> editwidth=1
    '> showtoc=1
    '> showtoolbar=1
    '> minordefault=0
    '> date=dmy
    '> imagesize=2
    '> thumbsize=2
    '> rememberpassword=1
    '> enotifwatchlistpages=1
    '> enotifusertalkpages=1
    '> enotifminoredits=1
    '> enotifrevealaddr=0
    '> shownumberswatching=0
    '> fancysig=0
    '> externaleditor=0
    '> externaldiff=0
    '> showjumplinks=1
    '> numberheadings=1
    '> uselivepreview=0
    '> watchlistdays=3
    '> extendwatchlist=1
    '> watchlisthideminor=1
    '> watchlisthidebots=0
    '> watchlisthideown=0
    '> watchcreations=1
    '> watchdefault=1
    '> watchmoves=1
    '> watchdeletion=1
    '> variant=
    '> language=fr
    '> searchNs0=1
    '> nickname=
    '> timecorrection=
    '> ' ;

Restriction titre des pages

Pour restreindre les caractères autorisés dans le titre des pages, il faut configurer plusieurs choses :

Caractères acceptés par le parser

Par défaut, Mediawiki n'accepte que certains caractères pour le titre des pages, ceci est configurer par défaut dans le fichier include/DefaultSettings.php :

$wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+";

L'utilisation de cette variable ne fonctionne malheureusement pas pour tous les caractères, notamment le "." et le "/". Il faut donc trouver un autre moyen.

Modification de la boite à création de page

Nous partons du principe que tout le monde crée des pages et des catégories via le boite à création de page située dans chacune des catégories.
Ainsi pour éviter que quelqu'un crée une page avec un "." ou un "/", il faut modifier la fonction javascript "addText" du fichier 'extensions/articletocategory/articletocategory.php' :

function addText(thefield){

        thefield.value = thefield.value.replace(/\./g,"_")
        thefield.value = thefield.value.replace(/\//g,"_")

        if (thefield.value=="")
        thefield.value = ""
}

Cela aura pour effet de remplacer automatique les "." ou les "/" par des "_" évitant ainsi la création de page au titre bizarre...

Changement du l'URL du Logo

Pour changer l'URL du Logo, il faut éditer le fichier '/wiki/skins/MonoBook.php' à la 'ligne 168' :
Remplacer ceci :

 href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>"

Par cela :

<nowiki>href="https://wiki.jpsystem.info/index.php"</nowiki>

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet