This version is out of date, covering development from v5.0.0 to v5.12.2. It is maintained here only for inbound reference links from elsewhere.

Jump to the current version of aTbRef.

Tinderbox Icon

Exploding Notes

You can convert a large text note into several smaller text notes by specifying where Tinderbox should make the divisions. There are options for where splits should occur and what text should be used to title the resulting notes.

This process can be used to help with the import of data as well as for existing notes. For imports, drag, a plain text format file into an Outline or Map view, so as to create a new note. Now with that, or with a large existing note selected, choose Explode… from the Note menu. This presents the Explode dialog.

Next, decide whether to create each new note after a certain number of characters or after a delimiter such as a period, then click the radio button next to your choice. The choices are:

The Explode button starts the Explode process using the choices set above. Focus remains on the exploded note.

The newly created notes contain an appropriate segment of the original note. There will (should!) be no empty notes, such as those that might arise where two hard line returns are used as faux paragraph breaks, as these unwanted outputs are automatically deleted as part of the Explode process. From v5.0.1, empty notes will not be emitted for sequences of multiple paragraph breaks, i.e. sequences of greater than two breaks.

The Title settings give control of what part of each newly split note is used to form the note's title, doing so by a measure of sentence or paragraph. A 'sentence' is delimited by a terminating period, exclamation mark or question mark. A 'paragraph' is delimited by a line break.

When Explode constructs a note title, the title may now extend up to 512 characters, and will include either the first line or the first sentence of the target note - whichever is the best fit. If still over 512 characters the title is truncated at that point with an ellipsis. In some earlier versions pre-v5, truncation occurred at about 64 characters.

What results from an Explode?

The exploded (source) note itself remains unchanged and a new child container of the selected note is created, called 'Exploded Text', and which contains the resulting new notes (i.e. the individual exploded notes are grandchildren of the source note). Each note contains as its text a section of the original text with the notes being titled according to the choices made before exploding. Using a secondary container for the notes might seem odd until you realise this allows for the fact - more so for exploding existing notes than for new import - that the note being exploded might already have children; thus the new notes are separated from existing children of the exploded note.

Also notice that the 'Exploded Text' container is added to the outline order after any pre-existing child notes for the exploded note, i.e. is is the last child (and thus easily accessible via the lastChild designator, amongst others).

The 'Exploded Text' container inherits all of the source note's attributes except $Rule and $OnAdd. Prior to v5, the 'Exploded Text' received the source's $Rule and $OnAdd but this proved not to scale well with more complex tasks like running command lines on the exploded notes. However, accessing the source note's actions is still possible, for instance this $Rule in an exploded note:

$OnAdd=$OnAdd(../..); 

Of course, the constant name of the container holding the new notes ('Exploded Text') makes it easy for agents to fine and work on the new notes' actions. Be aware that unless the 'Exploded Text' is cleaned up or renamed after an explode, there may be more than one container of that name. A benison of this is that it is possible to write a generic agent to act on the contents of all explode results using an $AgentQuery:

$Name(parent)=="Exploded Text" 

By adding a preceding descendedFrom() query argument to the above query, the scope of action can be reduced to items descended from a given container.

descendedFrom(To Do) & ($Name(parent)=="Exploded Text") 

This might be done because of the nature of the resulting agent action to be applied or simply to reduce agent update cycle time.

In summary:

Getting text-less exploded notes (pre v5.10.1)

In some cases it may be desired to create a set of notes where the only data from the source note is a title, i.e. the new notes have not $Text. From v5.10.1 there is an option to create $Text-less new notes. Prior to this, the same can easily be achieved via an agent using these settings:

Query: inside(Exploded Text)

Action: $Text=;

Be aware that the query acts on the children of all instances of 'Exploded Text' containers. If you explode regularly but only sometimes want a text-less result, use a full or partial path to 'Exploded Text', e.g. 'Class Listings/Exploded Text' or '/Project Gamma/WK-16/Timeline/Exploded Text'.


Possible relevant notes (via "Similar Notes" feature):


A Tinderbox Reference File : Import/Export/Formatting : Exploding Notes