Compatibilité des plugins entre SPIP 1.9.2 et SPIP 1.9.3

Ceci est une archive périmée mais qui reste intéressante, parfois autant pour l’article que les commentaires associés.

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Des moyens d’assurer la mise à jour des plugins pour s’adapter à la nouvelle version de SPIP

La version 1.9.3 de SPIP à introduit de nombreux changements dans le code, en particulier pour faciliter le multibases et le multitables (cf. Multibases et Multitables - Les annonces ). Ceci n’est pas sans influence sur de nombreux plugins. La méthode ci-dessous se propose d’en faciliter les mises à jour tout en incitant à celles-ci.

De : Fil <fil>
Date : 20 octobre 2007 13:03:15 GMT+02:00
À : spip-core at rezo.net
Objet : ! [spip-dev] compatibilité 1.9.2 / 1.9.3

Je viens d’envoyer deux modules de compatibilité pour essayer de résoudre les divers problèmes liés aux renommages multiples entre les version 1.9.2 et 1.9.3SVN.

Pour qu’un SPIP récent (1.9.3) puisse faire tourner des plugins « anciens »

* 1) SPIP 10620 modifie le inc/vieilles_defs du core :
-  sa structure évolue de façon à permettre (à terme) de ne crééer que les fonctions indispensables ; et en tous cas de ne pas redéfinir des fonctions déjà existantes.
-  surtout, c’est à chaque plugin qui en a besoin d’y faire appel au moment opportun (on ne le charge plus systématiquement depuis inc_version)
-  il annule et remplace le plugin compat193.

Ca c’est pour qu’un SPIP récent (1.9.3) puisse faire tourner des
plugins « anciens » (codés façon 1.9.2).

Pour qu’un plugin codé de façon moderne puisse fonctionner avec un « vieux » SPIP 1.9.2

* 2) Maintenant l’autre sens, pour qu’un plugin codé de façon moderne puisse fonctionner avec un « vieux » SPIP 1.9.2 : sur la zone, j’ai démarré un module de compatibilité inc/compat ; il y a des exemples dans le code qui montrent comment l’utiliser (et le compléter) ; j’ai appliqué la méthode pour le plugin Autorité, qui est donc désormais codé « façon 1.9.3 » [avec sql_fetch] mais tourne encore sur 1.9.2 (dans les limites de sa compatibilité logique avec 1.9.2, mais c’est une autre histoire).

Ce qui me chagrinait avec le plugin compat193, c’est qu’il « bloquait » les plugins en code compatible 1.9.2, et donc gelait le développement ou incitait aux forks de version.

Fil

Précisions sur le fichier inc/compat

De : Fil
Date : 22 octobre 2007 00:04:40 GMT+02:00
À : Pat
Cc : spip-zone@rezo.net
Objet : Rép : [SPIP Zone] [Spip-zone-commit] r16214 -/_plugins_/_stable_/jeux/base/jeux_upgrade.php

Ca veut dire que chaque plugin doit avoir sont fichier inc/compat ?

oui s’il veut rester compatible 1.9.2 tout en étant codé avec des fonctions modernes 1.9.3

Le plugin autorité a hérité d’un fichier comme ça, mais ça fait de la redondance de code tout ca, non ?

eh oui, c’est naze...... mais à partir du moment où les fonctions changent de nom, ou de nouvelles apparaissent, c’est la seule méthode propre si on ne veut pas se trainer des boulets.
— Fil

Voir aussi sur le Carnet Wiki de ce site : Comment porter un plugin d’un SPIP version 1.9 à un spip V 2.0

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom