Passage à SPIP 4

J’ai vu, quand il est sorti, et bien après, que des problèmes compliqués, et parfois irrésolvables j’ai attendu.

Je me demande si maintenant les choses se sont tassées.

Y a t’il une page pour résumer ce qu’il faut faire ?
A part les pages dans SPIP.net qui donnent des pistes seulement;

Merci.

···

https://www.spip.net/fr_article6428.html
https://www.spip.net/fr_article6708.html

-- 
****Fin du message end - Signature****
Perline 

Ce message est couvert par le secret de la correspondance
(art. 226-15 et 432-9 du Code pénal)
********************************************

spip@perline.org

Les principaux soucis que j’avaient vus concernés la migration des logos, et c’est résolus depuis.

Sinon c’est une migration plutot tranquille.

Attention toutefois au changement de comportement pour l’insertion des documents, qui peut aboutir à des résultats non prévus (mais il y a un plugin qui permet de rétablir l’ancien comportement).

Evidemment il faut aussi s’assurer d’avoir les plugins compatibles.

Donc je dirais, comme pour toutes les migrations majeures :

  • sauvegarde BDD
  • travail en local pour s’assurer que tout marche bien
  • s’assurer avant que l’on a les plugins compatibles en vérifiant les compatibilités des plugins activés.

Sur ce dernier point, attention à la petite nuance : il y a des plugins compatible 3.2 et 4.0, et d’autres qui ont deux versions, une pour la 3.2 et une autre pour la 4.0. On fera donc ceci

  • d’abord mettre à jour les plugins
  • puis vérifier si pour les plugins qui nous intéresse, on a version compatible 4.0
  • puis mettre à jour spip
  • puis activer les nouvelles version des plugins lorsqu’on a une version pour SPIP 4 et une version pour spip 3.2

Cela étant, je n’ai eu personnellement aucun problème en ce qui concerne les squelettes proprement dit. Pour moi le gros du travail a été de porter des plugins, mais normalement maintenant la plupart des plugins ont été portés.

Voilà ma procédure de migration de SPIP 3 à SPIP 4, si ça peut aider.

Brèves

Brèves est un plugin à installer si elles sont utilisées.
SELECT * FROM spip_breves;

Portfolio

Le portfolio a disparu, il faut vérifier si il y’a des boucles utilisant mode=document, elles ne fonctionneront peut-être pas comme prévu.
On peut voir si il y’a des documents dans le portfolio d’articles avec :
SELECT * FROM spip_documents WHERE mode LIKE 'document' AND statut = 'publie';

Rang 00.

Le rang « 00. » n’est plus compris comme le premier item lors d’un tri par num titre

SELECT * FROM spip_articles WHERE statut = 'publie' AND (titre LIKE '0.%' OR titre LIKE '00%');
SELECT * FROM spip_rubriques WHERE statut = 'publie' AND (titre LIKE '0.%' OR titre LIKE '00%');
SELECT * FROM spip_mots WHERE (titre LIKE '0.%' OR titre LIKE '00%');
SELECT * FROM spip_documents WHERE statut = 'publie' AND (titre LIKE '0.%' OR titre LIKE '00%');

Squelettes par rubrique

Si le site utilise la fonctionnalité « squelettes par rubrique » il faut installer le plugin : https://plugins.spip.net/squelettes_par_rubrique.html

Fonctions dépréciées

  • La <BOUCLE(POUR) et son critère tableau … sont dépréciés au profit de la <BOUCLE(DATA) et son critère source table, …. https://www.spip.net/fr_article6434.html
  • De même, le fitre |foreach est déprécié au profit de la syntaxe à base de boucle (DATA).

