Widget V3-V4 comment faire?

La modif que vous avez fait est pour le mobile.
Il faut aussi le faire pour le dashboard. Je n’utilise pas le mobile, je ne l’ai fait que pour le dashboard.

Le plus simple est de faire la modif par l’interface et de regarder dans la bdd ce qui a été fait.

ok compris

par contre la modif vous l’avez faite à la mano ?

Oui je ne maitrise pas suffisamment SQL pour faire une moulinette.
Et je n’avais qu’une centaine de cmd avec widget perso

je sais pas comment je vais faire, j’en ai 1572…

Aie, ça fait mal.
Dans Outils Widgets, il y a un bouton Remplacement.
Je n’ai pas compris comment il fonctionne. Il n’y a pas la classification Core/Custom/Plugin/Widget comme quand on réaffecte un widget à une commande.

il y a truc que je piges pas

dans la page CORE de l’outil WIDGET, je vois le code de mes plugins mais ce n’est pas le même lieu de stockage que le code qui est utilisé par le plugin WIDGET

PLUGIN WIDGET : plugins/widget/core/template/dashboard
OUTIL WIDGET : data/customTemplates/dashboard

Le soucis, c’est donc que j’ai des codes de widget mais qui ne sont pas connu par jeedom

Comment faire cette affectation ?

@Loic ?

Je sais pas trop déplace le code d’un dossier a l’autre et reaffect les commande sur le nouveau code widget peut etre

Les widgets contenus dans

sont accessibles avec widget:: dans le champ template de la cmd en bdd

Ceux de

le sont par custom:: dans le champ template de la cmd en bdd

Les widgets v3 sont présents dans le plugin widget et dans la bdd ils sont avec custom::
==> non accessibles
==> Défaut dans le widget affecté à la commande.

Il manque dans l’outil de remplacement la provenance du widget dans la ligne affichée.
image
pour bien maitriser le remplacement de widget.
C’est les lignes 19 et 35 du fichier desktop/modal/widget.replace.php
Un tri de la liste des widgets serait aussi un plus.

Je ne pense pas que déplacer des widgets v3 dans l’emplacement pour les widgets v4 soit une bonne solution.

1 « J'aime »

bonjour @Loic

c’est pas un problème de code, il est bien présent dans les 2 endroits

le soucis c’est que l’affectation de la commande avec l’affichage vers le plugin widget fonctionne mais sans que cela puisse se voir dans la zone de saisie, qui indique « defaut » pour tous, alors qu’il devrait mettre le nom widget:xxxxx , ca permettrait de pouvoir retravailler son code cotés outils widget, puis pouvoir utiliser l’outil de remplacement pour passer de l’un à l’autre, sans perdre toutes les affectations, c’est un gros soucis ca

c’est tout à fait ca, tu as fait la correction dans la code et cela fonctionne ?

A oui je vois non pas de correction possible la dessus de notre côté désolé

Bonsoir,
J’ai fait un PR pour améliorer l’utilisation de l’outil de remplacement des widgets:

Ça peut être une base pour remplacer custom:: par widget:: dans la bdd. Mais je ne ferai pas un PR qui sera refusé puisque ça ne concernerait que la migration v3 en v4.

1 « J'aime »

J’ai rangé mes widgets pour toi @Nemeraud :nerd_face: ! …en lien la liste de mes partages de widget sur le forum

1 « J'aime »

Je comprends pas la réponse @Loic
Je crois comprendre que l’idée de JEEDOM avec cette V4 et de limiter tout ce qui est plugin perso pour avoir un « Visuel Jeedom ».

Mais là, on perd les affectations widget de toutes nos commandes, c’est un boulot énorme à refaire
et avec ce non nommage dans l’affichage de chaque commande, on ne peut même pas simplement utiliser l’outil de remplacement pour mettre un widget CORE

vous avez l’info puisque cela semble pouvoir se changer et des corrections ont déjà été proposées.
j’ai pas toutes les infos, il y a surement un truc qui m’échappe mais pour aider vos utilisateurs historiques, ceux qui vous suivent depuis les versions antérieurs de la V4, vous devez trouver une solution pour que tout ce travail ne soit pas perdu et je parle juste de l’affectation Commande-Widget, pas du contenu du code

Commande avec un WIDGET OUTIL

{« dashboard »:« customtemp::MENU-VUE »,« mobile »:« default »}

Commande avec WIDGET PLUGIN

{« dashboard »:« custom::Diode »,« mobile »:« custom::lock_mobile »}

Si je comprends bien, il suffit de remplacer « custom » par « customtemp », pour pointer vers les widgets CODES du nouvel outil ?

si je mets « widget », ca va pointer vers le plugin ?

je vais tenter ca :
UPDATE cmd SET template = replace(template, ‹ custom:: ›, ‹ widget:: ›) where id = monid

ca marche nickel et maintenant j’ai bien dans l’affichage le nom du widget mais qui pointe vers le PLUGIN

je vais tenter ca :
UPDATE cmd SET template = replace(template, ‹ widget:: ›, ‹ customtemp:: ›) where id = monid

ca fonctionne, je pointe bien vers le code du WIDGET OUTILS

par contre, dans l’affichage de la commande, j’ai défaut…
Si on fait NOUVEAU dans la partie CORE de OUTIL WIDGET et que l’on met un nom qui correspond déjà à un widget existant, il ne créé par vraiment le widget, donc il n’apparaît dans l’affichage et n’est pas dispo dans la liste des CustomTemp, bug ?

en fait pourquoi avoir mis « custom » au lieu de « widget » lors de la migration dans la table template ?

Ben widget ça veut dire que ça vient du plugin widget et custom que c’est un code custom sinon j’ai des conflits quand ya des widget du même venant de plusieurs plugin voilà pourquoi ya tout ce truc qui m’a pris des semaines a faire et voilà pourquoi la je peux pas faire mieux on est au maximum de mes capacités

pourquoi quand tu créés un code dans l’outils widget, il met « customtemp » ?

et pourquoi lors de la mise à jour, vous mettez « custom » alors que cela pointe vers le plugin widget, il faudrait mettre « widget » comme tu l’indiques

Honnêtement je peux pas te répondre

ok, ca m’inquiète un peu mais on va se débrouiller

j’ai donc lancé la commande

UPDATE cmd SET template = replace(template, ‹ custom:: ›, ‹ widget:: ›) WHERE template LIKE ‹ %custom::% ›

je récupère bien l’info du widget dans affichage

je vais pouvoir, avec le code de @jpty refaire mes remplacement (merci @jpty)

Si vous avez le temps @Loic, ce serait sympa de faire un widget CORE badge pour le string
et si vous pouviez faire un « badgeline » pour avoir le nom et le state sur la même ligne ce serait un plus
merci

Désolé de pas pouvoir t’aider pour les widgets je note mais on préfère en faire moins mais bien que tout ce qui est demandé vous imaginez pas la charge de travail de quelques lignes de codes c’est vraiment assez énorme le temps que ça nous prend a faire et en maintenance derrière et le temps qu’on passe la dessus c’est du temps qu’on passe pas ailleurs (comme le zwave par exemple)