Comments (18)
Bonjour,
Une issue sert à remonter un problème identifié et non à poser une question.
Si vous avez des questions sur le développement autour de Jeedom, le forum communautaire est l'endroit adapté pour les poser : https://community.jeedom.com/
Merci
from core.
Tu te trompes en affirmant que c'est une librairie. Mais bon, je ne vais pas tergiverser ...
J'ai regardé le commit de Loic, et il est correct. Je ne vois rien à redire dessus, c'est à peu près ce que je comptais faire ce soir moi-même sur ma VM Frankenstein.
Je suis attristé de voir que ça tourne en affaire d'ego, mais j'en ai vu d'autres au fil des années.
Pour ton information, j'ai regardé comment faisaient les autres plugins et j'ai pris contact avec l'un ou l'autre DEV de plugin pour qu'il m'explique pourquoi il n'avait pas encore migré ses install npm du shell script "ancienne façon" vers le nouveau gestionnaire de la v4. Et devine quoi ? Apparemment, même constat que moi ... "fonctionne pas, mais marche toujours avec le script, donc pas bloquant" ... les devs en question n'en avaient juste pas fait une priorité ou pas signalé ... ce que je comprends, tant que t'as un workaround qui ne freine pas le cycle de ton produit ... enfin soit.
Pour finir, "hérésie", le "mal absolu", etc ... ce sont des points de vue, et je tente toujours de ne pas mêler religion et software engineering. Ceci dit, si tu as des arguments plus convaincants, et qu'on peut laisser les soucis d'ego de côté, fais moi signe, j'adore discuter ...
Regarde malgré tout le commit de Loic, ça t'aidera peut être a comprendre qu'au final c'est un bugfix ... je vais pas davantage enfoncer le clou ... je ne gagne rien à étaler ma science ici ...
from core.
Peut etre la cause du probleme ?
from core.
@Salvialf : Bonjour, l'issue est identifiée, un package NPM installé n'est pas vu par jeedom, ce n'est pas une issue pour vous ?
from core.
Pas du tout, de plus la copie d'écran mise en avant comme étant représentative d'un éventuel problème n'a strictement aucun lien.
Nous n'allons pas faire le debug de votre code ici, sans compter qu'aucune information concrète sur l'installation ou les manipulations réalisées n'est fournie.
Merci de vous diriger vers le forum communautaire si vous avez des questions sur le développement de plugins autour de Jeedom.
from core.
L'issue rapportée est que le mécanisme d'installation de packages introduit avec la version 4.2 de jeedom ne detecte pas, une fois le package installée que celui-ci est effectivement installé sur le système.
Cela n'a rien à voir avec le plugin que je suis en train d'écrire, c'est un mécanisme qui se veut générique pour tous les plugins, de ce que j'ai pu en comprendre de la documentation (même si celle-ci se veut éparse sur la question).
La copie d'écran a été jointe à des fins illustratives du symptôme constaté.
Il n'y a pas de manipulation particulière à décrire, puisqu'encore une fois, le mécanisme est générique et totalement indépendant du plugin en lui-même. L'utilitaire de vérification des packages lui-même, lorsque l'on l'utilise de façon indépendante d'un plugin présente les mêmes symptômes : installation en cours, installation finalisée et ensuite absence de détection des changements apportés au système.
Avant d'écarter une issue, sans avoir lu entre les lignes de ce qui est décrit de quoi il s'agit, il serait peut-être utile de réfléchir.
En 12 ans de carrière, j'ai croisé de nombreux développeurs qui allaient très rapidement en besogne pour écarter tel ou tel problème "could not reproduce", "works as designed" ... j'en vois à nouveau les stigmates ici.
Rassurez-vous, je n'ai nullement besoin de débugger quoi que ce soit via GitHub, j'en suis parfaitement capable par moi-même.
Je vous signale l'issue ici, si c'est trop à encaisser, pas de soucis, je m'abstiendrai à l'avenir.
A toute fin utile, et peut-être pour aider les neurones à s'entrechoquer ... et puis je cloturerai ici cette discussion au bord de la malhonneteté intellectuelle :
Installer n'importe quel plugin, meme le template, en indiquant un package NPM dans la liste des dépendances.
Constater que les dependances s'affichent comme étant non-installées.
Aller ensuite dans le menu des réglages de jeedom, tab OS, ouvrir l'utilitaire de vérification des packages.
Cliquer sur "réparer", attendre la fin de l'installation du package.
Constater que l'action n'a pas d'effet, le package dépendance reste NOK.
Bonne chance, mon ami, et bonne journée.
from core.
...il serait peut-être utile de réfléchir....
...pour aider les neurones à s'entrechoquer ... et puis je cloturerai ici cette discussion au bord de la malhonneteté intellectuelleBonne chance, mon ami, et bonne journée.
Je laisse le soin à un de mes collègues de vous expliquer à quel point vous êtes dans l'erreur dans votre approche comme je l'explique depuis le début mais tellement persuadé d'avoir raison que vous en arrivez à devenir désobligeant sur mes capacités intellectuelles.
On en reparle dans quelques minutes pour voir qui a besoin d'aide pour faire s'entrechoquer les neurones ou est malhonnête intellectuellement...
from core.
Bonjour,
Pouvez vous me donner le retour de :
npm -g ls -json -depth 1
from core.
Bonjour zoic21,
Voici
jeedom@jeedom:~$ npm -g ls -json -depth 1 { "name": "lib", "dependencies": { "bosch-xmpp": { "version": "1.3.0", "dependencies": { "bluebird": { "version": "3.7.2" }, "cors": { "version": "2.8.5" }, "debug": { "version": "3.2.7" }, "docopt": { "version": "0.6.2" }, "express": { "version": "4.17.3" }, "http-string-parser": { "version": "0.0.5" }, "morgan": { "version": "1.10.0" }, "node-xmpp-client": { "version": "3.2.0" }, "promise-queue": { "version": "2.2.5" }, "sasl-scram-sha-1": { "version": "1.2.1" }, "saslmechanisms": { "version": "0.1.1" } } }, "nefit-easy-http-server": { "version": "5.0.4", "dependencies": { "bluebird": { "version": "3.7.2" }, "body-parser": { "version": "1.19.1" }, "cors": { "version": "2.8.5" }, "docopt": { "version": "0.6.2" }, "express": { "version": "4.17.2" }, "morgan": { "version": "1.10.0" }, "nefit-easy-commands": { "version": "3.0.5" } } }, "npm": { "version": "8.4.1", "dependencies": { "@isaacs/string-locale-compare": { "version": "1.1.0" }, "@npmcli/arborist": { "version": "4.3.0" }, "@npmcli/ci-detect": { "version": "1.4.0" }, "@npmcli/config": { "version": "2.4.0" }, "@npmcli/map-workspaces": { "version": "2.0.0" }, "@npmcli/package-json": { "version": "1.0.1" }, "@npmcli/run-script": { "version": "2.0.0" }, "abbrev": { "version": "1.1.1" }, "ansicolors": { "version": "0.3.2" }, "ansistyles": { "version": "0.1.3" }, "archy": { "version": "1.0.0" }, "cacache": { "version": "15.3.0" }, "chalk": { "version": "4.1.2" }, "chownr": { "version": "2.0.0" }, "cli-columns": { "version": "4.0.0" }, "cli-table3": { "version": "0.6.1" }, "columnify": { "version": "1.5.4" }, "fastest-levenshtein": { "version": "1.0.12" }, "glob": { "version": "7.2.0" }, "graceful-fs": { "version": "4.2.9" }, "hosted-git-info": { "version": "4.1.0" }, "ini": { "version": "2.0.0" }, "init-package-json": { "version": "2.0.5" }, "is-cidr": { "version": "4.0.2" }, "json-parse-even-better-errors": { "version": "2.3.1" }, "libnpmaccess": { "version": "5.0.1" }, "libnpmdiff": { "version": "3.0.0" }, "libnpmexec": { "version": "3.0.3" }, "libnpmfund": { "version": "2.0.2" }, "libnpmhook": { "version": "7.0.1" }, "libnpmorg": { "version": "3.0.1" }, "libnpmpack": { "version": "3.0.1" }, "libnpmpublish": { "version": "5.0.1" }, "libnpmsearch": { "version": "4.0.1" }, "libnpmteam": { "version": "3.0.1" }, "libnpmversion": { "version": "2.0.2" }, "make-fetch-happen": { "version": "10.0.0" }, "minipass-pipeline": { "version": "1.2.4" }, "minipass": { "version": "3.1.6" }, "mkdirp-infer-owner": { "version": "2.0.0" }, "mkdirp": { "version": "1.0.4" }, "ms": { "version": "2.1.3" }, "node-gyp": { "version": "8.4.1" }, "nopt": { "version": "5.0.0" }, "npm-audit-report": { "version": "2.1.5" }, "npm-install-checks": { "version": "4.0.0" }, "npm-package-arg": { "version": "8.1.5" }, "npm-pick-manifest": { "version": "6.1.1" }, "npm-profile": { "version": "6.0.0" }, "npm-registry-fetch": { "version": "12.0.1" }, "npm-user-validate": { "version": "1.0.1" }, "npmlog": { "version": "6.0.0" }, "opener": { "version": "1.5.2" }, "pacote": { "version": "12.0.3" }, "parse-conflict-json": { "version": "2.0.1" }, "proc-log": { "version": "1.0.0" }, "qrcode-terminal": { "version": "0.12.0" }, "read-package-json-fast": { "version": "2.0.3" }, "read-package-json": { "version": "4.1.1" }, "read": { "version": "1.0.7" }, "readdir-scoped-modules": { "version": "1.1.0" }, "rimraf": { "version": "3.0.2" }, "semver": { "version": "7.3.5" }, "ssri": { "version": "8.0.1" }, "tar": { "version": "6.1.11" }, "text-table": { "version": "0.2.0" }, "tiny-relative-date": { "version": "1.3.0" }, "treeverse": { "version": "1.0.4" }, "validate-npm-package-name": { "version": "3.0.0" }, "which": { "version": "2.0.2" }, "write-file-atomic": { "version": "4.0.0" } } } } }
from core.
...il serait peut-être utile de réfléchir....
...pour aider les neurones à s'entrechoquer ... et puis je cloturerai ici cette discussion au bord de la malhonneteté intellectuelle
Bonne chance, mon ami, et bonne journée.Je laisse le soin à un de mes collègues de vous expliquer à quel point vous êtes dans l'erreur dans votre approche comme je l'explique depuis le début mais tellement persuadé d'avoir raison que vous en arrivez à devenir désobligeant sur mes capacités intellectuelles.
On en reparle dans quelques minutes pour voir qui a besoin d'aide pour faire s'entrechoquer les neurones ou est malhonnête intellectuellement...
Espérons mon cher Salviaf, que s'ils arrivent à me prouver mon erreur, ils arriveront à vous enseigner la grossièreté intrinsèque à lire en diagonale une issue, et répondre de manière aussi désinvolte ...
Chacun sa forme d'irrévérence.
Excellente journée
from core.
bah c'est une lib pas une dépendance tout simplement !! Une lib s'installe dans le dossier resources du plugin et le gestionnaire du core en gère l'installation des dépendances (de la lib).
Exactement comme le font tous les plugins existants qui utilisent npm ou yarn.
Le gestionnaire du core prend donc bien en charge les dépendances npm globales mais en aucun cas les libs globales et leurs dépendances ce qui serait d'une complexité incroyable avec des risques de conflits entre plugins bien plus important.
Nous en revenons donc à :
Si vous avez des questions autour du développement de plugins autour de Jeedom, nous vous invitons à les poser sur le forum où une grande communauté de passionnés est présente et tout à fait à même de répondre.
Merci
from core.
Je pense avoir trouvé il faudrait tester avec la version alpha du core et me dire si c'est mieux.
from core.
@Salvialf ce package permet d'installer un client sur l'OS, accessible en ligne de commande, il permet de faire tourner un serveur web qui sert de gateway pour les commandes BOSCH XMPP ... je ne voyais pas vraiment "lib" comme qualificatif ... j'ai peur de ne pas suivre ... outre ça, je n'ai vu aucune différence dans la documentation entre lib et dépendance ... mon plugin dépend de l'installation locale de ce package, je le rajoute donc dans packages.json ... comme indiqué dans la doc ...
@zoic21 : j'ai déjà utilisé les versions beta du core, mais pas alpha. Possible de me pointer vers une quelconque doc pour que je puisse installer l'alpha sur ma VM de test ? Par avance merci :)
from core.
oui comme le font la plupart des plugins existants qui utilisent des libs npm
from core.
Tu vas dans la conf de jeeodm onglet mise à jour puis tu choisis alpha.
from core.
@zoic21 : le temps de faire un snapclone de ma VM, d'installer et je te dis tout de suite le résultat. Merci déjà pour ton aide.
from core.
@zoic21 : je te confirme que c'est en ordre.
L'installation fonctionne toujours et désormais, jeedom détecte correctement le package, tout tourne sans problème, comme je pourrais m'y attendre. Ton fix semble donc bien corriger l'ISSUE que j'avais rapporté initialement.
Merci beaucoup pour ton aide et pour le fix dans des délais record, je n'en attendais pas tant :) Thumbs up !
@Salvialf : nous en revenons donc à ce que je disais initialement, il s'agissait bien d'une issue qui devait être fixée. J'ai déjà fait ce job trop d'années pour ne pas prendre le risque d'affirmer quelque chose quand je n'en suis pas certain ... je suis architecte software pour une très grosse corporate, et j'ai tous les jours des développeurs qui pensent venir m'apprendre mon job, pas loin de 80 personnes ... on me raconte chaque jour que les bug sont des features, les issues ont des workaround, et patati et patata ... on n'apprend pas au vieux singe à faire la grimace.
Par contre, un conseil, qui te servira pour le reste de ta carrière (si tant est que tu sois un ITer pro, si t'es juste un hobbyiste, zappe le conseil) : le retour d'expérience de l'utilisateur qui te rentre une issue, tu le lis à fond, et même si t'es convaincu qu'il n'y a pas de soucis, essaie d'abord de reproduire avant de fermer l'issue ... ça coute un peu de temps, mais l'image de ton produit ne souffrira pas d'affirmations gratuites et des frustrations coté user qui en découleront.
@zoic21 : tu sais me dire quand ce patch alpha passe en PROD stable ?
Messieurs, je vous souhaite d'ores et déjà une excellente journée.
from core.
Non et non ! C'est une hérésie d'installer une lib en global de la sorte et le code du core était parfait pour gérer l'installation des dépendances comme prévu à l'origine et comme utilisé par l'ensemble des plugins avec une lib en local.
Tu es hautain et condescendant, tu arrives avec tes certitudes sans même avoir regardé comment faisaient les autres plugins et tu viens me donner des leçons... Mais effectivement tu es certainement trop supérieur pour t'abaisser à poser une question sur un forum.
Après effectivement sur ce coup je ne m'attendais clairement pas à ce que cette modification soit faite comme ça pour quelqu'un qui ne s'est même pas demandé comment faisait les autres plugins existants et fonctionnels de longue date.
from core.
Related Issues (20)
- chore: add optionnal typeCmd in jeedom.eqLogic.getCmd
- [BUG] Remove max size of list widget (limit to 100px on disign) HOT 3
- [BUG] Object of class plugin could not be converted to string
- [BUG] Issue with long polling and page refresh that hanging browser HOT 9
- Add more right granularity for limited user (view menu analyze, configuration...)
- Hardcoded history purge boundaries HOT 5
- [BUG] Index error on cmd table (logical)
- [FEAT] [FIX] 4.4.7 Release
- [BUG] Issue with graph link and scénario where drill limit is hardcoded to 2
- [BUG] Remove mobile sw.js
- [BUG] clean timeline ne fonctionne plus avec php8.0 HOT 4
- BUG scenarii HOT 1
- Possibilité d'archiver par parquet en dessous d'une 1h ? HOT 3
- [BUG] On log page and small screen width no button (like delete log) are display
- [FEAT] Improve action bouton on log page with small screen
- [BUG] PHP8 curl is_resource et curl_close
- [BUG] PHP8 trim null parameter HOT 1
- [FEAT] Review ban system
- [BUG] Order of message in message center not by date
- [FEAT] Improve configuration page of history
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from core.