Read the statement by Michael Teeuw here.
MMM-News
-
not so easy.
MM legacy structure doesn’t consider multiple instances of node_helper. One module should have just one node_helper and vice versa. So, the cloning instance of the module needs some manual fixing. Some simple modules could be clonable easily(like the original
newsfeed
module), but not this module’s case.Another point is, to get news individually through cloned modules(If you’ve done somehow), it will consume system resources twice. and API quota also will be consumed doubly. Hmmm. it is not so beautiful.
A reasonable approach would be, Making a serving-slave process(which access the news API) by spawn/fork from one node_helper of the module. then other cloned modules would connect to the slave to get their own needs.
Or make another front-end module, which would just pull data from the original module.
Anyway, I didn’t make this module for that purpose. And under the current MM structure, to do so is not so easy.
Finally, I’m not supporting this module anymore. So, sorry. not possible by me.
-
Ok @Sean understand the drawbacks of MM structure and thanks for all the work on this module.
It was just a thought if its possible. I will live with use of two modules :) -
@Sean I added support in my MyCovid19 module for multiple instances… it was different, but not hard
on all modlename.js sendSocketNotificatons, add the module identifier
on all node_helper sendSocketNotifications, send it backin modulename.js , CHECK all receiveSocketNotifcation messages to see if its intended for this instance, as the sendSocketNotification from the node_helper goes to ALL modulename.js instances at once.
then in node_helper I cached the data (as u proposed with the server instance), and for every request fordata from the modulename.js, I check to see if the data has arrived,
if not, the 1st instance to arrive calls the api to get the data, all others block in Promise
once the data arrives, all get resolved() with the data
if the data is already here, then I resolve() with the datain my production system I have 11 charts drawn, and have 2 extra browser windows open to the MM server, so 33 charts in all, served by one node_helper all sharing one data source, and only making 1 api call for the data
-
@sdetweil
I don’t want to make an argument about your success. The difficulty is always relative. :)As you’ve said, all cloned modules should manage their own ID by themselves. (not only for the one device but also for each clients if multi-devices are working under server-clients)
It could not be difficult, frankly, usual web sites/applications/components are developed like that.
But the MM… hmmm. I always consider MM would be a standalone running device. Even though there exist some server/client usecases, most of the modules are developed as standalone. Using H/W peripheral(like GPIO or mic) is an example.
Of course, we, developers can make the module clonable from the early stage of development. But I often have a question it’s worthy.For an imaginary use-case of other users, should I consider to make module clonable? Always my answer for this MM was… no.
Because;- I’m not using clones. If I need something similar, I would make a new module, which might be able to manage multi-views(like CALEXT2) or to share some resources.(AMK2 and HOTWORDS), but it makes things too complex. I hate this way.
- I feel some cul-de-sac from MM legacy. MM needs to provide more friendly way to reuse modules. At this moment, not. So that’s why I haven’t considered cloning. and why I lost interest in MM.
Anyway, to say shortly. This module is not made for that purpose. Unless modification by myself or somebody, not possible. That’s all.
-
@Sean yes, I understand. I have made a couple this way , because the use case shows multiple instances very quickly.
but many do not, if they are hardware constrained…
-
git pull and npm install says it updated packages but when I check the version in the package.json it shows 2.0.0? What am I doing wrong? Thanks
pi@raspberrypi:~ $ cd MagicMirror pi@raspberrypi:~/MagicMirror $ cd modules pi@raspberrypi:~/MagicMirror/modules $ cd MMM-News pi@raspberrypi:~/MagicMirror/modules/MMM-News $ git pull Updating 081fcb2..bff080d pi@raspberrypi:~/MagicMirror/modules/MMM-News $ npm install audited 95 packages in 3.8s found 0 vulnerabilities>\
-
Anyone having an issue of news feed working then not working…just a black screen in the mirror portion position.
-
Yes, i have this problem this week, don’t know really why.
i have not read log for debugging itNext time, if i have this problem i will see what happen
-
@Bugsounet ok thanks, let me know if I can do anything to help.
-
Anything I can do in the mean time to troubleshoot to help get this resolved. It is happening now, I looked in the dev window but didn’t see any errors. I don’t know where else to look. Attached should show the news on the bottom bar but nothing there. Thanks, Scott