MediaWiki/Migration des données 2

De Kono Phil Ceci est la tagline
Aller à la navigation Aller à la recherche

La migration des données consiste à ne récupérer que les données (texte, fichiers...)

Généralité

Outil

Procédure

Installation MediaWiki

  • création du dossier \\nouveauserveur\phpwamp\www\konoburo\
  • copie de MediaWiki
  • lancement de l'installation :
    • nom base : konoburo
    • préfixe : konoburo_
    • wiki privé
    • aucune licence
    • pas de courriel sortant
    • habillage : MonoBook, Timeless, Vector
    • pages spéciales : ReplaceText
    • éditeurs : CodeEditor, VisualEditor, WikiEditor
    • greffons analyseur syntaxique : CategoryTree, Cite, ImageMap, InputBox, ParserFunctions, Poem, Scribunto, SyntaxHighlight_GeSHi, TemplateData
    • Manipulateurs de médias : PdfHandler (inclus dans le tron commun de MediaWiki 1.37.0)
    • divers : MultimediaViewer, OATHAuth, TextExtracts
    • téléversement de fichier activé
    • mise en cache des objets PHP
  • personnalisation :
    • habillage :
      • Metrolook
    • extensions :
      • Auth_remoteuser
      • Highlightjs_Integration
      • intersection
      • MsUpload
      • NewestPages
      • NoTitle
      • Purge

Export en masse

Depuis le wiki de départ, exporter les données avec historique :

  • \\ancienserveur\phpwamp\www\konoburo\maintenance\
  • avec l'historique des versions :
    • php.exe dumpBackup.php --full --quiet > konoburo-20211029.xml
  • uniquement la version courante :
    • php dumpBackup.php --current --quiet > konoburo-20211110-1421.xml
  • uniquement la version courante des modèles (espace de nom 10) :
    • php dumpBackup.php --current --quiet --filter=namespace:10 > konoburo-20211110-1422.xml

Problème avec Semantic MediaWiki

Certains modèles sont paramétrer pour fonctionner avec l'extension Semantic MediaWiki ; utilisation de la syntaxe [[Attribut::contenu]]

  • extrait : -->{{#if:{{{courriel|}}}|{{courriel|[[A le courriel::{{{courriel|}}}]]}}{{br}}|}}<!--

Modification des modèles contenant des éléments Semantic MediaWiki :

  • Modèle:Contact
  • Modèle:Infobox Fournisseur
  • Modèle:Infobox serveur
  • Modèle:Règle proxy
  • Modèle:IP
  • Modèle:Menu

Import des données

Vers le wiki d'arrivée :

  • \\nouveauserveur\phpwamp\www\konoburo\maintenance\
  • php.exe importdump.php < konoburo-20211029.xml

Scripts de maintenance à lancer pour reconstruire :

  • \\nouveauserveur\phpwamp\www\konoburo\maintenance\
  • php.exe rebuildrecentchanges.php

Scripts de maintenance à lancer pour les statistiques :

  • \\nouveauserveur\phpwamp\www\konoburo\maintenance\
  • php.exe initSiteStats.php

Import des fichiers

S'il faut récupérer les images de l'ancien site :

  • source sur le wiki d'origine \\ancienserveur\phpwamp\www\konoburo\images\
  • créer une copie de travail ; exemple du dossier \\nouveauserveur\Support\ImageAImporter\
  • supprimer le contenu des sous-dossiers :
    • \archive\
    • \cache\
    • \deleted\
    • \temp\
    • \thumb\

Utilisation du script ImportImages.php :

  • https://www.mediawiki.org/wiki/Manual:ImportImages.php/fr
  • \\nouveauserveur\phpwamp\www\konoburo\maintenance\php.exe ImportImages.php \\nouveauserveur\Support\ImageAImporter\ --search-recursively
    • l'option --search-recursively permet d'inclure les sous-dossiers
  • \\nouveauserveur\phpwamp\www\konoburo\maintenance\php.exe ImportImages.php \\nouveauserveur\Support\ImageAImporter\ --search-recursively --extensions=pdf
    • --extensions=xls,xlsx,doc,docx,ppt,pptx,gif,jpeg,webp,wav,txt,png

Maintenance

  • \\nouveauserveur\phpwamp\www\konoburo\maintenance\
  • php.exe rebuildrecentchanges.php
  • php.exe initSiteStats.php

Maintenance générale :

PdfHandler maintenance

Pour reconstruire les vignettes des PDF ; source : https://www.mediawiki.org/wiki/Extension_talk:PdfHandler

  • php refreshImageMetadata.php -f
  • php rebuildImages.php

Purge

PurgePage.php : équivalent à action=purge

PurgeList.php :

Problème sur la recherche plein texte

Source :


Lors de la recherche plein texte, le message suivant s'affiche :

  • [fe01568bfe677bff2546c789] 2021-12-10 15:45:30: Erreur fatale de type « Wikimedia\Assert\PreconditionException »

Actions réalisées :

  • rebuildtextindex.php
  • UpdateSearchIndex.php
  • exemple :
    c:\temp\php\php.exe updatesearchindex.php -s 20061210160135

Analyse 1 :

  • la table searchindex est avec le moteur MyISAM au lieu de InnoDB !
    • vu conversion avec phpmyadmin

Analyse 2 :

  • la table searchindex est avec le codage utf8_general_ci au lieu de binary (comme toutes les autres tables) !

Composer

Composer est un gestionnaire de dépendances pour les bibliothèques PHP.

Installation

Installer simplement depuis l'installeur :

  • source : https://getcomposer.org/download/
  • liaison créée automatiquement avec php : C:\phpwamp\php\php.exe
  • dossier créé par l'installeur, utile pour la désinstallation : C:\Program Files (x86)\ComposerSetup\
  • dossier créé par l'installeur : C:\ProgramData\ComposerSetup\bin\
  • dossier créé par l'installeur : C:\Users\username\AppData\Roaming\Composer\vendor\bin\

Particularité Windows :

  • utiliser la commande composer.bat --version en lieu et place de la ligne de commande php composer-setup.php --version

Le fichier composer.bat contient :

@echo OFF
:: in case DelayedExpansion is on and a path contains ! 
setlocal DISABLEDELAYEDEXPANSION
php "%~dp0composer.phar" %*

Utilisation

Depuis le dossier d'un site MediaWiki (exemple ..\MonWiki\), la commande suivante met à jour le dossier ..\MonWiki\vendor\ en créer toute l'arborescence nécessaire :

  • composer.bat update

Serveur Apache

REDEMMARER le serveur Apache pour vider les caches.

Personnalisation

Logo :

  • fichier paramètre LocalSettings.php : $wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/konoburo.png" ];

Icone d'onglet :

  • $wgFavicon = "$wgScriptPath/favicon.ico";

Personnalisation du menu

Personnalisation de l'habillage

Common.css

/* Le CSS placé ici sera appliqué à tous les habillages. */
.catlinks {
    background-color: #cccf00;
    border: 1px solid #aaa;
    padding: 5px;
    margin-top: 1em;
    clear: both;
}

/* Kono Buro, Ph. Page, 29/10/2021, bandeau de menu bleu */
#mw-head {
	background: #4066aa;
}
#p-logo {
	margin-bottom: 0;
}

