Skip to content

Datasets

A Dataset is a table of records you author, so a flow can be run against known values. It belongs to the Test centre. Its job is to let you see what a flow does before anything real depends on the answer.

A Dataset is not a register, and the difference matters

Section titled “A Dataset is not a register, and the difference matters”

They sit near each other and people reach for the wrong one.

A register is your organisation’s actual list: your suppliers, your vehicles, your sites. It is maintained by whoever is responsible for it, read by live cases and live runs, and its rows can be corrected and destroyed because they are real records about real things.

A Dataset is a fixture. It exists so a flow can be exercised, and it holds whatever values make the test interesting, including the awkward ones you hope never to see.

If you are about to put your genuine supplier list into a Dataset, you want a register.

Fixed, which is rows you author. Useful when the cases that matter are specific: the application that should be declined, the one on the boundary, the one with a field missing.

Generated, which is rows produced from a seed and a set of rules, one rule per field. The generation is deterministic: the same seed and the same rules produce the same rows every time. So a generated Dataset is reproducible rather than merely random, and a run that failed can be run again against exactly the rows that failed it.

Fields with no rule are filled automatically from their type.

A Dataset starts as Test centre only. A flow cannot read it until somebody turns that on, deliberately, per Dataset.

There is a second switch beside it that says whether the rows are demonstration data rather than a real record. When it is on, every screen showing a value from that Dataset shows a synthetic badge: a node’s configuration panel, a resolved value on a case, anywhere the value surfaces.

The badge comes from the declaration, not from a guess about the data. That is the point of it. A demonstration that looks exactly like production is the thing that gets believed, and this is how the product refuses to let that happen quietly.

Both switches start off. A Dataset that nobody has opted in is a Test centre fixture and nothing else.

There is a node for it, and it can either add rows or replace them outright.

When a flow writes, the Dataset records which flow and which run did it, and when. So a set of rows that arrived from somewhere is attributable rather than mysterious, and the editor shows you that note rather than making you work it out.

This is how a Dataset gets refreshed from something real without becoming the place that thing lives.

Use a Dataset to try a flow, to compare two versions of one, and to keep the awkward cases somewhere they will be run again.

Use a register for a list your organisation maintains and your live work depends on.

Use a Connection when the values should come from a system that already holds them, rather than from a copy.