Hacker News new | past | comments | ask | show | jobs | submit login

Really cool! Is there a way to export a data representation of your graph, like in json or something? Would there be a standard for that, like some control flow representation?



Node-red? Great visual workflow system based on MQTT, but you can also program UIs in it (node-red-dashboard), cluster process stuff with plugins, and even program this stuff on mobile (https://github.com/alexisread/noreml). It can import/export json representations of the diagrams/code.

I've found mermaid (and vue-mermaid) useful for just the workflow representation as the diagrams are compact, though the lines don't curve like in other libraries


Looks like editor.toJSON() exports the current graph.

I tried it in the dev consolve, on this page: https://rete.js.org/#/components

The exported object has properties id (string) and nodes (array). Each node is shaped like:

  {
    "id": 1,
    "data": {
      "name": "rete",
      "importance": 1
    },
    "inputs": {
      "pkg": {
        "connections": [
          {
            "node": 2,
            "output": "pkg",
            "data": {
              "pins": []
            }
          }
        ]
      }
    },
    "outputs": {
      "pkg": {
        "connections": [
          {
            "node": 3,
            "input": "pkg",
            "data": {
              "pins": [
                {
                  "x": 306.4013957327592,
                  "y": -1661.933328730452
                }
              ]
            }
          }
        ]
      }
    },
    "position": [
      -509.99078981156725,
      -241.02053426307492
    ],
    "name": "Package"
  }


Use BPM/BPMN? (Business process modelling)

Not answering you question directly, but it’s a way of doing something similar.

A whole set of enterprise tools do things like this, and I’ve worked a bit with bpm workflow engines that kind of does this in a standardized way.

> BPMN models are expressed by simple diagrams constructed from a limited set of graphical elements. For both business users and developers, they simplify understanding of business activities' flow and process. BPMN's four basic element categories are:

- Flow objects: Events, activities, gateways

- Connecting objects: Sequence flow, message flow, association

- Swim lanes: Pool, lane

- Artifacts: Data object, group, annotation

https://en.wikipedia.org/wiki/Business_Process_Model_and_Not...

You can use web tools to draw processes and, execute them on a compliant engine:

https://demo.bpmn.io/

Camunda comes to mind, as an open source alternative, but if nodejs is your thing there a a couple of BPM engines in the works, eg:

https://github.com/paed01/bpmn-engine

As with anything graphical based - if it doesn't fit the purpose exactly, it will become a pain in the end.


I remember I had to do one project at my university. I hated it. I still wonder if there is a successful product out there which I made through bpm. I doubt it.


Same here, actually... well, not uni, but as a consultant and employee. It’s “ok” if you own the whole lot, but I have yet to see a hand-over in an enterprise setting work out well, and bring speed and agility. In many ways, for an enterprise, json and web api’s is a good enough abstraction to work with the machines.

Tangential to this - Netflix made Conductor as a kind of in-house workflow engine, and uber built Cadence, if you want more codified control.

Wheels keep getting re-invented! :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: