-
Notifications
You must be signed in to change notification settings - Fork 231
Data Format
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.
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).
{
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
{
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 */
}
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.