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

3 discussions

  • 1

    Bonjour,
    je ne sais pas si c’est le bon endroit mais...

    Avec la version SPIP 1.9.3 si l’on active le plugin Forms & Tables ( install automatique dans plugins/auto mais également pour l’install manuelle dans plugins/ ) la plugin ne fonctionne pas forms & tables-> page blanche , mais il n’y a également plus d’accès possible à la création d’article ( ecrire un article-> page blanche ) ?

    Je ne sais pas si d’autres ont été confrontés à ce problème ...?

    Voilà, pour info.

    • Salut
      J’ai exactement le meme probleme. Si quelqu’un a la solution.
      _On lit beaucoup de choses sur les problemes avec les plugins et l’evolution de spip. Est-ce que ca va se stabiliser avec une possible v2 ?

    Répondre à ce message

  • 6

    Cela commence vraiment à faire usine à gaz si, à la moindre évolution, les modules additionnels ne fonctionnent plus sur les nouvelles version.
    Autant garder un « vieux » SPIP et attendre la version 2.0.

    • Je suis de ton avis, je pense plutôt que e laisser les plugins se multiplier, il serait préférable que certaines fonctions soient intégrées directement dans Spip pour que les admin de site puissent au moins arriver à faire autre chose que courir après des mises à jours.

      Ainsi ne serait il pas possible d’intégrer dans spip :

      les fonctions très pratiques de (activité du jour, une barre de typo améliorée qui agisse aussi bien sur les rubriques que sur les articles, une corbeille qui permette de vider toutes les images et documents qui ne sont liés à aucun article ou rubrique, un mode « en travaux » qui aiderait bien lors d’une MàJ, un système efficace de gestion des forums pour empêcher les intrus et un jeu de smiley intégré.

      Je pense qu’avec ces fonctions minimales ce serait une étape vraiment intéressante de franchie.

    • « Pour que les admin de site puissent au moins arriver à faire autre chose que courir après des mises à jours. »

      Tu décris tout à fait la situation et quand tu administres un site scolaire sous SPIP, que tel plugin (par exemple « accès restreint ») fonctionne parfaitement sous une version et pas sur l’autre, la mise à jour est impossible sinon les élèves ont accès à des rubriques « interdites ». Par ailleurs la réalisation d’un site scolaire relève souvent du bénévolat ou presque (paiement au lance pierre), le temps devient précieux.

      Je crains que ce désagrément cache une mauvaise gestion du projet SPIP, ce qui serait très génant pour la suite ... J’avoue me demander si je dois continuer à l’utiliser ou me tourner vers une autre solution plus sérieuse et surtout plus perenne.

    • Lamentable !

      Si on travaille sur ces questions de compatibilité, c’est justement pour faciliter la vie aux utilisateurs ; mais si vous voulez râler, râlez... nous aussi nous sommes bénévoles.

    • Qui est le plus lamentable ?
      Le fait d’être bénévole ne vous autorise pas à faire tout et n’importe quoi ! Le respect du travail de l’utilisateur connais- tu ? Visiblement pas ! Remarque tu as un excellent exemple : celui de Microsoft qui impose plutôt que d’être à l’écoute des utilisateurs.

      Votre travail est devenu critiquable mais vous n’assumez pas la critique uniquement sous couvert de travail bénévole ...

      Ce qui est lamentable c’est de lire ceci sur Spip Contrib :
      « Ce plugin est compatible uniquement avec la version 1.9.1 de spip. Il n’est pas compatible avec la version SVN spip 1.9.2 ni avec la 1.9.0 » Alors quand tu prétends travailler à la compatibilité des versions, il faut croire que non ! Ou alors peut-être faudrait-il comprendre que chaque version est compatible avec ... elle-même. Alors là, efefctivement, il y a du boulot !

      Derrière un site SPIP, il y a aussi des heures de travail bénévole, cela semble t’avoir échappé... Constater que le site, sur lequel on a travaillé BENEVOLEMENT des heures, ne pourra plus évoluer parce que les plugins qu’il utilise est devenu incompatible avec la dernière version sortie est plus que désolant.

      Tu es le deuxième développeur spip à intervenir et voici le résumé de vos interventions :
      « Nous sommes bénévoles à la cuisine alors mangez la mauvaise soupe que l’on vous sert ou BOUCLEZ LA ! »

      C’est toi qui disait « LAMENTABLE » ?
      Aurais-tu oubliés que tu n’avait pas le monopole du bénévolat ?

      Par ailleurs à revendiquer ce bénévolat comme devoir pour l’utilisateur de la boucler cela donne à spip une connotation « amateur » au sens péjoratif du terme. ne trouves tu pas cela lamentable.

    • Je ne t’ai pas dit de la fermer, mon pote ; d’ailleurs le forum est ouvert...

      Ce que je dis, c’est que si au lieu de troller tu travaillais à faciliter la compatibilité, les choses avanceraient plus vite et dans une meilleure direction.

      Mais tu préfères engueuler ceux qui bossent.

      Personnellement je n’ai pas besoin de cette compatibilité, et pourtant j’y passe des heures, pour le confort des utilisateurs que tu évoques (et pour qui tu ne lèves pas le petit doigt). Et tu veux me donner des leçons ?

    • Votre travail est devenu critiquable mais vous n’assumez pas la critique uniquement sous couvert de travail bénévole ...

      Le cadre économique des contributions des uns et des autres, bénévolat ou pas bénévolat, etc ... importe peu dans le cadre de SPIP. Seule importe sur les supports de la communauté la démarche de la contribution au projet commun, car c’est la raison d’être même de celui-ci que ces échanges (sinon pourquoi faire ?). Dans ce cadre une attitude consumériste (« on » me doit ceci cela, « vous » êtes ceci ou cela, etc ...) comme celle exprimée ici est en elle même totalement hors de propos. Comme est hors de propos, et considéré comme incorrect en général (SPIP ou pas SPIP), de venir poster sur un forum en dehors du sujet.

      Quand à venir se plaindre, comme utilisateur de base, que les développeurs diffusent à l’intention des autres développeurs, comme ici, des informations permettant justement de préparer des évolutions techniques pour faciliter justement la vie des utilisateurs à l’avenir est ... on va dire un contresens (pour rester correct). C’est ton pur droit de ne pas vouloir mettre les mains dans le cambouis, mais pas celui de reprocher aux mécanos de le faire pour permettre au moteur de tourner de mieux en mieux, ni de parler technique avec les mots adaptés à des techniciens.

      C’est la nature même d’un outil comme SPIP que d’avoir à gérer du code compliqué pour rendre accessible au plus grand nombre des fonctions qui ne le serait pas autrement.

    Répondre à ce message

  • Prenons un peu de recul pour dire :

    • qu’on parle d’une version de SPIP qui n’est pas encore sortie (1.9.3)
    • que cet article est destiné aux développeurs de plugins pour les aider à préparer la sortie de la 1.93 dans de bonnes conditions
    • que SPIP est en licence GPL ainsi que la plupart des plugins. GPL, ça signifie que tous peuvent intervenir dans le code et proposer des améliorations.
    • que les « bénévoles » travaillent aussi à fournir une solution d’hébergement mutualisée de SPIP (http://www.spip-contrib.net/La-mutualisation-facile) qui pourrait simplifier grandement les mises à jour de SPIP
    • que le travail des « bénévoles » qui utilisent SPIP n’interdit pas la prudence et la patience

    Répondre à ce message

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