The SDON Cookbook

1/17 Page

This guide will walk you through everything you will want to know about SDON, its building blocks, and how to write SDON to generate diagrams like flowcharts, org charts, decision trees, and more from data.

What is SDON?

SDON (SmartDraw Object Notation) is a markup language based on JSON that can describe a diagram to be rendered by SmartDraw.

This simple SDON markup is rendered by SmartDraw as an org chart:

{
    "Shape": {
        "ShapeConnector": ["ShapeConnectorType": "Hiearchy", {
            "Shapes": [{}, {}]
        }]
    }
}
SDON org chart

Just a few lines of code create a perfectly formatted hierarchy of three shapes.

What's Unique About SDON

What makes SDON so easy is that you can take advantage of SmartDraw's powerful drawing automation. To create a diagram using SDON, you don't have to use a coordinate system to describe the explicit placement of shapes, instead you can leverage SmartDraw's intelligent rule-based formatting engine to simplify the format and reduce the work. SDON makes it easy to create a third-party tool or template that can quickly turn data into diagrams, automatically.

The following analogy is helpful in understanding the innovation that SDON represents.

We are all used to software that can take a set of XY data and plot a graph. Let's take for example a line graph made in Excel. To make the graph, you simply select two columns of data and request that Excel render a line graph. You don't specify the coordinates of each point on the line. You don't individually calculate the line between each point, or draw the axes separately, or define the pixels for numbers and text labels, and so forth. It would be no small feat to draw just a simple line graph if you had to calculate everything individually. Yet, about fifty years ago, that's exactly what you would have had to do to generate a graph on a computer using code. Today, we are completely used to the idea that to draw a graph, all we need to do is specify the type of graph we want and the data to plot and the software will draw it automatically. But this have never been the case for diagrams until SDON.

Temperature graph

In the very first SDON example we shared above, we specified that we wanted three shapes arranged in a hierarchy. The SmartDraw formatting engine did the rest.

SDON is both flexible and powerful, while still being simple enough to make it easy to generate a diagram. A SmartDraw API is available in Java and C# that make generating SDON even easier. SDON makes it not only possible to generate diagrams that represent hierarchical and relational data, but easy.

Types of Diagrams You Can Generate with SDON

Now lets look at the equivalent of the "graph types" that SDON offers for automatically generating diagrams.

1/17 Page