Tinderbox Forum

Is there a document on scripting possibilities?

hi, I’m new and just evaluating Tinderbox, likely to be used aside Scrivener and custom databases. I’m a programmer by trade, so the possibilities of extending, scripting, and integrating with other apps are what intrigue me most. My question is: Is there a central documentation jump off point or intro page on all that kind of stuff? Basically, what can a programmer do with Tinderbox.


Tinderbox has a powerful internal scripting system (‘action code’), albeit not designed as a programming environment but rather for supporting real world use of the app. Over time, these have included HTML export, daybook, research data collection/analysis (primarily textual rather than mathematical), authoring books, system analysis plus there seems a healthy number people doing GTD and other todo-type tasks. Scrivener and DEVONThink seem popular in use alongside Tinderbox. Tinderbox’s map view is popular as being a powerful tool in investigating unstructured data. There seem to be a fair few programmers who are users, who may hopefully chip in here on their use of Tinderbox.

Tinderbox has powerful inheritance and supports incremental formalisation in a way that aids discovery and doesn’t force premature formalisation.

Besides internal action code, Tinderbox offers a fairly powerful export system allowing generation and export of a number of formats beside the original HTML export purpose. Besides the basic generic app support of AppleScript, Tinderbox does not have specific in-app AppleScript support.

Probably the largest single listing of data about the above is aTbRef (disclaimer: I’m the author). The website is generated entirely from a single TBX file. You can also download the TBX itself to see how that all works. If you browse through the listing of action code operators, you should get a feel for what’s possible.

Tinderbox documents are XML. You might be interested in developing your own transformations. The structure is complex but obvious.

Thanks! What I’d really like to know is if it’s possible for a separate process to interact with the tinderbox document model. Like, could I have a python process that deals with my databases and own extensions, and have it write and read from tinderbox files, and importantly, have tinderbox pick up that changes to the document model are being made so that you could work on your data from multiple processes?


FWIW, Tinderbox’s XML format is documented here (such as is known). Although you can read from write to a TBX file’s XML as with any other XML, I’m not sure the app is designed for an assumption an external app may be altering a live (i.e. open in Tinderbox) TBX file.

I’d suggest emailing support (info@eastgate.com) if considering such deep level integration.