#mw-panel div.portal {
    margin: 0 0.6em 0 -0.3em;
    padding: 0.25em 0;
    direction: ltr;
    background-position: top left;
    background-repeat: no-repeat;
}
#mw-panel div.portal h5 {
    margin: -0.5em 0 0 0;
    color: white;
    background: #4066aa;
}

.vectorTabs ul {
    padding: 4px;
}

div.vectorMenu h5 span {
    background-color: #4066aa;
}

div.vectorMenu ul {
    border: solid 2px #4066aa;
}

pre {
    background-color: #eef;
}

/* Le CSS placé ici sera appliqué à tous les habillages. */


/* Ph. Page, 15/04/2020 */
/* position menu de gauche plus haut (ancienne valeur : top: 40px; left: -7px;) */
.mw-body {
    margin-left: 12.5em;
    padding: 1.25em .5em 1.5em .5em;
    top: 25px;
    left: -17px;
}

/* Ph. Page, 15/04/2020 */
/* position menu de gauche plus haut (ancienne valeur : top: 40px;) */
.mw-panel {
    top: 20px;
}

/* Ph. Page, 15/04/2020 */
/* interligne plus serrée (ancienne valeur 1.6) */
.mw-body-content {
    line-height: 1.4;
}



/* Ph. Page, 22/08/2013 */
/* Boîtes déroulantes */

.NavFrame {
background: #F9F9F9;
	border: 1px #AAA solid;
	padding: 2px;
}
.NavFrame .NavHead {
	background: #EFEFEF;
	border: 0 #AAA solid;
	text-align: left;
	font-weight: bold;
}

.NavFrame .NavContent { padding: 5px 0 }

.collapseButton {
	font-weight: normal;
	float: right;
	text-align: right;
	width: 6em;
	margin-left: -100%;
}

pre, code {
    background-color: #fbfbfb;
}

.cache {
	content: '********';
}

.cache:hover{
	display:block;
}

PHP

Extension php_apcu.dll :

Voir aussi