On my readme page you can find an explanation, and an animated gif that shows the drag-and-drop editor in action!
It can be installed directly from my github account (since it is not published on NPM yet):
Would be great to get 'constructive' feedback about lots of stuff:
Is the documentation clear, especially for users that are not very experienced with programming.
I have created a number of custom blocks, to provide access to the Node-Red function node API. Did I forget to implement some available Node-Red functionality?
Would appreciate if somebody could do some testing. I have already spend so much time on this contribution, that I wake up in the middle of night, screaming and being hunted by millions of Blockly blocks ...
Issues can be registered here, or in my Github repository.
When closing the node's config screen ('Done' button) a TypeError occurs in the browser console:
This is not blocking but inconvenient... Does anybody know if this is Node-Red coding, or Blockly coding. Not clear to me at the moment how to solve this.
There is a language dropdown, but currently only English is supported yet in my node!
This code works fine! However the timer should also be cleared automatically (I assume or not ???) when a new input message arrives or at a deploy or ... Does anybody has some thoughts about how to handle this? Was thinking about appending all the timers to an array, and cleaning automatically all the timers in the array. All help is appreciated!
A custom block has been added to get some information about the node (i.e. node.id and node.name). However that will only work from Node-Red version 0.19 and above. Should I get somehow the Node-Red version and hide those options if not available yet?
Hmm, think you are right... Interesting thoughts. Perhaps I can do the following:
Show your basic animated gif on the readme file, as an introduction (since the node is aimed at users less experienced with programming). The current animation was added to show how I tried to integrate Blockly completely into Node-Red, by adding my own blocks...
Add to the readme file a series of links to advanced examples, which directs you to other pages where I can show more advanced examples to do specific stuff
Your proposal of using "msg" instead of "input message" is indeed something I have been considering myself in the last weeks... But since the other nodes also use a more textual description, I had chosen the full text. What do other people prefer ???
Thanks for the compliment! Since you had shared the qnap-blockly link with me, I was 'very' fascinated by the Blockly technology. Thought it could be a great help for many starters in Node-Red. Shame on you ! You have wasted almost all of my free evenings last weeks, developing this node
First wanted to start from the qnap-blockly node, but it works entirely differently. From the node's config screen, it directs you to the Google's Blockly demo application (running locally):
In that demo application you can draw your blocks, and generate the result in different programming languages. I also don't think there haven't been developed any custom blocks to talk to the Node-Red API.
Since my concept was entirely differently (i.e. integrating Blockly entirely inside Node-Red), I started a new contribution from scratch instead of contributing to the qnap-blockly node ...
No problem! Glad to waste your evenings Had that done to me so I know what it is like. Unfortunately, currently most of my evenings are spent crashed out due to heavy daytime workload.
In fact, I'm always happy to see people promoting visual programming interfaces of any type and I've always thought that Node-RED and Blockly complement each other nicely. I've also been having a quick play with Microsoft's visual programming interface for the BBC Micro:Bit recently after my daughter cleared hers out of her room, similar to Blockly. I think all of them are based around the original MIT Scratch that I know @cymplecy is very into.
I saw that the existing node was starting another server but didn't know how it was working. Your version seems a much better interface anyway & a better fit for NR.
Now, if you could just do something similar with JSONata, that would be nice for people.
Julian, I have no time for extra contributions at the moment, but you (again) made me curious. Is there already a visual editor available for Jsonata, that could be integrated in Node-Red (don't assume you mean try.jsonata.org). Or are you talking about a Blockly based solution, based on a new series of custom blocks dedicated to JSonata? Or others ? Perhaps you could open a new discussion and explain there what you like to achieve! Perhaps I have time to implement something in 2035 or later
But JSONata is complex for beginners and would certainly benefit from something. A Blockly style visual tool for manipulating JSON data would be fantastic. But well beyond my skills to come up with something like that. Still, we can always hope that some great brain will chip in. Maybe Dave can circulate the idea with IBM colleagues to see if any of their brains can think of something.
This contribution is messing up my entire schedule... Have been solving meanwhile a large series of issues. A new test version is now available on Github, for those who want to experiment with it.
The biggest change in the user interface, are the changes I made on Mark Friedman's blocks to get/set an object property (see 'JSON' category in the toolbox). For example:
In the original block a fixed property name (e.g. 'payload') had to be specified. On the new version of this block the propertyname is specified via another block. This allows the users to change the property name dynamically by composing the property name in all kind of other blocks.
I have not updated the readme file yet with new example movies, since those UI changes made my existing movies obsolete. I will add the extra example movies in the next weeks, as soon as the UI is stable.
All 'constructive' feedback is still welcome ...