Skip to content
This repository has been archived by the owner on Jul 24, 2019. It is now read-only.

Data Format

Gojko Adzic edited this page Jun 15, 2017 · 8 revisions

MindMup data format for mind maps is JSON, with each idea identified by a numeric ID and, in case of subideas, an ordering rank. Format version 3 is active since 1 January 2017.

version 3

aggregate root

{
formatVersion:3, /*numeric, only applicable to root idea*/
id: _aggregate idea id_, /* alphanumeric */
attr: {}, /* aggregate attributes, such as the map theme */
ideas: { _rank_: {_root idea_}, _rank2_: {_root idea 2_} ... }, /* key-value map of root nodes */ 
}

invididual ideas

{
id: _idea id_, /*alphanumeric */
title: _idea title_, /* string */
attr : {  /* key-value map of idea attributes, optional */
   style: { }, /* key-value map of style properties, optional */
   collapsed: true/false /* optional */
   attachment: { contentType: _content type_, content: _content_ },
   icon: { url: _icon url_, position: _icon position_, width: _icon width_, height: _icon height_ }
}

Key changes from version 3: object root represents just the content aggregate, not the main node of the map. ideas within the aggregate root are root nodes. (version 3 brings support for multiple roots).

version 2

{
formatVersion:2, /*numeric, only applicable to root idea*/
id: _idea id_, /* alphanumeric */
title: _idea title_, /* string */
attr : {  /* key-value map of idea attributes, optional */
   style: { }, /* key-value map of style properties, optional */
   collapsed: true/false /* optional */
   attachment: { contentType: _content type_, content: _content_ }
}
ideas: { _rank_: {_sub idea_}, _rank2_: {_sub idea 2_} ... }, /* key-value map of subideas, optional */ 
}

Key changes from version 1:

  • style is replaced with attr.style, so background is idea.attr.style.background
  • collapsed was moved from style into a top level attribute (idea.attr.collapsed)
  • attachments are supported in attr.attachment
  • formatVersion attribute is added (only for the aggregate root) and used for automatic content format upgrade

version 1

{
id: _idea id_, /* numeric */
title: _idea title_, /* string */
style: { }, /* key-value map of style properties, optional */
ideas: { _rank_: {_sub idea_}, _rank2_: {_sub idea 2_} ... }, /* key-value map of subideas, optional */ 
}

general notes

ranks are floats, and identify the order of sub-ideas for visualisations. first-level children can be positive or negative. in mapjs visualisation of a mindmap, positive subideas will be painted on the right, top-down in ascending order, negative subideas will be painted on the left, bottom-up in ascending order (so order is always ascending clockwise).

the order of fields isn't important or guaranteed. fields names are case sensitive.

Clone this wiki locally