Mettre à jour YesWiki

Avec la sortie officielle de doryphore, il y a un changement majeur concernant le dossier templates.
Les fichiers de templates contenus dans ce dossier seront supprimés à la mise à jour.
Pensez à les déplacer dans le dossier custom en suivant cette documentation : DocumentationCustom

Sans changement de version

Si votre wiki est bien en version doryphore (installé après septembre 2020), il vous suffit de cliquer sur le menu roue crantée, d'accéder à la gestion du site, de cliquer sur l'onglet "Mise à jour et extension" puis de cliquer sur le bouton "mettre à jour".

Si vous ne voyez qu'un bouton "Réinstaller" vous n'avez rien à faire, c'est que votre wiki est déjà à jour !

Passer de la version cercopitheque à la version doryphore

Le passage de cercopithèque à doryphore nécessite quelques manipulation pour s'assurer un wiki fonctionnel et profitant de toutes les nouveautés.
/!\ Avant toute chose, faites un backup de votre ftp et de votre base de données.
Aussi, la version doryphore nécessite une version de php >= 7.3.


Première étape : s'assurer d'avoir la dernière version de cercopithèque

Mettre à jour votre wiki avec la dernière version de cercopithèque via le bouton "mettre à jour" que vous trouverez dans Gestion du site > mise à jour et extensions
Vous devriez ensuite voir sur cette page une version du wiki équivalente à la version disponible sur le dépot.
Pour plus de facilité, vous pouvez installer le thème Margot dès maintenant : Roue crantée en haut à droite > Gestion du site > Onglet "Mises à jour / Extensions" > Thèmes, puis installer le thème Margot

Deuxième étape : installer la version doryphore

Après avoir récupéré la dernière version de YesWiki cercopitheque sur le site, mettez votre wiki à niveau en l'installant via FTP ou directement depuis l'interface de gestion des mises à jour.
Pour cela, vous pouvez suivre la procédure décrite ci-dessous.
Redez-vous sur la page Mise à jour (dans roue crantée > gérer le site)
Remplacez {{update}} par {{update version="doryphore"}}
Sauvegardez votre page
Cliquez sur le bouton "changer de version"
Passez à la troisième étape :p
... et aussi pour mieux comprendre comment ça marche en soulevant le capot ;)
  • Allez sur la page de téléchargement pour récupérer la dernière version
    • Une fois le fichier téléchargé dans votre ordinateur (il est en version .zip), double cliquez dessus pour le convertir en dossier : c'est dans ce dossier que sont écrites l'ensemble des nouveautés tant attendues ;-)
    • Ouvrez le serveur distant dans lequel est hébergé votre site Yeswiki en utilisant votre accès FTP
    • Pour bien effectuer le transfert, vous devez avoir une vue qui ressemble à peu près à ça :
image Capturedecran20171004a155050OK.jpg (0.2MB)
  • Les fenêtres qui nous intéressent sont celles marquées d'une croix rouge : à gauche le contenu des dossiers et fichiers fraîchement installés dans mon ordinateur à partir de la page de téléchargement, et à droite les mêmes dossiers et fichiers présents dans votre serveur distant, classés dans le même ordre, issus d'une version précédente et que nous nous apprêtons à mettre à jour
  • Afin de sécuriser le transfert, allez d'abord dans la fenêtre de droite, que nous appellerons désormais votre serveur distant, et sélectionnez le dossier "tools"
  • A ce stade, il y a deux hypothèses
    • soit vous possédez déjà un dossier nommé "tools.old" juste en dessous (c'est ce qui permet de revenir en arrière en cas de mise à jour délicate). C'est le cas ? Supprimez-le (clic droit et supprimer), puis renommez juste au-dessus le dossier "tools" en "tools.old".
    • soit vous n'en avez pas : il vous suffit de renommer votre dossier "tools" en "tools.old"
  • Bravo, ça c'est fait, nous pouvons entamer la phase "roulement de tambours, concentration extrême" ! Allez dans la fenêtre de gauche, cliquez n'importe où et sélectionnez l'ensemble de son contenu (chez Mac c'est le raccourci cmd-A qui permet cette opération). Votre fenêtre doit ressembler à ça (tout est surligné en bleu) :
