Procédure de mise à jour des sites qui tournent avec YesWiki

contribution de Laurent Bouquet, merci a lui!

Télécharger le fichier Capturedecran20171004a155050OK.jpg Télécharger le fichier Capture_decran_20171004_a_160811.png Télécharger le fichier Capture_decran_20171004_a_160947.png Télécharger le fichier Capture_decran_20180130_a_151315.png Télécharger le fichier Capture_decran_20180130_a_151333.png


Procédure d'ajout des nouvelles pages d'administration pour de super fonctionnalités suite à la mise à jour Yeswiki.


Vous êtes bien contents à présent que votre Wiki a fait peau neuve, mais qu'a-t-il vraiment dans le ventre ?

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 :

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

Télécharger le fichier Capture_decran_20171009_a_120851.pngDonc, 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 :

Télécharger le fichier Capture_decran_20171007_a_122910.png Télécharger le fichier Capture_decran_20171007_a_202955.png Télécharger le fichier Capture_decran_20171007_a_204124.png

Vous trouverez ci-après les principales pages manquantes, ainsi que les fichiers contenant les codes correspondants, écrits dans le format de fichiers ".txt" dans le dossier "doc" cité précédemment : à chaque fois la procédure de création de page est la même.


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.phpwiki=?"
  • 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 dnas certaines pages, et qu'il faudra donc editer 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 coté

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

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
Télécharger le fichier MAJ_yeswiki.png
  • 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