KiwiHC16 / Abeille

Abeille pour Jeedom (Gateway ZiGate)
GNU Affero General Public License v3.0
60 stars 52 forks source link

Mise à jour qui supprime les png et json custom #1752

Open JC38 opened 3 years ago

JC38 commented 3 years ago

Bonjour,

Je m'étais fait les fichiers de config pour #1604 Lors de la dernière mise à jour via Github les fichiers Json et png ont été supprimés. Le dossier du json a été conservé.

tcharp38 commented 3 years ago

Salut Tu es donc sur la master. Il y a effectivement un nouveau systeme en test dont le but est de verifier l'integrité du plugin et nettoyer les fichiers "non officiels" en supposant que ce sont des fichiers obsoletes. Il n'y a rien qui prevoit aujourd hui de conserver des fichiers non maitrisés par Abeille, donc tu tombes dans ce cas mais le point reste à finaliser.

Peut etre que dans un premier il faut empecher la suppression de JSON & PNG inconnus.

mickadam29 commented 3 years ago

Salut,

Ou proposer des PR afin que cela profite au plus grand nombre. Mais effectivement, la suppression est radicale. Il faut le savoir. J'ai perdu également un JSON. Tant que l'objet existait, tout allait bien.

JC38 commented 3 years ago

Ok, merci pour le retour tcharp. En attendant, tu peux peut-être intégrer mes fichiers du #1604 pour éviter qu'ils soient dégagés au prochain coup en attendant de trouver une solution officielle. Je ne sais pas si mes fichiers json et png sont les meilleurs pour ces lampes mais faute de mieux, ils ont l'air d'être ok.

tcharp38 commented 3 years ago

C est Kiwi qui a la main sur les integrations. Je ne peux rien faire de ce cote.

kaleofr commented 3 years ago

Je trouve aussi la manip un peu radicale. Un système de sauvegarde serait bien, pour permettre une mise à jour mais aussi un retour en arrière si le modèle par défaut n'est pas satisfaisant. Un système de remonté automatique aux développeurs de ces modèles aussi serait pas mal pour une intégration rapide.

Juste un avis. Bon week-end.

mickadam29 commented 3 years ago

Le principe de supprimer ce qui n'est pas dans la release gérée par @KiwiHC16 est bon. Cela garantie que la structure et le contenu est conforme à ce qu'il doit être. Au moins, ça évite trop de personnalisation, on va dire dans le "noyau" Abeille. Maintenant je vous rejoins dans l'idée qu'il faudrait peut-être un répertoire réservé aux modèles JSON et éventuellement les templates des commandes personnalisés par nos soins. Répertoire non pris en compte par les mises à jour. Après, ces modèles ne servent qu'à la création de l'objet si je dis pas de bêtise. Donc s'ils sont détruits cela n'empêche en rien l'objet de fonctionner. Donc, après une mise à jour, il faudra les replacer au moment d'inclure un objet y faisant référence. Pas forcément souple.

KiwiHC16 commented 3 years ago

Ma vue actuelle est la suivante mais peut évoluer:

Depuis le debut le plugin est sur la base de l open source et le partage, tout ce qui est fait est mis a disposition pour tous. Pour les modèles et les images, je me dis que cela doit fonctionner sur la meme base.

Je me dis qu'on devrait tous suivre cette idée. Donc un utilisateur devrait partager ce qu'il fait.

Sur cette base, pourquoi pas faire un bouton qui propose d'envoyer ce qui est fait par l utilisateur vers les dev.

Par exemple si on detecte des fichiers qui ne sont pas dans la liste(md5) alors on les envoie dans une issue github en avec un commentaire de l utilisateur. Si possible en automatique lors de la mise a jour.

kaleofr commented 3 years ago

Sur cette base, pourquoi pas faire un bouton qui propose d'envoyer ce qui est fait par l utilisateur vers les dev.

Par exemple si on detecte des fichiers qui ne sont pas dans la liste(md5) alors on les envoie dans une issue github en avec un commentaire de l utilisateur. Si possible en automatique lors de la mise a jour.