image Capture_decran_20171004_a_160811.png (0.1MB)
  • Effectuez alors un clic droit, et cette petite fenêtre va apparaitre
image Capture_decran_20171004_a_160947.png (0.1MB)
  • Sélectionnez "envoyer" (flèche rouge qui pointe vers le haut), et l'opération de transfert va démarrer
  • Attention ! Vous allez sans doute voir apparaître une fenêtre qui ressemble à ça :
image Capture_decran_20180130_a_151315.png (0.1MB)
  • Normal, le nom des fichiers est le même, mais pas de soucis, vous pouvez cocher les cases "remplacer" et "toujours effectuer cette action" pour ne pas avoir à y revenir, comme ci-après :
image Capture_decran_20180130_a_151333.png (0.1MB)
  • Cliquez sur "OK" pour valider cette commande, et cette fois vous pouvez attendre tranquillement la fin du transfert.
  • Dans votre ftp, ouvrez le fichier wakka.config, à la ligne'yeswiki_version', remplacez cercopitheque par doryphore
  • Une fois l'opération de transfert entièrement achevée (quelques minutes en fonction du débit de votre connexion) et votre fichier config mis à jour, vous pouvez tout simplement aller sur votre site pour découvrir les nouvelles fonctionnalités de votre Wiki fraîchement mis à jour.

Troisième étape : UPDATE

Mettez à jour tout plein de trucs nécessaires au passage à doryphore :
Connectez-vous en admin et ajouter à la fin de l'URL /update

Quatrième étape : débarassez-vous de tous les petits bugs

Le thème margot est le thème de base pour la version Doryphore.
Ce nouveau thème est conseillé. Pour l'appliquer :
-> roue crantée
-> gestion du site
-> thème graphique
-> tout en bas de la page
sélectionner margot
Appliquer
Ceci met à jour votre fichier wakka.config
Rendez-vous sur la page "PageRapideHaut" de votre wiki
Rentrez en édition
Remplacez le contenu par
{{moteurrecherche template="moteurrecherche_button.tpl.html"}}
{{buttondropdown icon="cog" caret="0"}}
 - {{login template="modal.tpl.html" nobtn="1"}}
 - ------
 - {{button nobtn="1" icon="fa fa-question" text="Aide" link="AidE"}}
 - ------
 - {{button nobtn="1" icon="fa fa-wrench" text="Gestion du site" link="GererSite"}}
 - {{button nobtn="1" icon="fa fa-tachometer-alt" text="Tableau de bord" link="TableauDeBord"}}
 - {{button nobtn="1" icon="fa fa-briefcase" text="Base de données" link="BazaR"}}
{{end elem="buttondropdown"}}


/!\ Si vous aviez déjà modifié ce menu, pensez à ajouter les liens précédemment présents en utilisant la syntaxe de l'action Button.



Mettre à jour la navigation de gestion
Cela vous assurera d'être sur une organisation à jour de la gestion du wiki.
Cliquez sur la roue crantée
Gestion du site
Editez la page
Remplacez le contenu par :
{{nav links="GererSite, GererDroits, GererThemes, GererUtilisateurs, GererMisesAJour" titles="Gestion du site, Droits d'accès aux pages, Thèmes graphiques, Utilisateurs et groupes, Mises à jour / extensions"}}

