Core v4.4 -> Deprecated

ola les devs!
Pour info je viens de virer qql fonctions en 4.4 et passer qql autres avec alerte deprecated
commit -Clean deprecated / obsolete ! · jeedom/core@48abf73 · GitHub
Toutes les fonctions qui remplacent sont dispo depuis la v4.2
Testez vos plugins, et si çà pose trop de soucis on en/les remettra
Le but est de nettoyer, pas de casser

1 « J'aime »

J’en ai déjà qqluns

Plugin Mode

Plugin Qivivo

Exemple de message sur une fonction deprecated dans un plugin :

En texte comme on peux tjrs pas cliquer sur les images…
!WARNING! Deprecated function jeedom.eqLogic.builSelectCmd since Core v4.4: Use new Core v4.1 jeedom.eqLogic.buildSelectCmd() function. plugin: virtual | require: 4.2

Ici on voit que le plugin requiert jeedom 4.2 et que la fonction est là depuis la 4.1, donc aucun soucis à faire la modif.

Dans le cas contraire il faudra modifier la version minimale requise.

En l’état çà force à passer beaucoup de plugins en minimale 4.1 ou 4.2.
Donc on verra si on le garde en 4.4, mais çà a au moins le mérite de montrer aux devs ce qu’ils peuvent ou veulent modifier. Même on l’enlève une fois la 4.4 stable ça aura permis de nettoyer les plugins :wink:

Ne souhaitant pas pour le moment changer la version minimale dans le plugin (JeeMate), j’ai mis en place une simple verif de la version de Jeedom.

$version = jeedom::version();
$version = substr($version, 0 ,3);
$version = str_replace('.','',$version);
sendVarToJS('versionJeedom', $version);

et dans le JS :

  if (versionJeedom >= 42) {
    jeedomUtils.taAutosize();
  } else {
 taAutosize();
 }

Il y a peut être plus simple a faire, ou différemment mais cela permet déjà d’éviter de changer la version minimale requise.

3 « J'aime »

Hello,

Dans la même veine que ce que @sagitaz a fait, en pure JS j’ai ajouté une fonction :

function RequiredJeedomVersion(requiredVersion) {
  if (jeeFrontEnd.jeedomVersion !== 'undefined') {
    jeedomVersion = jeeFrontEnd.jeedomVersion;
    jeedomVersion = jeedomVersion.replace('.', '');
    requiredVersion = requiredVersion.replace('.', '');
    if (jeedomVersion >= requiredVersion) {
      return true;
    } else {
      return false;
    }
  } else {
    return false;
  }
}

Puis :

      if (RequiredJeedomVersion('4.1.20')) {
        jeedomUtils.taAutosize();
      } else {
        taAutosize();
      }   
2 « J'aime »