Tinderbox Training Video 51- Linking With Tinderbox

Tinderbox Training Video - Linking With Tinderbox

Level Advanced;Fundamental;Intermediate;Introduction
Published Date 5/23/21
Revision Notes R3-5/24/21: Added link type analysis stamp
Type How To
Tags 4CKMEl, 4Cs of Knowledge Management and Exchange, Action Code, Link Action, Link Type, Linking, Parking Lot, Tinderbox, ZipLink, aTbRef
Video Length 01:00:51
Video URL TBX L Linking In Tinderbox Part 1 - YouTube
Example File TBX L - Linking In Tinderbox Part 1 R3.zip (1.5 MB) REMEMBER: Be sure to read the README in the TBX file for instruction on how to change the image path
Revision 1
TBX Version 8.9
Instructor Michael Becker
Acknowledgment @NDS196421, @ThatGuy, @abusch, @archurhh, @beck, @mwra

In this lesson, I cover linking within Tinderbox. This lesson covers the entire complexity gamut, from basic foundational concepts to fundaments, to intermediate actions, to advanced applications of action code.

Links are useful for,

  • Visual semantics
  • Structural semantics (data analytics and analysis)
  • Navigation
  • Moving and transforming attribute value

The process of linking helps you curate and incrementally formalize your thinking as you work with your notes.

Furthermore, I discuss why we create links, what links are, how to create links, and some important technical details pertaining to links, like direction and style. I also address how to make links dynamic through action so that you can use them as functional method for moving and transforming data, aka attribute values, throughout your Tinderbox file.

Semantics is the study of meaning, reference, or truth, and links can help us with this visually.

There is a lot to this lesson. The topics covered and when they are covered in the video are listed in the table below.

Topic Start Time
Introduction 00:00
Linking in Map View, modifying link visuals 05:47
Using the hand in map view to move link position 08:38
Linking in outline live 09:10
Introduction to Link pane, ⌘ 09:35
Linking in Timeline and other views, like chart view 12:26
Viewing into a note with Link pane, tearing off text window and editing note 14:39
Parking lot method 1: parking a link for later use 16:58
What the link numbers mean in map view 19:12
Parking lot method 2: linking inline text to other notes 20:05
Parking lot method 3: linking to other notes by name search and introduction to link types 21:01
Weblinks: creating and editing 25:02
Footnotes and endnotes 26:19
Simple citations 30:44
Ziplink method 31:48
Ziplink method - linking to a note by name 31:35
Ziplink method - creating note 34:09
Ziplink method - creating note and embedding return anchor link 34:09
Ziplink method - creating note and embedding text and return anchor link 35:55
Ziplink method - linking to another note and chaining the anchor text 34:50
Understanding link types: creating, deleting, and understanding directionality 38:16
Understanding link types: link type actions, i.e. triggering one-time action code with link types 38:16
Understanding link types: transferring and transforming attribute value from one note to another, understanding destination and source designators 38:16
Using export code to generate navigation links 51:06
Pulling it all together: manuscript management demonstration 53:55
Unlinking and updating attribute values “automatically” with action code 57:10
Linking and updating attribute values “automatically” with action code 58:27

TBXL - Linking in Tinderbox

6 Likes

Love your new video, especially the part where you are talking about passing data between linked notes! Is it possible to find all notes which are using particular link type? I could do it by adding specific value to notes’ attribute which are using particular link type and then run agent to look for this value, but maybe there is easier/faster way to do it?

A good starting place for this is aTbRef, especially the full list of action code operators. More specifically, you might want to check out linkedTo() and its opposite linkedFrom().

1 Like

Thanks! I completely forgot about these operators…

Yes, absolutely. I use the operations that @mwra refers to near the end of the demo for managing the “automatic” addition and removal of the links.

I’ve updated the sample file linked above with one method for doing this. You’ll note how I’ve created new user attributes to capture both lists and count of the three link types: Invited, Accepted, Declined. There are a ton of ways to do this, and more important to use the results, but this was the quickest from an example perspective.

You can generate some keen insight. For instance. You’ll note how only three reviewers have been invited, but there are 5 invitations. This is a signal that one or more reviewers have been invited more than once.

1 Like

Thank you! I will check it right away!

Thanks @satikusala for another excellent training video from you! There is still so much to discover in tinderbox.

In my current project (plot for a novel) I have >50 notes which are linked in a chain. I use the link type to describe a cause-effect relationship from on note to the next (note-1 -> causes-effects -> note-2).

