Version 58 — Janvier 2023 — erational
define('_DEV_VERSION_SPIP_COMPAT',"3.2.99");
Pour vous aider à vérifier la compatibilité des plugins, vous pouvez utiliser le plugin Vérifier ses plugins avant un changement de version de SPIP ; vous pouvez aussi vous sauvegarder le résultat du plugin Lister les plugins nécessaires au site —dans un fichier ./plugins/spip_site_config.../paquet.xml
— pour ultérieurement contrôler la ré-activation de tous vos plugins !
Supprimer les plugins qui ne sont plus nécessaires
Erreur d’exécution ../prive/squelettes/body.html | File […]/ecrire/src/Chiffrer/Chiffrement.php Line 68 : Call to undefined function Spip\Chiffrer\sodium_crypto_secretbox_keygen()
pour activer Sodium dans votre php.ini, décommenter la ligne extension = sodium.so
define('_DEV_VERSION_SPIP_COMPAT',"3.2.99");
dans mes options- Les logos
- Les modèles d’insertion
- La notion de portfolio disparait
Voir : TODO Documentation pour SPIP4
Du fait de la disparition du plugin-dist des breves (et donc de la table), vous pouvez proprement désactiver vos boucles sur les BREVES,etc...
en remplaçant dans vos squelettes le commentaire [(#REM) Breves ] <B_breves>
... par
[(#PLUGIN{breves}) Breves du secteur
<B_breves>
sans oublier de rajouter un crochet fermant après la boucle </B_breves>
]
- En SPIP 3.2 on écrivait
[<p class='pagination'>(#PAGINATION{prive})</p>]
- En SPIP 4., il faut :
[<nav class='pagination' role='navigation'>(#PAGINATION)</nav>]
Le changement porte sur la balise englobante, qui doit désormais être un nav
ET sur les arguments.
Il n’existe plus qu’un seul modèle de pagination, et les différences de pagination se font en lui passant des arguments :
- afficher_lien_precedent=oui
pour afficher le <
vers les résultats précédents
- afficher_lien_suivant=oui
pour afficher le >
- page=oui (à confirmer) pour afficher les n° de page
- rang=oui (à confirmer) pour afficher les rangs des réponses
- encore 1 ou 2 arguments à repêcher
De plus, la détection automatique de l’espace privé permet de paramétrer la pagination adaptée sans qu’il soit nécessaire de passer ce choix en argument.
N.B. Le nouveau code pour SPIP 4.0 fonctionne avec SPIP 3.2, on pourra donc, pour assurer la compatibilité (des squelettes, mais aussi des plugins), conserver l’argument de l’ancienne version ainsi :
[<nav class='pagination' role='navigation'>(#PAGINATION{prive})</nav>]
CSS : pour les CSS on peut s’inspirer de ceux de la dist ou des exemples d’adaptation suivants :
- Squelette kamakura (avec flex)
- Squelette sendagi (avec flex)
- W.F. sur la mailing liste (avec float)
.pagination-items { margin: 10px 0 0 20px; }
.pagination-item { width:25px; float:left; }
.pagination-item-label.on { font-weight: bold ; font-size:1.8em ; }
.pagination-item.prev, .pagination-item.next { width:200px; font-size:0.8em; }
.pagination-item.prev.disabled, .pagination-item.next.disabled { font-size:0.6em; color:grey; }
.pagination-item.prev a:hover, .pagination-item.next a:hover{ color:green; }
<div>
à la place des <ul>
et des <li>
.<legend>
remplace un <h3>
Exemple d’adaptation : https://git.spip.net/spip-contrib-extensions/sociaux/commit/d01708b6
A partir de SPIP 4.0 les boucles doivent être obligatoirement nommées avec un nom commençant par un underscore « _ » (sauf les boucles anonymes ^^) ;
<BOUCLE_nom_boucle>...</BOUCLE_nom_boucle>
Les boucles suivantes ne sont plus acceptées et lèvent une erreur
<BOUCLES_actu(ARTICLES)>....</BOUCLES_actu> // mauvais boucle avec un "S"
<BOUCLEtest(ARTICLES)>....</BOUCLEtest> // mauvais pas de "_"
...
En SPIP 4, le HTML produit comprend quelques différences qu’il faut parfois reprendre dans l’habillage CSS des squelettes
Le raccourci SPIP {{{ ... }}}
des intertitres produit maintenant un
<h2 class="spip">...</h2>
au lieu de
<h3 class="spip">...</h3>
Le modèle <doc>/<img>
a évolué
.label
.editer
Les arguments changent, surtout le 3e argument. Voir dans le forum de la partie privée sous la doc sur spip.net.
Beaucoup d’images du privé au format gif ou png ont été transformé en SVG.
A priori rien à faire car SPIP détecte et s’adapte en créant un SVG à la taillle demandée.
Par contre certaines images (deplierhaut.gif, ....) ont été entièrement supprimées.
Si on veut faire les choses proprement :
- on peut supprimer tous les png
- on faut ajouter une icone au format SVG avec la convention de nommage suivante :
monplugin-64.png -> monplugin-xx.svg.
- ( quelques conseils pour le graphisme des icones)
- lire_meta qui devient lire_config
- recuperer_page qui devient recuperer_url
- ...
Dans jQuery
- size()
est déprécié et provoque des erreurs. Il faut le remplacer par length
comme conseillé dans la doc .size(). Exemple de remplacement
Avant de supprimer un plugin.xml il faut faire une branche de version en cours.
Puis donc dans la branche master = le supprimer + dans paquet.xml changer les bornes SPIP au minimum [3..0 ;4..*] + monter la version en x
Certains plugins (breves, petitions, etc voir la note de release) ne sont plus fournis avec SPIP. Si vos squelettes utilisent les tables créées et gérées par ces plugins, il faut
- soit charger et activer ces plugins par SVP, si votre site les nécessite
- soit, si leur usage est facultatif, adapter les squelettes pour une utilisation conditionnelle. Exemple d’adaptation
En revanche si vous ne les utilisiez pas, pour faciliter leur suppression lors de la migration 3.2 -> 4., le plugin dédié Léon est mis à votre disposition : Léon
jQuery ui
jQuery ui sort des plugins distribués avec le core pour devenir un plugin dédié
Pour les fonctions de drag’n’drop, on peut aussi le remplacer avantageusement par sortable.js qui est embarqué dans le core, et qui peut aussi faire du drag’n’drop : https://sortablejs.github.io/Sortable/#cloning
- Annonce SPIP 4.. : https://blog.spip.net/SPIP-4-0-tout-simplement.html
- Changelog SPIP 4.. : https://www.spip.net/6428
- Annonce SPIP 4..0-beta : https://blog.spip.net/O-joie-C-est-SPIP-4-0-0-beta.html
- Annonce SPIP 4..0-alpha : https://blog.spip.net/O-mega-c-est-SPIP-4-0-alpha.html
- Documentation déjà publiées sur spip.net, portant sur des améliorations des balises, critères ou filtres pré-existantes : https://www.spip.net/spip.php?page=recherche&recherche=%22spip+4.0%22
- Documentation sur https://programmer.spip.net concernant SPIP 4 alpha : 0%22" class="spip_url spip_out auto" rel="nofollow external">https://www.spip.net/spip.php?page=recherche&recherche=%22spip+4.0%22
- Passer de SPIP3 à SPIP4 par b_b : https://blog.eliaz.fr/article206.html 0%22
Attention : dans la documentation, SPIP 4 est encore parfois appelé SPIP 3.3.
- voir les forums de la doc en cours sur spip.net