Hello,
l’alpha v4.3 vient d’être publiée !
Cette v4.3 se veut plus orientée sur l’optimisation du code, et devrait avoir un cycle plus court.
L’objectif global est de ne pas avoir de régression, et de ne pas générer de modification coté plugins.
Un gros travail a été fait coté font-end, non pas sur l’UI cette fois ci mais sous le capot :
-
Presque toutes les variables et fonctions des pages du Core ont été isolées dans un namespace : ça permet de ne pas recréer toutes les fonctions si on revient sur la page, d’isoler les variables et fonctions par page donc pas de collision possible, çà rend le code beaucoup plus lisible puisqu’on sait quelle fonction ou variable vient et va où, et çà aide énormément le debuggage (un console du namespace et on voit tout).
-
Le risque ? Aller trop loin avec certaines variables du Core (
jeedom_langage
devientjeeFrontEnd.language
, etc) potentiellement utilisée par les plugins. Les fonctions des pages du Core, elles, ne devraient pas être utilisées par des plugins donc çà ne devrait pas avoir d’impact.
Les premiers tests portent sur ces variables:
jeeFrontEnd = {
__description: 'Global object where each Core page register its own functions and variable in its sub-object name.',
jeedom_firstUse: '',
language: '',
userProfils: {},
planEditOption: {state: false, snap: false, grid: false, gridSize: false, highlight: true},
//loadPage history:
PREVIOUS_PAGE: null,
PREVIOUS_LOCATION: null,
NO_POPSTAT: false,
modifyWithoutSave: false,
//@index.php
serverDatetime: null,
clientServerDiffDatetime: null,
serverDatetime: null,
serverTZoffsetMin: null,
}
On aura donc besoin des devs de plugins pour s’assurer que tout se comporte bien.
La 4.2 introduit déjà le namespace jeedomUtils{}
mais on a du conserver les anciennes fonctions pour le support des plugins : https://github.com/jeedom/core/blob/alpha/desktop/common/js/utils.js#L1424
Donc on essaye d’améliorer le code mais sans tout casser
-
Coté bêta-testeurs, on va avoir besoin de vous. En effet, l’isolation des js du Core a pu casser n’importe quelle fonction derrière n’importe quel bouton de l’interface. L’impact sur le fonctionnement de Jeedom est négligeable puisqu’il ne s’agit que de l’interface, mais testez un maximum de choses et remontez les soucis avec un maximum d’information (page, bouton, devrait faire … mais fait …) dans un message par soucis avec le tag v4_3.
-
Il y a autre chose en préparation et qu’il faudra tester ensuite, on communiquera dessus quand ce sera prêt.
-
Le changelog