In map view it looks wonderful.

For review I would like to export the notes as html but with the customised linke type names. Is there a way to export the link type too and get something like:

Note-A leads-to-effect-B-in Note-B leads-to-effect-C-in Note-C

Thanks in advance.

@Gernot What a great question.

I don’t believe there is. In V9 a new action code is being introduced that will enable the ability to pull details about attributes, e.g. perform a get for their default, suggested, category, type, and description details. Perhaps we could ask for a new feature that would do something similar for linkTypes.

I tried thinking about how to do this with a Stamp and I could not think of a way. I’ll ask around.

In short, No. I could see a way to do it but it is a pointless amount of work.

Action and Export code cannot read link types.

Well, they can read link types, but not in precisely this way.

Thanks all for your prompt reply.

If it faster than typing it manually again it might be worth considering it. I could then plug in the different values (names from linke types) into an attribute for later reference.

Correct, you can take actions on the link types, but as of right now you can’t store a link type as an attribute value and then use this value in other operations, like in an export template.

Hey, I just came up with an idea that may work you.

You could use user attribute and the link action method to move the Cause, EffectTo, and EffectFrom data around, e.g.:

This is the method I explain at the tail end of the link training.

Thanks Michael, your solution looks like a good workaround for projects where user generated link types need to be exported.

Just for reference:

Here is a little story I just made up the illustrate an use case ;o) …

I usually work in outline view where the next scene is equal next sibling. In that case I can use a stamp:

linkTo($Name(nextSibling),$MyString)

1 Like

Thanks for an excellent video. I have a question , when I use [[ to start a link in the note’s text , it starts to show up a list of suggestions ( note names )from the existing notes.
In my case since I have created more than one note with the same name ( as I am updating my notes from a long time ) I wish I could preview notes which are given as suggestions in the list and then select the appropriate one . Could you help me with this query please? Thanks

In short, No, as that isn’t what the quick link pop-up is designed to do. Therefore, what you want—in the manner to desire to see it would need a change to the app so by all mean email in a feature request (to tinderbox@eastgate.com) with a use case explaining what you need and why.

Meanwhile, be aware that the quicklinks’ matching note pop-up lists notes in $OutlineOrder.

Perhaps the first thing to do is de-dupe your note names. In outline view, make an agent with the query:

isDuplicateName($Name)

and the agent action to:

$MyString=$Container(original);

Next, in the Sort Inspector set ‘Sort by’ to Name and ‘and by’ to OutlineOrder.

Lastly, enable column view and add a column for ‘MyString’.

The result is something like this:

We see note ‘ant’ has 3 duplicates—and as importantly where they are, and that ‘bee’ has one duplicate. In my test above I made a new user String attribute OriginalContainer in case MyString was already being used for other purposes, e.g. in a large/mature TBX document.

Now, once you’ve worked out your duplicate to use discrete name, you can get on with making quick links without ambiguity as to the target note. Or if you want to keep the duplicate $Name you can at least easily preview the note’s $Text and figure to which duplicate you wish to link and where it lists in the list of duplicates (as by $OutlineOrder).

1 Like

This is exactly why I’ve started the convention of using prefixes, e.g. Org-, for organization, Prod-, for a product, Fig-, for figure, Qt- for quotes, etc. I make a special effort to ensure my note names are unique. I use a variety of manual and automated strategies for this. The key when using prefixes is to also use a user-generated attribute I call $Shorttitle. I run a function on every note that strips the prefix out to populate the $Shorttitle attribute with the $Name sans prefix. That way, when I publish my documents I have names and not references without the prefix. These practices are explained in my later videos.

1 Like

Prefixes are good, but they aren’t suitable for all sorts of notes. One day, you take notes on “the totalitarian press”. Three years later, other stuff has happened and you take new notes on “the totalitarian press”, not thinking about your old note at all.

I think this sort of preview might be a good thing, though it uses screen space and you might be covering up things you want to see. I’ll make a note of it.

2 Likes

Oh, don’t get me wrong. I LOVE the idea of the preview. Also, I agree prefixes are not right for every or note-taking/publishing context. I had to do a ton of thought and code development to make this strategy work for me; which was not a bad thing because it really made/makes me think and immerse myself in my data.

Every UI affordance comes at a cost, maybe there could be a pop-up.

1 Like

I too have no antipathy to such a preview suggested above and it seems code for such previews is already used in other contexts in Tinderbox.

My answer above simply addressed what’s possible today, as today’s deadline can’t wait for a possible future change.

1 Like