Ma vie de développeuse

J’ouvre ce post pour partager mes aventures autour du développement de dolibarr, je me dis que cela pourra en amuser (ou consterner) certains

Dans la série « bonne résolution de fin d’année », nettoyage de mes modules :
Je supprime depuis hier les tests de versions pour assurer la compatibilité descendante,


L’ensemble de mes modules passera avec une version minimum associé à la V11, qui date de 4 ans.
C’est quelquechose que je devrais faire toute les années mais entre la flemme et les scrupules de modifier du code qui fonctionne…

2 « J'aime »

J’ai un module qui fonctionne encore sur la V6. Pas certain que ça serve encore à quelque chose :sweat_smile:

Question bête, pourquoi avoir casté DOL_VERSION plutôt que d’utiliser version_compare?

La variable est en chaine de caractère… ce qui a fichu un joyeux bordel lors du passage à la V10…

Justement: PHP: version_compare - Manual

Alors à choisir en terme de performance entre appeler une fonction de comparaison de version et tester juste la version majeure en faisant un cast…
La question est vite répondu…

Je crois que c’est la pire des fonctions de php.

Soit ça renvoie -1 / 0 / 1 comme résultat, soit true / false selon la manière dont on l’utilise. Difficile de faire plus inconsistant.

1 « J'aime »

C’est pas faux :slight_smile:

Généralement, elle est utilisée avec un opérateur, donc retour true / false. Mais pour juste comparer les versions majeures, c’est effectivement plus performant de caster.

Est-ce qu’on sait si, dans la prochaine évolution du Dolistore, il sera possible de faire évoluer plusieurs versions d’un module, selon les compatibilités avec les versions de Dolibarr?
Ça permettrait, par exemple, de sortir une refonte d’un module sur une version de Dolibarr plus récente, tout en continuant de maintenir un minimum la version précédente.

C’est une très bonne question, sans doute à ajouter dans la liste des évolutions du Dolistore à prévoir.
Je sais que certains mettent en vente plusieurs version d’un même module pour assurer ce genre de chose, mais cela pose un souci pour ceux qui par exemple monte en version et ne peuvent pas accéder à une nouvelle version sans payer à nouveau…

Pour ma part, j’ai eu tres peu de demande une version du module plus ancienne (genre une fois par an grand max) et je lui transmet la version demandée