Exports and Imports - x28de/mytool GitHub Wiki
Design decisions
What to import
For both iMapping and DenkWerkZeug, we offer a selection tree. We
- import selected subtrees,
- import relations to/from unselected nodes in yellow
- and include their expandable tree "ancestry" in pale color (see expandable relations below).
From DWZ, we import relations to/from unselected nodes only if they are not of the expandable variety.
Hierarchies and expandable relationships
For both think tools, we had to decide how to map the hierarchies because they are not the focus of MyTool
For DenkWerkZeug, we consider a relationship as expandable if it is derived
- by sub/superType or inverse,
- from hasDetail, or from hasTagMember or hasTerm.
For exporting, we do not consider any relationships as expandable, all are mapped to "is related".
For importing from iMapping, we have to "fuse" some items with their headings into a single MyTool node's detail and label. This is done if
- it is a single child,
- and its parent's text is not very long, and
- it is not a parent itself; and
- its own detail is not very short.
Conversely on exporting, we split a node if
- its detail is not very short
- and not identical to label
Layout
- The current layout option is "like IKEA assembly Box", i.e., the user needs to assembe their node network from a squeezed collection.
- Maybe we will include another option "like planarity", i.e., in a single circle.
- We do NOT plan radial trees autolayout. The self-assembly is somehow useful for the thinking process, and furthermore it is mitigated because assistance is available through the "centrality heatmap" feature (tools menu).
Export Implementation
For both tools, we read "stub" files that are included in the Jar executable. For XML, we write new things into a "delta" xml tree, and finally "merge" it with the stub. For iMapping, the new items are put into the INBOX. For DWZ, we leverage the KGIF import format (albeit very sloppily).
Selection of formats
iMapping an DenkWerkZeug were top priorities for import because I may use them myself as the big long-term storage "cupboard" while my own tool is more like the "table" where things are put for a temporary large overview. (I hope they will one day offer my favorite map view as an alternate option...) I export to them because they currently don't allow me the input of simple text snippets like my tool does.
I export to the Wordpress WXP format because this is my current long-term "cupboard". I import from Evernote because this is almost as important as MS OneNote but the latter is difficult to tap.
As export in the wider sense, we offer the
- interactive html (a half frozen snapshot) and the
- printable html (totally frozen but zoomable).
As import in the wider sense, a large variety of listable things is supported via paste or drop, ranging from
- simple input lines,
- to CSV,
- to filelists whose files are
- either directly loaded (.txt or .htm)
- or clickable,
- to html snippets,
- to complete map clusters dragged and dropped from other MyTool windows.
Example imports/ exports
This iMapping iMap
and this DenkWerkZeug map
were imported. The selection tree offered this choice
and this,
respectively. The resulting MyTool maps were this
and this.
After reexporting, the maps were, of course not immediately pretty again: This
and this.