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.3Je 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.phpCa 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
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Suivre les commentaires : |