La v3 qui sortira en Novembre 2020 aura un module de migration permettant de passer de la V3 à la V4.
Lors de la phase de migration des v3 vers la v4, les plugins sans compatibilité v4 dans leur info.json alerteront l’utilisateur final avant la mise à jour.
Si votre plugin est compatible v4, indiquez le dans le info.json de cotre plugin.
Exemple info.json: "compatibility" : ["miniplus","smart","rpi","docker","diy","v4"],
Vous pouvez tester depuis un scénario / bloc Code si vos plugins ont bien la compatibilité renseignée:
//Author of plugins to check (case sensitive)
$author = 'Jeedom SAS';
$plugins = repo_market::byFilter(['author' => $author]);
$pluginsArray = utils::o2a($plugins);
$countPlugins = 0;
$countIncompatibles = 0;
foreach ($pluginsArray as $plugin) {
if ($plugin['author'] == $author) {
$countPlugins++;
if ($plugin['hardwareCompatibility']['v4'] != '1') {
$countIncompatibles++;
$scenario->setLog('Plugin ' . $plugin['name'] . ' does not have v4 compatibility tag.');
}
}
}
if ($countPlugins > 0) {
if ($countIncompatibles > 0) {
$scenario->setLog($author . ' : ' . $countIncompatibles . ' potentially incompatible Jeedom V4 plugin on ' . $countPlugins . ' checked');
} else {
$scenario->setLog('All ' . $countPlugins . ' plugin developed by ' . $author . ' are Jeedom V4 compatible. Congratulations!');
}
} else {
$scenario->setLog('No plugin found for ' . $author);
}
state
action
roundedLeft
sur le premier élément (a input, button etc)
roundedRight
sur le dernier élément (a input, button etc)logoPrimary
et logoSecondary
success
info
warning
danger
Fichier desktop/php/pluginid.php : remplacer object::all() par jeeObject::all()
Tester les plugins sur les trois thèmes 2019 Light / Dark / Legacy.
Au final les pages du plugin doivent être cohérentes avec les pages du core objets/scénarios/interactions (tailles, couleurs, dispositions etc). Pas d’effet de style, mais de la cohérence.
Remarque :
La sidebar n’a pas survécu à la v4 ! Pour la remplacer, un menu contextuel est disponible sur les onglets pour les scénarios, objets, interactions, plugins.
Mises à jour :
Une fois le github du plugin updaté, aller sur le market, mes créations, et faire un ‘Test’ sur la branche. Ce qui évite d’attendre le passage du robot, et met l’update à disposition immédiatement.
Rappel :
Les images affichées dans les pages de plugins ne doivent pas être chargées depuis le net, mais doivent être parmi les fichiers locaux du plugin.
Attention :
Sur les pages de scénario, plugins etc, le bouton ‘Supprimer’ est passé à droite ! C’est le plus dangereux donc le plus loin.
La v4 et la nouvelle v3 ont un nettoyage automatique des fichiers non présents sur votre mise à jour de plugin automatique.
Le core efface automatiquement les fichiers de plus de 7 jours qui n’ont pas eu de mise à jour.
3rdparty
, 3rparty
, desktop
, mobile
, core
, docs
, install
, script
, vendor
, plugin_info
.ressource(s)
et data
ne sont pas touchés, mais nous vous invitons à utiliser data
pour tout custom.custom
ne sont également pas touchés.Si vous souhaitez faire une modification avant le nettoyage vous pouvez utiliser pre_install.php
(dans plugin_info).
Voir plugin template
Changement de nom github pour les accès à vos repos privés.
Il faut maintenant utiliser jeedom-market au lieu de celui de zoic.
Le site de documentation a également changé d’aspect.
Désormais des liens renvoient directement vers vos documentations.
Nous sommes en cours de développement d’un nouvel outil de traduction. Nous le testons actuellement en interne et nous reviendrons vers vous prochainement afin de vous proposer d’intégrer vos plugins dedans.