Ports are how a data product connects to the world: output ports publish data to consumers, input ports read from other products, and management ports carry operational signals. This guide covers the everyday tasks — adding ports, attaching data assets, wiring one product to another, and reading the lineage that results.

It assumes you already have a data product to work on. To create one from scratch, use The Data Product Wizard, which sets up your first output port for you.

Add an output port

An output port is a consumable interface — a set of assets delivered together, in one technology, under one contract.

  1. Open the data product and go to its Ports tab.
  2. Under Output ports, select Add output port.
  3. Name it for what it delivers — for example, Curated orders or Daily revenue API.
  4. Save.

A product must have at least one output port before it can leave Draft — without one, it has nothing to deliver.

Info

Each output port holds assets from one technology (BigQuery or Metabase, never mixed), and each asset belongs to one output port. Split different technologies — or differently governed data — into separate ports, so each keeps a consistent delivery format, contract, and access model.

Attach data assets to an output port

A port is empty until you attach the assets it publishes.

  1. On the product, open the Data assets tab, or open the port’s detail page.
  2. Select Add data assets.
  3. Choose the port to attach to, then pick one or more assets — filter by technology or search by name.
  4. Confirm.

Only assets that aren’t already published by another product appear in the list — a product can’t re-expose another product’s output (see Consume from another product below). Assets you attach to the product but not to any output port stay internal: used by the product, not shown to consumers.

Every output port must carry at least one asset before the product can reach production.

Consume from another product (input ports)

To read from another product, you consume one of its output ports through an input port. Wiring is always started by the consumer — you don’t push data onto anyone.

There are two ways in:

  • From the data you need. On the Data assets step, tick an asset that another product publishes. Dawiso offers to add that product’s whole output port as an input port on yours. The whole port is consumed, under its existing contract — to take only part of it, ask the upstream owner to split the port.
  • From the products you know. If you already know the upstream product and port, add an input port and pick them directly.

Once wired, your input port shows its upstream source, and the upstream product gains a consumed by entry pointing back at you.

Warning

Before a product can reach production, every input port must be wired to a source. An input port with no source is an unfinished connection, and Dawiso blocks the move until it is resolved.

Read the lineage

Wiring ports together builds lineage automatically. The chain runs:

source asset → output port → product → input port → the next product.

On a product’s lineage view, upstream producers sit on the left and downstream consumers on the right, connected through the ports that link them. A connection covered by a data contract is marked, so you can see which dependencies are governed and which are not. If an upstream product is retired, its consumers show an advisory badge — the link isn’t broken for you, but it is a signal to plan a migration away from that source.

Management ports

Management ports carry operational signals — monitoring, health, logging — rather than consumable data. Dawiso keeps them separate from output and input ports and tucks them behind an Operations toggle, so everyday consumers aren’t distracted by them. Add one only when you need to expose an operational interface.

For the concepts behind ports — the three directions, how contracts attach, and why lineage needs typed ports — see Data product ports.