Changement de version de spip

Dans le cas de changement de version de spip, nous devons faire attention au niveau des diverses contributions annexes que nous utilisons et bien penser à ne pas les oublier.
Cet article va servir de pense-bête pour éviter toute mauvaise surprise

Conseils pour changer de version

 Tout d’abord, travailler en local en écrasant les fichiers spip (décompression de la version à installer sur le répertoire racine)
 Tester que tout fonctionne (multilinguisme, navigation et toutes les contributions qui ont pu être ajoutées)
 Ensuite, et toujours en local, refaire cette manip mais en vidant complètement les répertoires utilisés par spip. Cela servira de répétition pour le jour où nous basculerons en production. On aura bien pris soin de garder une version de la base en local avec tous les fichiers : c’est de cette version que nous récupérerons certains fichiers non fournis avec spip... ou réinitialisés par spip.
Attention donc !

Remettre les fichiers spécifiques

 A la racine, nous aurons le ficher mes_fonctions.php à reprendre du site précédent dans le répertoire /squelettes [ex-/design], nous ne devrions rien avoir à faire, ce répertoire étant spécifique
 Le répertoire /tmp/cache doit être vidé de tous ses fichiers
 Dans le répertoire config, reprendre l’ancien mes_options.php
 Récupérer les fichiers du répertoire /ecrire/plugins
 Récupérer la feuille de sype spécifique ra.css
 Dans le répertoire /ecrire/lang, reprendre tous les fichiers spécifiques de traduction : local_xx.phpxx est la langue (Plus vrai depuis la version 1.8.1 car les fichiers de langues sont rangés avec les squelettes dans le répertoire /squelettes [ex-/design])
 au niveau de la racine, remettre tous les fichiers xxxx.php3 qui servent à appeler nos squelettes spécifiques.

Bidouille au niveau de l’affichage des mots-clés dans l’espace privé

Par défaut, lorsque l’on veut affecter un mot-clé à un objet, nous sommes limités à 50 mots-clés. À plus de 50, les mots-clés ne sont pas affichés dans une liste mais il faut utiliser la fonction recherche.
Il suffisait d’aller modifier le fichier inc_mots.php3 dans le répertoire /ecrire.
On recherchait avec un éditeur texte la chaîne de caractères 50. On devrait tomber sur quelque chose du genre :
if ((forum4_num_rows($result) > 50 AND $flag_mots_ressemblants)) et on remplace 50 par 200.

en SPIP 2.0.8, dans le fichier /ecrire/inc/editer_mots.php :
vers la ligne 344 on remplace
        if ($n > 50) {
par
        if ($n > 200) {

Depuis la version 14497 (Spip 2.0.9) il suffit de faire un
define('_MAX_MOTS_LISTE', '250'); dans le fichier mes-options.php (dossier /config).

La bidouille précédente était nécessaire car la recherche des mots-clés était perturbée par l’utilisation de dans les titres de mots-clés qui ne fournissait plus de réponses. Avec le plugin selecteur_generique (http://www.spip-contrib.net/Selecteur-generique,1030), maintenant utilisé, la recherche est faite sur tout le texte du titre et non plus sur les premières lettres.

Ces manipulations ont été abandonnées avec l’adoption des plugins Coche Mots et Fulltext.
On va ensuite travailler sur les contributions.

Contribution « Gestion hiérarchisée des accès restreints »

Cette contribution (http://www.spip-contrib.net/spip.php?article463 permettait de gérer des rubriques réservées au niveau du site.

Elle est maintenant supplantée par le plugin acces_restreint (http://www.spip-contrib.net/Acces-R...).

Contribution « Pagination »

La contribution http://www.spip-contrib.net/spip.php?article152 permettait, en 1.8, de découper en pages les longues listes d’articles.
Il suffisait de remettre le fichier article-pagine.inc à la racine du site.

Le passage en 1.9.2 nous a fait utiliser la nouvelle pagination par défaut de spip.

Contribution de Maurice Frankel pour la recherche

Cette contribution permet de garder dans un fichier log les mots-clés recherchés. ce fichier, recherche.log, se trouve à la racine du site. Si on l’oublie, la contribution le recréera... mais on aura perdu tout l’historique. Il faudra juste le sauvegarder lors de la bascule en production.

Contribution « Envoyer à un ami »

La contribution http://www.spip-contrib.net/article36.html (voir aussi dans la vie du site) nécessite de rajouter à la racine les fichiers :
 envoyerami.txt : ce fichier est un log et, si on ne veut pas le perdre, on en fait une copie avant la bascule en production
 formulaire.php3
 mailami.php3
 mailarticle.php3

Contribution « Liste des images du dossier IMG »

Remettre listimg.php3, listimg-login.php3 ET listimg-inc.php3 à la racine, les squelettes étant dans le répertoire /squelettes (ex- /design).

Diverses autres contributions

Elles servent à piloter le site et sont rangées dans des répertoires particuliers ou ne sont que des squelettes que l’on a donc récupérés. Rien à faire...

Bascule en production

 Sauvegarde de la base
 Sauvegarde du fichier recherche.log qui est à la racine
 Idem pour le fichier envoyerami.txt
 enlever gif de la table meta pour ne pas utiliser la bibliothèque GD de fabrication de vignettes
 supprimer tous les répertoires, sauf IMG, IMG_RA, img-stats, listimg-lang et tableau-bord, ces 4 derniers répertoires étant spécifiques à RAforum.
 Recharger tous les fichiers depuis le site en local
 Restaurer les fichiers recherche.log et envoyerami.txt à la racine
 supprimer le fichier connect.php du répertoire config
Ensuite, laissez-vous guider par spip qui va vous demander de passer la base de données dans la nouvelle version.
En cas de problème :
 surtout, ne restaurez pas la base
05 février 2005 : passage version 1.8 b6
24 avril 2005 : passage version 1.8.1 version stable
20 novembre 2008 : passage en 1.9.2e
24 février 2009 : passage en 2.0.4
13 avril 2010 : passage en 2.1.0
21 décembre 2013 : passage en 3.0.13
5 novembre 2015 : passage en 3.1.0