SDMSDM Documentation
Advanced Mode

Nodes and Edges

Understand source, transform, and publish nodes

Nodes and Edges

Flows are built from nodes (data processing steps) connected by edges (data flow paths).

Data Format

All data flows internally in OneRoster format. Regardless of your input source (CSV, API, MS SDS), it's converted to OneRoster format for processing. The Publish node then converts to your chosen output format (ASM CSV or OneRoster CSV).

Input (any format) → [Source Node] → OneRoster → [Transforms] → OneRoster → [Publish] → Output (ASM or OneRoster CSV)

Node Types

Source Nodes

Source nodes bring data into your flow and convert it to OneRoster format.

NodeInput FormatOutput
OneRoster APIOneRoster v1.2 REST APIOneRoster data
OneRoster CSVOneRoster v1.2 CSV filesOneRoster data
MS SDS v1Microsoft SDS v1 CSVOneRoster data
MS SDS v2.1Microsoft SDS v2.1 CSVOneRoster data
GenericGenerated test dataOneRoster data

Transform Nodes

Transform nodes receive OneRoster data and output OneRoster data. They modify the data as it passes through.

NodeDescriptionInput → Output
ConsolidationMerge multiple classes into oneOneRoster → OneRoster
Manual EditsApply changeset correctionsOneRoster → OneRoster

Merge Node

Combines data from multiple sources with conflict resolution. Required when using multiple source nodes.

AspectDescription
InputMultiple OneRoster data streams
OutputSingle merged OneRoster dataset
Conflict ResolutionWhen same entity exists in multiple sources, priority determines which version wins

Publish Node

Sends data to the destination. This is where format conversion happens.

AspectDescription
InputOneRoster data
Output FormatASM CSV (6 files) or OneRoster CSV (6 files)
DestinationSFTP upload to Apple School Manager

Edges

Edges connect nodes and show data flow direction.

Edge Rules

  • One output can connect to multiple inputs
  • One input can receive from one source (except Merge)
  • Edges cannot create cycles (no loops)
  • Data flows left to right

Building a Flow

Minimum Viable Flow

[Source] → [Publish]

Transform Flow

[Source] → [Transform] → [Publish]

Multi-Source Flow

[Source 1] →
            [Merge] → [Transform] → [Publish]
[Source 2] →

On this page