===Gérer les menus et pages spéciales de ce wiki===
 - [[PageMenuHaut Éditer menu horizontal d'en haut]]
 - [[PageTitre Éditer le titre]]
 - [[PageRapideHaut Éditer le menu roue crantée]]
 - [[PageHeader Éditer le bandeau]]
 - [[PageFooter Éditer le footer]]
 - [[PageMenu Éditer le menu vertical (apparaissant sur les thèmes 2 colonnes ou plus)]]
 - [[ReglesDeFormatage Éditer le mémo de formatage (bouton "?" dans la barre d'édition )]]
------
===Gestion des mots clés ===
{{admintag}}


Selon le niveau de votre version antérieure, il est probable que les nouvelles fonctionnalités de l'administration du site soient encore cachées. Lorsque vous cliquerez sur la roue crantée pour accéder à l'espace de gestion du site, vous allez découvrir de nouveaux boutons qui vous promettent de super propriétés :

image Capture_decran_20171007_a_225301.png (75.9kB)

Hélas, après avoir cliqué sur le bouton "Droits d'accès aux pages" par exemple, vous risquez de tomber sur ça :

image Capture_decran_20171009_a_120851.png (11.5kB)
Donc, cette rubrique est destinée à vous permettre de créer toutes les pages manquantes et néanmoins super utiles de la nouvelle version.

Pour chaque nouvelle page à créer, la procédure sera la même :
  • Créez la page (en cliquant sur le lien avec un crayon)
  • Ajoutez le contenu correspondant à récupérer ci-dessous
  • Enregistrez la page

Contenu de la page GererDroits
{{nav links="GererSite, GererDroits, GererThemes, GererUtilisateurs, GererMisesAJour" titles="Gestion du site, Droits d'accès aux pages, Thèmes graphiques, Utilisateurs et groupes, Mises à jour / extensions"}}

===Gérer les droits des pages===
{{gererdroits}}


Contenu de la page GererThemes
{{nav links="GererSite, GererDroits, GererThemes, GererUtilisateurs, GererMisesAJour" titles="Gestion du site, Droits d'accès aux pages, Thèmes graphiques, Utilisateurs et groupes, Mises à jour / extensions"}}

===Gérer les thèmes des pages===
{{gererthemes}}

{{setwikidefaulttheme}}


Contenu de la page GererUtilisateurs
{{nav links="GererSite, GererDroits, GererThemes, GererUtilisateurs, GererMisesAJour" titles="Gestion du site, Droits d'accès aux pages, Thèmes graphiques, Utilisateurs et groupes, Mises à jour / extensions"}}

===Gérer les groupes d'utilisateurs===
{{editgroups}}

===Gérer les utilisateurs===
{{userstable}}


Contenu de la page GererMisesAJour
{{nav links="GererSite, GererDroits, GererThemes, GererUtilisateurs, GererMisesAJour" titles="Gestion du site, Droits d'accès aux pages, Thèmes graphiques, Utilisateurs et groupes, Mises à jour / extensions"}}

===Mises à jour / extensions===
{{update}}


Contenu de la page ReglesDeFormatage
Le contenu à coller est présent à jour ici : https://ferme.yeswiki.net/WikiDeBase/?ReglesDeFormatage/raw


Cinquième étape : faites-vous plaisir !

Vous avez maintenant une version doryphore certifiée utilisable, vous pouvez utiliser votre wiki comme avant mais en mieux : modifier le thème, installer des extension, mettre à jour le contenu, etc...

Par exemple vous étiez sur le thème yeswiki et vous n'aimez pas le nouveau thème, vous pouvez retrouver l'ancien dans Mises à jour et extensions et l'installer.

Autres savoirs utiles autour des mises à jour

Mon wiki se trouve à l'adresse suivante http://site-coop.net/Louise, je souhaiterais qu'il se nomme maintenant http://site-coop.net/Mathieu
  • Via ftp, il faut changer le nom du dossier Louise en le nommant Mathieu
  • dans le fichier wakka.config.php, il faut changer la ligne 'base_url' => 'http://site-coop.net/Louise/wakka.php?wiki=" en 'base_url' => 'http://site-coop.net/Mathieu/wakka.php?wiki="
  • tester si tout fonctionne dans votre navigateur (attention les majuscules et minuscules ont leur importance)
  • on peut aussi rechercher l'ancienne adresse url dans le moteur de recherche pour vérifier s'il n'y pas des liens directs dans certaines pages, et qu'il faudra donc éditer pour mettre la nouvelle url.

1) Mise à jour des thèmes graphiques

Après migration et avec certains thèmes, l'affichage de l'indicateur de sous-menu apparaît en double.
Il suffit d'enlever la partie javascript suivante du thème pour le corriger :
// on ajoute en jquery les classes css du bootstrap
/*menuhaut.find("> div > ul").each(function() { // menu du haut
    var $this = $(this);
    $this.addClass('nav').append($('<div>').addClass('clear').html());
    $this.find('>li:has(ul)').each(function() {
        $(this).addClass('dropdown').find('a:first').addClass('dropdown-toggle').attr({'href':'#', 'data-toggle':'dropdown'}).append('<b class="caret"></b>').next('ul:first').addClass('dropdown-menu')});
}); 

menuhaut.find("ul ul li:has(ul)").each(function() { // menu du haut
    var $this = $(this);
    $this.addClass('dropdown-submenu')
    $this.find('a:first').next('ul:first').addClass('dropdown-menu');
}); */


2) Changement de version de bootstrap (passage de la version 2 a la version 3)

  • il faut expliciter les images responsive en ajoutant class="img-responsive" aux balises images. Les images envoyées par attach ne sont pas impactées
  • la syntaxe des colonnes a changé : ce n'est plus "span4" mais "col-md-4" pour les classes css des largeurs de colonnes
voir tous les changements ici : http://getbootstrap.com/getting-started/#migration

3) Changement pour les templates BAZAR et la recherche Bazar

  • le moteur de recherche Bazar utilise maintenant des facettes, il faut mettre a jour les templates en ajoutant une classe css "bazar-entry" et des attributs html sur l'élément qui va être filtré (le li pour les listes, le a pour les liens, le div .panel pour les accordéons, etc, ..)
exemple pour une liste :
<li class="bazar-entry" <?php echo $fiche['html_data'];?>>


Scénario de migration des wikis

1) Mise à jour des thèmes graphiques

  • déplacer les thèmes autres que tools/templates/themes/yeswiki dans le dossier themes à la racine du wiki (le créer si besoin)
  • modifier chaque squelette de ces thèmes :
la partie haute "doctype html"

Remplacer

<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="fr"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="fr"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="fr"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="fr"> <!--<![endif]-->

Par

<!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="{{configuration param="lang"}}"> <![endif]-->
<!--[if IE 7]>    <html class="no-js lt-ie9 lt-ie8" lang="{{configuration param="lang"}}"> <![endif]-->
<!--[if IE 8]>    <html class="no-js lt-ie9" lang="{{configuration param="lang"}}"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="{{configuration param="lang"}}"> <!--<![endif]-->


Dans "head"

Remplacer

<meta charset="iso-8859-1">
  <title>{{titrepage}}</title>{{metarobots}}
  <meta name="keywords" content="{{configuration param="meta_keywords"}}" />
  <meta name="description" content="{{configuration param="meta_description"}}" />
  <meta name="author" content="">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <link rel="alternate" type="application/rss+xml" title="Flux RSS des derniers changements du wikini" href="{{configuration param="base_url"}}DerniersChangementsRSS/xml" />
  <link rel="shortcut icon" type="image/x-icon" href="{{configuration param="theme_path"}}images/favicon.ico">
  <link rel="apple-touch-icon" href="{{configuration param="theme_path"}}images/apple-touch-icon.png">
  <link rel="icon" type="image/png" href="{{configuration param="theme_path"}}images/favicon.png" />
  <link rel="stylesheet" href="{{configuration param="theme_path"}}styles/grid/960.css">
  {{liensstyle}}

Par

<!-- HTML Metas -->
	<meta charset="{{configuration param="charset"}}">
	{{metarobots}}
	<meta name="keywords" content="{{configuration param="meta_keywords"}}" />
	<meta name="description" content="{{configuration param="meta_description"}}" />
	<meta name="viewport" content="width=device-width" />

	<!-- Title of the page -->
	<title>{{configuration param="wakka_name"}} : {{currentpage}}</title>
	
	<!-- Favicons -->
	<link rel="shortcut icon" type="image/x-icon" href="{{configuration param="theme_path"}}images/favicon.ico" />
	<link rel="apple-touch-icon" href="{{configuration param="theme_path"}}images/apple-touch-icon.png" />
	<link rel="icon" type="image/png" href="{{configuration param="theme_path"}}images/favicon.png" />
	
	{{linkstyle othercss="bootstrap/bootstrap-responsive.min.css"}}
	{{linkrss}}



et partie basse (<script>)
  • remplacer {{liensjavascripts}} par {{linkjavascript}}

2) Récupération des bouts de code personnalisés (assez rare)

