Carnet Wiki

Version 4 — Mars 2017 Francky

Changelog en construction à reporter dans la documentation finale lors de la publication de SPIP 3.2 (final)

— -

Javascript

jQuery

<blockquote class="spip">

Note importante : Ces changements impliquent qu’il est fortement conseillé de mettre à jour les scripts utilisant jQuery. Cela concerne principalement les modifications suivantes :

  • bind() => on()
  • unbind() => off()
  • load() => on(’load’, ...)
  • unload() => on(’unload’, ...)
  • jQuery.isArray() => Array.isArray() </blockquote>

jQuery UI

  • Mise à jour de jQuery UI en version 1.12.1 (dans SPIP 3.1.4 c’est jQuery UI 1.11.4). http://jqueryui.com/upgrade-guide/1.12/ . Changement d’implémentation au passage :
    • tout jQuery UI est chargé dans l’espace privé par défaut.
    • Dans l’espace public, dès lors qu’un élément de jQuery UI est était demandé via le pipeline « jqueryui_plugins », tout le JS / CSS de jQuery UI est également chargé.
<blockquote class="spip">

Note importante : Ces changements impliquent que les usages de javascript qui chargeaient des modules de jQuery UI avec $.getScript() ne fonctionneront plus. Vous pouvez soit charger globalement jQuery UI dans votre squelette, ou via le pipeline jqueryui_plugins pour un plugin, soit utiliser $.getScript() sur le chemin du fichier « jquery-ui.js » directement.

Ainsi :

$.getScript("#CHEMIN{prive/javascript/ui/core.js}", function(){
$.getScript("#CHEMIN{prive/javascript/ui/widget.js}", function(){
$.getScript("#CHEMIN{prive/javascript/ui/mouse.js}", function(){
$.getScript("#CHEMIN{prive/javascript/ui/sortable.js}", function(){
// ...
})})})});

Pourrait devenir :

$.getScript("#CHEMIN{prive/javascript/ui/jquery-ui.js}", function(){
// ...
});
</blockquote>

JS Cookie

  • La librairie JS Cookies est intégrée en version 2.1.3. Elle remplace jQuery.cookie. https://github.com/js-cookie/js-cookie
  • L’ancienne écriture $.cookie() fonctionne encore dans la plupart des usages mais il est conseillé de migrer :
    • $.cookie(key) devient Cookies.get(key)
    • $.cookie(key, value) devient Cookies.set(key, value)
    • $.cookie(key, value, options) devient Cookies.set(key, value, options)

PHP

  • Nombreuses notices PHP enlevées encore.
  • Compatibilité PHP 7.1

Core

Tri des items de navigation & entrées favorites
Le fonctionnement du plugin « Menu privé alphabétique » est intégré :

  • les sous-menus de navigation (au survol des menus « Édition », « Publication », « Activité », ...) sont maintenant triés par ordre alphabétique [1].
  • dans ses préférences personnelles, il est maintenant possible de cocher des entrées de menus « favorites », qui s’afficheront alors en tête dans les sous-menus de navigation concernés.
  • si un sous-menu contient plus de 20 entrées, il est alors affiché en 2 colonnes.

Dépendances des plugins à des extensions PHP

Il est maintenant possible d’indiquer dans un paquet.xml qu’un plugin a besoin d’une extension PHP pour fonctionner. Ticket #3829. Une erreur sera affichée dans le cas contraire à l’activation du plugin. Syntaxe :

<necessite nom="php:curl" />
<necessite nom="php:xdebug" compatibilite="[2..;]" />

Critères

  • le critère {par champ} a été réécrit et tolère mieux les noms de champs provenant de tables de jointures, en harmonisant avec {par num champ} et {par multi champ} le fonctionnement. Des expressions {par expr champ} peuvent maintenant être créées sans surcharger tout le critère, à toutes fins utiles.
  • ajout de {par sinum champ} qui met en premier les éléments ayant des numéros (hors 0.). Ainsi {par sinum titre, num titre, titre} mettra les titres avec des numéros avant ceux n’en ayant pas (contrairement à {par num titre, titre}. Et contrairement à {par titre, num titre}, le numéro 100 sera bien placé après le numéro 20.

Pipelines

Divers tickets

  • Inclusions, connect & pagination (Tickets #3823 et #3899) : les paginations ajax prennent en compte le paramètre connect qui était utilisé. Le connect explicité sur une inclusion est prioritaire sur celui provenant de l’URL.

Fichiers supprimés

  • ecrire/inc/aider.php (déplacé dans plugins-dist/aide/inc/aide.php)
  • ecrire/inc/pclzip.php (déplacé dans plugins-dist/archiviste/inc/pclzip.php)

Déplacements

  • les filtres de dates sont maintenant dans inc/filtres_dates.php (déplacés depuis inc/filtres.php) (Ticket #3583).

Suppression

  • les fonctions dépréciées afficher_plus(), debut_cadre_couleur_foncee(), fin_cadre_couleur_foncee() sont passées dans le plugin Grenier.

Plugins

Aide

  • Nouveau plugin qui intègre la gestion de l’aide en ligne (fonctions déplacées depuis le Core ou plugin SVP)

Archiviste

  • Nouveau plugin qui intègre la gestion des archives zip et tar (fonctions déplacées depuis le Core)

Filtres Images

  • Suppression des fonctions et fichiers dépréciés depuis SPIP 2.1 (Ticket #3601). Les éléments ont été déplacés dans le plugin Grenier.

Grenier

  • Accueil des fonctions dépréciées du plugin Filtres images.
  • Accueil des fonctions dépréciées du Core

Médias

  • Intégration du plugin Minidoc dans le plugin médias. Il permet différents affichages des listes de documents attachés aux objets éditoriaux. Ticket #3888
  • Modification également de la présentation par défaut de ces listes documents attachés
  • Intégration du plugin Ordoc dans le plugin médias. Ticket #3887. Il permet d’ordonner les listes de documents joints aux objets éditoriaux [2], et ajoute un champ « rang_lien » dans la table spip_documents_liens. Il devient alors possible d’utiliser des boucles telle que :
    <BOUCLE_docs(DOCUMENTS){id_article}{par rang_lien, num titre, titre, date}>

    .

  • Changement de structure du code HTML attendu en retour du pipeline afficher_metas_document, qui par ailleurs envoie le code HTML des détails affichés pour le document plutôt que rien par défaut, ce qui permet de compléter la balise <table> utilisée.

Organiseur

Sites

  • Permettre de rechercher dans les articles syndiqués sur un site. Ticket #3859

SVP - Gestion des plugin

  • Prise en compte de l’affichage des erreurs de dépendances sur les extensions PHP. Ticket #3819.
  • Affichage plus compréhensible des versions sur les erreurs de dépendances.
  • On peut maintenant télécharger un plugin sans l’activer. Dans ce cas on reste sur la page de recherche de plugin. Ticket #3471
  • Afficher une barre de progression lors d’actions multiples (évite des erreurs de redirections). Ticket #3473
  • Correction de l’absence de confirmation des actions lorsque des actions supplémentaires sont ajoutées automatiquement par SVP (par exemple activer ou désactiver des dépendances).
  • inc/pcltar.php et lib/pcltar/ déplacés dans le plugin Archiviste.