Parfait comme ca oui. Reste le temps ou nous ajustons un nouveau modèle, une mise à jour peu le virer alors que nous ne l'aurions pas encore soumis. Enfin, pour les png, un modèle a parfois plusieurs illustrations possibles (exemple Legrand céliane/doxxie/Mosaic) et une personnalisation est intéressante. Il faudrait peut-être un peu plus de souplesse pour les pngs.

mickadam29 commented 3 years ago

Pour éviter ce que tu évoques @kaleofr on peut peut-être imaginer un avertissement. Des fichiers présents ne sont pas fournis. Conserver, Supprimer, Soumettre @KiwiHC16 c'est faisable sur une mise à jour ? J'ai pas l'impression qu'une mise à jour soit interactive. Des cases à cocher qui mémorisent le souhait de l'utilisateur ?

KiwiHC16 commented 3 years ago

Je ne maitrise pas le processus de mise a jour jeedom. Je ne peux donc pas réponde à ta question @mickadam29 .

Ce que j'essaye de comprendre est ce qui serait bien pour les utilisateurs et ensuie on verra ce qui est possible dans Jeedom.

tcharp38 commented 3 years ago

La partie Jeedom n'est pas interactive mais la derniere intervention est celle d'Abeille. C'est la ou je fais le menage et le test d'integrité. A noter que tout ne se fait plus qu'en mode dev pour l'instant tant que le processus n'est pas robuste.

edgd1er commented 3 years ago

@KiwiHC16 ,

Il est possible de faire ce type de gestion avec git.

Quant au modèles, tu peux faire une gestion par archive d'une version "officielle" avec git archive --format=zip

Je n'ai pas suivi l'évolution avec le md5, ces propositions ne couvrent peut-être pas ce que fait la partie md5.

tcharp38 commented 3 years ago

@edgd1er Le souci est qu'on doit coller au process Jeedom. Donc pas de git. Jeedom a son propre systeme de recuperation. J'ai pas encore compris comment ca se passait pour recuperer du "market" (cas de 99.99% des utilisateurs) mais si recup de GitHub il prend un zip (qq notes la https://kiwihc16.github.io/AbeilleDoc/Developpement.html#procedures-de-mise-a-jour)

tcharp38 commented 3 years ago

Pour info, il y a dans le master maintenant un répertoire permettant de mettre le JSON en cours de dev. => core/config/devices_local

Celui ci ne sera pas touché par la mise à jour. L'ordre de recherche des equipements est le suivant

Pour les .png rien n'est fait.

tcharp38 commented 3 years ago

210520-BETA-4

tcharp38 commented 1 year ago

En résumé du point avant de clore:

Je clos le sujet A réouvrir si je fais fausse route.

kaleofr commented 1 year ago

Hello, depuis plisieurs mises à jours, le répertoire "devices_local" est "nettoyé" contrairement à ce qui ce passait avant et ce qui est inscrit dans le lisez-moi: "Ce répertoire N'EST PAS néttoyé pendant la mise-à-jour du plugin."

Est-ce juste un bug?

Kaléo.

tcharp38 commented 1 year ago

Salut @kaleofr Quand tu dis "nettoyé". Le repertoire disparait ? Que certains fichiers ?

kaleofr commented 11 months ago

Je veux dire que tout le contenu personnel de "devices_local" est vidé. Il ne reste que LIZEZMOI.txt et README.txt qui nous expliquent bien tous les deux que: "Ce répertoire N'EST PAS néttoyé pendant la mise-à-jour du plugin." "This directory is NOT CLEANED during plugin update." ...

Comment peut-on réouvrir cette issue?

tcharp38 commented 11 months ago

Ok. Je suis quasi sur que ca n'est pas Abeille qui fait ça donc ca doit etre Jeedom. J'ai vu recemment qu'il faisait du menage de temps en temps.. mais pas compris sur la base de quoi.