I'm considering use of NR as a graphical programming component inside a larger project, to allow end users to more easily maintain some of their own logic/code/rules.
However, we would need to support versioned flows, where all prior versions were still deployed and accessible. Access to run a versioned flow would be through an http REST/JSON post, with the version of the flow that should be executed included in the payload. We need to be able invoke prior versions against historical data. This would also facilitate testing, since the we could run a new version and compare results against a run of an old version. I could see this also being useful if you were supporting a larger network of IOT devices, where some older ones needed a prior version of a flow.
Ideally, the versioned flows would be stored in a database (ie. MongoDB), and would load at NR startup.
Trying to avoid having to determine and run the version to run manually in a parent flow. We would like to save a new version of a flow to the database, tell the NR server to reload and have all versions in the dbms be loaded dynamically.
I suppose we could dynamically generate a parent "version selector" flow from the database information, building the parent JSON using a code generator.
This node: node-red-contrib-flowman looks like it might help to accomplish a lot of what we're looking for. Can anyone confirm if it works with the latest 1.0 NR version?
Has anyone tried to do something like this? Any existing nodes that might help accomplish this both from a versioning and dbms storage of flow json definitions perspectives?