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

contribution de Laurent Bouquet, merci a lui!

  • Allez sur la page de téléchargement pour récupérer la dernière version
  • Tout en bas de cette page, les deux dernières lignes ont été modifiées exactement le même jour, à la même heure
  • 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"
  • É 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)
    • soit vous n'en avez pas
  • Si vous avez déjà un dossier nommé "tools.old" : supprimez-le (clic droit et supprimer), puis renommez juste au-dessus le dossier "tools" en "tools.old"
  • Si vous n'avez pas de dossier nommé "tools.old" : 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.
  • Une fois l'opération de transfert entièrement achevée (quelques minutes en fonction du débit de votre connexion), vous pouvez tout simplement aller sur votre site pour découvrir les nouvelles fonctionnalités de votre Wiki fraîchement mis à jour.



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 :

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 :

  • Allez dans le dossier "cercopithèque" fraichement téléchargé dans votre ordinateur : c'est celui qui a servi à la mise à jour de votre site (voir tuto précédent)
  • Ouvrez le dossier "setup"
  • Ouvrez le dossier "doc"
  • Vous allez tomber sur l'ensemble des fichiers au format .txt qui contiennent chacun le code d'une page dédiée à l'administration de votre site Yeswiki => ça ressemble à ça :
image Capture_decran_20171007_a_122910.png (0.2MB)
  • Il y a certaines pages que vous avez déjà, du genre "PageMenuHaut". Mais il y a aussi les nouveautés !
  • Prenons l'exemple de la nouvelle fonction super pratique qui vous permet de mettre à jour en un simple clic l'ensemble de votre site Yeswiki. Grâce à cette nouvelle fonctionnalité, les mises à jour via le serveur distant vont être de l'histoire ancienne. Cependant, vous savez à présent qu'en cliquant sur le bouton "Mises à jour / extensions" une nouvelle page vierge s'ouvrira car elle n'existait pas dans la version Yeswiki précédente.
  • Pour créer cette nouvelle page il vous faut :
    • cliquer sur "créer" pour accéder à la partie édition de la page
    • entrer le code correspondant à cette nouvelle fonctionnalité : pour ce faire, allez chercher dans votre dossier "doc" le fichier "GererMisesAJour.txt", et ouvrez-le avec n'importe quel éditeur de texte
    • copiez l'ensemble du contenu du fichier texte qui ressemble à ça :
image Capture_decran_20171007_a_202955.png (29.0kB)
  • Collez le texte dans la page du Wiki, sauvez et appréciez la vue ci-après :
image Capture_decran_20171007_a_204124.png (0.1MB)


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.

  • Page qui ouvre la fonction "Droit d'accès aux pages" => fichier "GererDroits.txt"
  • Page qui ouvre la fonction "Thèmes graphiques" => fichier "GererThemes.txt"
  • Page qui ouvre la fonction "Utilisateurs et Groupes" => fichier "GererUtilisateurs.txt"
  • Page qui ouvre la fonction "Mot de passe perdu" => fichier "MotDePassePerdu.txt"
  • Page qui ouvre la fonction "Gérer les groupes d'utilisateurs" => fichier "GererUtilisateurs.txt"

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 utilsier 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