Tinderbox Forum

From Map to prose in another application

This has probably been dealt with before, but it is not as easy to search for ideas as it is to search for words, and I haven’t yet found what I am looking for.

How does one take a Map of one’s notes and convert that into linear prose in another application? Particularly when the Map does not reflect the order in the Outline.

Obviously one can cut and paste from individual notes, which is a bit tedious, but would work. Or I suppose one could somehow add numbers to notes in the Map, which would give an order so that the Outline could be rearranged and exported whole.

Any bright ideas? How do other people do this?

Cheers, Martin.

It begs the question: how do you know the order in which the notes are to be ‘printed’. How are you exporting the data to [other app]? Are you exporting titles, titles and text, other attributes?

Without knowing how you are exporting, I’d suggest that the normal sort order on export will likely be outline order ($OutlineOrder). The easiest way to see that for your map is to open the map in a new tab and switch that to outline view. You can safely drag re-order the items. In Map view, outline order is manifested as the z-order (stacking order) - so is unseen unless notes overlap.

Sidenote: adornments are not exported (or seen in outline view).

Mark, thanks as always for your kind reply.

Let me try and explain my problem a little better.

I have recently been playing with Map view and have come up with an arrangement of notes that gives me an idea of how I want my final text to flow. (I’m working on the Title of each note, none of which has any text.) The notes are scattered, with links between them, and I can see the structure in my mind’s eye. But this arrangement bears no relation to the order of the Outline. Thinking about it, however, I suppose I could simply manually add a number to the title of each note, and use that to sort the outline. It would be a little cumbersome, but the only other alternative I had thought of was cutting and pasting each note individually into something like Scrivener.

I just wondered if anyone else had encountered this problem (Map and Outline are completely different because the Map has been used to organise things) and come up with a better idea than cut and paste.


But, changing the outline order has no effect on the map, unless notes overlap (and then only if the z-order of the overlap matters).

I you don’t believe me, and don’t want to risk your real map, make a copy of the doc and try in that. I think you’ll be pleasantly surprised. I suggest this as if you can just use outline order, it saves you the hassle of adding an attribute to hold an order number.

Also, bear on mind that the linear order only supports one path through your linked notes. Depending on the complexity of your map, if there are multiple ways through/acrss the map , the order you see might not be what a fresh pair of eyes sees.

Anyway, try using outline order in outline view to organise as per your imagined order in the map.

Hi Mark,

I’m not concerned about disturbing the arrangement of the notes in the Map. I would just like to avoid flipping back and forth between the Map and the Outline view. (Can you see both together? I didn’t think so, but I’m ready to be told I’m wrong.) When you get to my age, sadly short-term memory is reducing, so I can’t hold information about a large number of notes for long. I would have to change view after every couple of notes. That is why I was thinking of adding a number to the Title of each note. I suspect that would be quicker for me.


You can’t show two views in a single window, but you could have two window. If necessary, the second could show only the view pane. Failing that you can switch the view type of the current tab - the map will be remembered.

If you store a number manually, if you change one note’s position you’d still need to manually change all the others. Dragging in outline order is easier, but I quite understand the points you made.

Ah, OK – two windows would probably work.

I take your point about manually adding numbers. I’ve just been trying it and stumbled over exactly that problem.

Two windows it is, I think!

Many thanks, Martin.

1 Like

If the notes in the map have consistent and well-defined layout properties, you can use those to define an ordering in the outline. The simplest solution would be to just set the sorting in the map container to first sort by $Ypos, then by $Xpos. This makes any note on the map that is above another note appear above the note in the outline (and notes on the same level are ordered in the outline left to right). Here’s a quick demo:

1 Like

That’s a very clever idea – I would never have thought of it. I will give it a try.

BTW, the video clip doesn’t seem to show anything.

Huh, weird, the video is linked correctly, but the preview isn’t rendering correctly.

Here’s the address: https://drive.google.com/open?id=1-SMyIyTU9i5s56K6rdAW5_98ClE4TiaU

Many thanks for taking the trouble to make the clip and link it. It is a very clear demonstration. I think this is a very useful technique that ought to be better known – though perhaps there are not that many people who want to work this way. For me, it suddenly makes Tinderbox much more useful than it was (I continue to struggle to find a way of fitting Tinderbox into what I do.) So many thanks.


Yeah it takes a while, but once you gain some familiarity with how all the bits and pieces of Tinderbox fit together, you can make it do some incredible things.

This is very cool, I’ve wanted to do something similar for a long time but hadn’t worked out the simplicity of Ypos and Xpos sorting.

I’m jealous of how fast your example sorts! I set up the same tiny example document and it takes 10-20 seconds for the sort to happen :frowning:

(Is there some configuration I’m not aware of that would give me the near-instant sorting like @galen’s example?)

Also interesting: with “update agents automatically” unchecked, re-sorting doesn’t take place, but “update agents now” also doesn’t trigger a sort. Anyone else seeing that?

@galen As a result of your post, I’ve had one of those lightbulb moments that should have occurred years ago, but hasn’t. I’ve just realised that what sets Tinderbox apart from just about every other program I’ve ever used is that you can manipulate almost anything in your database at any moment according to what happens to be important at that time. You don’t just fill it up and let it sit there. It’s (potentially) a lot more dynamic and responsive to input than other note repositories. I don’t know why this seems surprising, because in a way I’ve known about this, but it has only just made its way to the front of my mind as a fully-formed idea. It makes quite a change to how I see Tinderbox and its capabilities. Thank you. You may have given me an idea of how I might use the program – though I confess I’m not quite ready to bet on it, because I’ve failed with Tinderbox every time I’ve tried in the past!


I’m seeing this as well. It seems that sorting doesn’t line up with Edict, Rule, or Agent update times.

Sorting is on its own schedule, and that schedule is tricky. Examples welcome to bernstein@eastgate.com

It’s fairly simple to come up with an example that doesn’t sort for quite a long time. (One note with five children will do it.) If I want a note to sort right away I usually pull up the sort tab of the action inspector and click and unclick “reverse”. But that’s obviously a hack. It would definitely be nice for containers to sort predictably, but I can see why you wouldn’t want them to do this on either the rule schedule (wastefully frequent in most cases, I would guess) or the edict schedule (too infrequent, and wouldn’t be triggered by user interaction because sort order depends on changes in the children of the note, not in the note itself.). But what about on the agent schedule?

BTW, I looked into setting up an agent to do sorting, but I’m not sure it’s possible. Is there any way for action code to affect $OutlineOrder or $SiblingOrder?

Don’t use agents to sort other containers. Of course, agents themselves sort their children.

Yeah I was trying to hack it with action code, but couldn’t find a way for action code to affect notes’ positions in outlines (unlike in maps, where action code can move notes around with ease).