Kumu Blog

Tools and practices for tackling complex systems.

How to build a blueprint

It's easy to import existing data into Kumu without having to mess with spreadsheets. Our json imports (we call them "blueprints") are easy for developers to create in any language from any dataset. So let's get started!

For starters, just organize your data into elements and connections:

{
  "elements": [
    {"label": "A"},
    {"label": "B"}
  ],

  "connections": [
    {"from": "A", "to": "B"}
  ]
}

Once you've got the basics in place you can add additional attributes such as "type", "description" and "tags", along with any custom attributes you'd like as well.

{
  "elements": [
    {"label": "A", "type": "Letter", "description": "This is A", "tags": ["one", "two"]},
    {"label": "B", "type": "Letter", "Favorite Dessert": "shave ice"}
  ],

  "connections": [
    {"from": "A", "to": "B", "type": "likes"}
  ]
}

You can use "direction" to control whether connections are undirected, directed, or mutual:

{
  ...
  "connections": [
    {"from": "A", "to": "B", "direction": "mutual"}
  ]
}

If you're working with multiple elements with the same label you can assign ids to differentiate them. Just make sure to use the ids when building the connections instead of the labels.

NOTE: ids must be unique across all elements and connections

{
  "elements": [
    {"id": "e1", "label": "A"},
    {"id": "e2", "label": "A"}
  ],

  "connections": [
    {"id": "c1", "from": "e1", "to": "e2"}
  ]
}

And that's all there is to it! Just drop the blueprint onto an existing map and you'll be on your way. If you have any questions about the format just send them our way.

Subscribe for updates

Ryan Mohr

Cofounder and lead developer of Kumu / Lover of simplicity and things that seem irrational / Forever curious

  • Loading comments...