Récupérer tous les templates spécifiques que vous auriez créés dans /tools/bazar/presentation/templates , /tools/login/presentation/templates , /tools/syndication/presentation/templates ... il faudra les remettre a leur emplacement d'origine plus tard.

3) Déplacement de l'ancien dossier tools pour l'avoir de côté

Renommer les dossier tools en tools.old : on ne peut pas écraser car certains fichiers feront doublon.

4) Copie des fichiers de bachibouzouk

Écraser tout le wiki avec la nouvelle version bachibouzouk, téléchargée précédemment.

5) Rajout des bouts de code personnalisés (assez rare)

Rajouter les éventuels templates mis de coté à l'étape 2 (voir s'il faut les adapter).

6) Indication du thème par défaut

Rajouter au fichier wakka.config.php, un thème par défaut en renseignant 'favorite_theme', 'favorite_style', 'favorite_squelette'

7) Ménage après vérification

Après une utilisation intensive pendant quelques jours sans problèmes, on peut effacer le dossier tools.old, si l'on rencontre des problèmes avec des tools plus installés, ou des templates disparus, on peut les récupérer à partir de tools.old sinon

Si la version de votre wiki est antérieure à 2018, votre site ne doit pas être encodé en utf8, et vous le remarquez peut-être lorsque vous effectuez des copier-collés depuis d'autres documents : certains caractères ne sont pas pris en compte et affichent des points d?interrogation ou autres bizarreries.