Autres modifications

  • Syntaxe pour la pagination revue : [<nav class='pagination' role='navigation'>(#PAGINATION)</nav>]

Ménage

Certaines tables ne sont plus utiles si on ne réinstalle pas les plugins qui les utilisent. On peut donc faire le ménage :

DROP TABLE spip_messages;
ALTER TABLE spip_auteurs DROP COLUMN messagerie;
DROP TABLE spip_breves; #Si pas de brèves !
DROP TABLE spip_petitions; #si pas de pétitions !
DROP TABLE spip_signatures;

L’idée vient du plugin Léon : https://git.spip.net/spip-contrib-extensions/leon/src/branch/master/leon_administrations.php

1 « J'aime »

J’ai aussi constaté qu’on ne pouvait plus nommer une boucle BOUCLEmaboucle et qu’il fallait absolument le _ : BOUCLE_maboucle

Le plugin jQuery UI n’est plus distribué nativement non plus, et conflicte avec le dateur du plugin Organiseur (non distribué nativement lui non plus).
Peut poser un problème avec le plugin mini-agenda.

Merci à vous tous qui m’avez répondu aussi vite !
J’ai vu que les modèles doc et img étaient « regroupés » dans un « image ».
Est-ce que je prends le fichier doc et je le renomme image ou bien je dois refaire ce fichier ?
Merci encore de votre aide.

···

Perline-Spip a écrit le 22/05/2022 à 20:14 :

J’ai vu, quand il est sorti, et bien après, que des problèmes compliqués, et parfois irrésolvables j’ai attendu.

Je me demande si maintenant les choses se sont tassées.

Y a t’il une page pour résumer ce qu’il faut faire ?
A part les pages dans SPIP.net qui donnent des pistes seulement;

Merci.

-- 
****Fin du message end - Signature****
Perline 

Ce message est couvert par le secret de la correspondance
(art. 226-15 et 432-9 du Code pénal)
********************************************

https://www.spip.net/fr_article6428.html
https://www.spip.net/fr_article6708.htmlspip@perline.org

A priori, il n’y a pas besoin de toucher aux modèles. Mais par sécurité, le mieux est toujours de faire la migration en local, de vérifier que tout va bien et faire les adaptations si nécessaires, puis mettre à jour en ligne.

Je me permets d’intervenir ici, avez-vous recontré des problemes au sujet des LOGO ?
voir migration vers Spip 4.0 - Plus de Logos - #2 par Marc_Ferraton

je n’ai plus aucun logo, j’ai simplement upgradé un site en 3.2 vers 4.0,
bon… je remettrai à jour manuellement s’il le faut, mais quand meme à analyser si le probleme persiste…

Merci

Je n’ai jamais pu faire une migration en local, ça n’a jamais marché, le résultat n’a jamais correspondu à en prod.
Donc je ne fais jamais de local…

···

JLuc via Discuter de SPIP a écrit le 24/05/2022 à 17:08 :

JLuc
Mai 24

A priori, il n’y a pas besoin de toucher aux modèles. Mais par sécurité, le mieux est toujours de faire la migration en local, de vérifier que tout va bien et faire les adaptations si nécessaires, puis mettre à jour en ligne.


Voir le sujet ou répondre à ce courriel pour répondre.

Vous recevez ce courriel car vous avez activé la liste de diffusion.

Pour vous désabonner de ces courriels, cliquez ici.

-- 
****Fin du message end - Signature****
Perline 

Ce message est couvert par le secret de la correspondance
(art. 226-15 et 432-9 du Code pénal)
********************************************

spip@perline.org

Un code doit marcher pareil en ligne et en local lorsque l’environnement est correctement installé. La raison de cette non correspondance mériterait donc d’être approfondie… du moins si tu veux faire des migrations en ligne transparentes, sans soucis et sans temps de maintenance.

Après… l’aventure est un choix possible aussi, si c’est ce que tu préfères !

Pour ma part je fais les mises à jour (et mes développements) sur les sites en ligne ; mais je suis les commits de SPIP au fur et à mesure qu’ils sont fait, et ça me permet d’anticiper autant que possible ce qui semble pouvoir poser problème, pour adapter le code de manière préventive, ou au moins pour être prêt immédiatement à faire les changements requis. C’est donc l’aventure, mais avec airbag et ceinture de sécurité.

Ça fait 15 ans que j’ai abandonné…
Peut-être que les environnements locaux sont maintenant plus stables, mais ça m’a dégoûtée à jamais.
Je préfère mettre le site en travaux pendant les temps de travail.

···

JLuc via Discuter de SPIP a écrit le 25/05/2022 à 08:13 :

JLuc
Mai 25

Un code doit marcher pareil en ligne et en local lorsque l’environnement est correctement installé. La raison de cette non correspondance mériterait donc d’être approfondie… du moins si tu veux faire des migrations en ligne transparentes, sans soucis et sans temps de maintenance.

Après… l’aventure est un choix possible aussi, si c’est ce que tu préfères !

Pour ma part je fais les mises à jour (et mes développements) sur les sites en ligne ; mais je suis les commits de SPIP au fur et à mesure qu’ils sont fait, et ça me permet d’anticiper autant que possible ce qui semble pouvoir poser problème, pour adapter le code de manière préventive, ou au moins pour être prêt immédiatement à faire les changements requis. C’est donc l’aventure, mais avec airbag et ceinture de sécurité.


Voir le sujet ou répondre à ce courriel pour répondre.

Vous recevez ce courriel car vous avez activé la liste de diffusion.

Pour vous désabonner de ces courriels, cliquez ici.

-- 
****Fin du message end - Signature****
Perline 

Ce message est couvert par le secret de la correspondance
(art. 226-15 et 432-9 du Code pénal)
********************************************

spip@perline.org

Mes questions du jour :slight_smile:

1/ On peut voir si il y’a des documents dans le portfolio d’articles avec :
SELECT * FROM spip_documents WHERE mode LIKE 'document' AND statut = 'publie';

MySQL a répondu: [![cleardot.gif|1x1](upload://6w7HOLoKuTDtEXRteNiYA53kW94.gif)](https://bureau.koumbit.net/alternc-sql/url.php?url=https%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.7%2Fen%2Ferror-messages-server.html)

#1054 - Champ 'statut' inconnu dans where clause

En effet, pas de champ statut dans documents.

2/ après avoir trouvé les boucles {mode=document} il faut faire quoi ? Supprimer ce paramètre ?

Merci beaucoup.

···

MathieuAlphamosa via Discuter de SPIP a écrit le 23/05/2022 à 08:01 :

MathieuAlphamosa Mathieu_L
Mai 23

Voilà ma procédure de migration de SPIP 3 à SPIP 4, si ça peut aider.

Brèves

Brèves est un plugin à installer si elles sont utilisées.
SELECT * FROM spip_breves;

Portfolio

Le portfolio a disparu, il faut vérifier si il y’a des boucles utilisant mode=document, elles ne fonctionneront peut-être pas comme prévu.
On peut voir si il y’a des documents dans le portfolio d’articles avec :
SELECT * FROM spip_documents WHERE mode LIKE 'document' AND statut = 'publie';

Rang 00.

Le rang « 00. » n’est plus compris comme le premier item lors d’un tri par num titre

SELECT * FROM spip_articles WHERE statut = 'publie' AND (titre LIKE '0.%' OR titre LIKE '00%');

SELECT * FROM spip_rubriques WHERE statut = 'publie' AND (titre LIKE '0.%' OR titre LIKE '00%');

SELECT * FROM spip_mots WHERE (titre LIKE '0.%' OR titre LIKE '00%');

SELECT * FROM spip_documents WHERE statut = 'publie' AND (titre LIKE '0.%' OR titre LIKE '00%');

Squelettes par rubrique

Si le site utilise la fonctionnalité « squelettes par rubrique » il faut installer le plugin :

Fonctions dépréciées- La <BOUCLE(POUR) et son critère tableau … sont dépréciés au profit de la <BOUCLE(DATA) et son critère source table, ….

  • De même, le fitre |foreach est déprécié au profit de la syntaxe à base de boucle (DATA).

Autres modifications- Syntaxe pour la pagination revue : [<nav class='pagination' role='navigation'>(#PAGINATION)</nav>]

Ménage

Certaines tables ne sont plus utiles si on ne réinstalle pas les plugins qui les utilisent. On peut donc faire le ménage :

DROP TABLE spip_messages;

ALTER TABLE spip_auteurs DROP COLUMN messagerie;

DROP TABLE spip_breves; #Si pas de brèves !

DROP TABLE spip_petitions; #si pas de pétitions !

DROP TABLE spip_signatures;

L’idée vient du plugin Léon :https://git.spip.net/spip-contrib-extensions/leon/src/branch/master/leon_administrations.php


Voir le sujet ou répondre à ce courriel pour répondre.

Vous recevez ce courriel car vous avez activé la liste de diffusion.

Pour vous désabonner de ces courriels, cliquez ici.

-- 
****Fin du message end - Signature****
Perline 

Ce message est couvert par le secret de la correspondance
(art. 226-15 et 432-9 du Code pénal)
********************************************

https://plugins.spip.net/squelettes_par_rubrique.htmlhttps://www.spip.net/fr_article6434.htmlspip@perline.org

Bonjour,

C’est un peu plus cher mais on peut aussi disposer d’une copie du site sur un autre hébergement (certaines offres d’hébergement sont illimitées en nombre de sites / bases, il n’y a alors qu’à supporter un nom de domaine en plus), avec le plugin en travaux toujours activé, sur lequel il suffit de copier la base (+ les nouveaux fichiers dans IMG et toutes les modifs de squelettes bien sûr).

Ainsi, on peut tester sans risque sur un site en ligne, une fois connecté en admin.

A+

Christophe

Ce serait pas un SPIP 2 ? De mémoire on a un statut sur la table des documents depuis au moins SPIP 3… Si c’est le cas ma procédure n’est probablement pas adaptée !

Non je confirme que c’est un spip 3

···

MathieuAlphamosa via Discuter de SPIP a écrit le 25/05/2022 à 12:28 :

MathieuAlphamosa Mathieu_L
Mai 25

Ce serait pas un SPIP 2 ? De mémoire on a un statut sur la table des documents depuis au moins SPIP 3… Si c’est le cas ma procédure n’est probablement pas adaptée !


Voir le sujet ou répondre à ce courriel pour répondre.

Vous recevez ce courriel car vous avez activé la liste de diffusion.

Pour vous désabonner de ces courriels, cliquez ici.

-- 
****Fin du message end - Signature****
Perline 

Ce message est couvert par le secret de la correspondance
(art. 226-15 et 432-9 du Code pénal)
********************************************

spip@perline.org

J’avais essayé pas mal de choses à l’époque, et vraiment, je n’ai JAMAIS eu la même chose, parfois des erreurs apparaissaient, parfois disparaissaient, mais jamais fiable. :angry:

···

Christophe ANTOINE via Discuter de SPIP a écrit le 25/05/2022 à 12:05 :

Bonjour,

C’est un peu plus cher mais on peut aussi disposer d’une copie du site sur un autre hébergement (certaines offres d’hébergement sont illimitées en nombre de sites / bases, il n’y a alors qu’à supporter un nom de domaine en plus), avec le plugin en travaux toujours activé, sur lequel il suffit de copier la base (+ les nouveaux fichiers dans IMG et toutes les modifs de squelettes bien sûr).

Ainsi, on peut tester sans risque sur un site en ligne, une fois connecté en admin.

A+

Christophe


Voir le sujet ou répondre à ce courriel pour répondre.

Vous recevez ce courriel car vous avez activé la liste de diffusion.

Pour vous désabonner de ces courriels, cliquez ici.

-- 
****Fin du message end - Signature****
Perline 

Ce message est couvert par le secret de la correspondance
(art. 226-15 et 432-9 du Code pénal)
********************************************

spip@perline.org