Pour résoudre ce problème, un handler existe et va appliquer une correction à votre wiki.
Pour utiliser le handler :
  • Connectez-vous en tant qu'admin
  • Ajoutez ensuite "/dbutf8" à la fin de l'URL de n'importe quelle page de votre wiki
  • Laissez le handler faire effet, vous devriez voir une page apparaître
image MAJ_yeswiki.png (0.3MB)
Sur l'image : les messages qui s'affichent lorsque la commande est terminée
  • il se peut que la fonction attach n'affiche plus les images pour des wikis tres vieux qui changent de version de php
  • ajouter un script index.php dans le dossier files
<?php
$directory = getcwd();

$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

while ($it->valid()) {

    if (!$it->isDot()) {
        $oldfile = $it->getSubPathName();
        $newfile = str_replace('/', '_', $oldfile);
        if ($oldfile != $newfile) {
            echo 'Copy '.$oldfile.' to '.$newfile.'<br>';
            copy($oldfile, $newfile);
            echo '<hr>';
        }
    }

    $it->next();
}

  • aller sur l'url
    https://<monwiki>/files
    
    et voir la copie des fichiers
  • si tout marche bien sur une version récente de yeswiki, effacer les sous-dossiers aux noms de pages, et le fichier
    files/index.php
    


documentation