Tinderbox Forum

Finding notes that are identified by numbers on a chart

I have never progressed beyond beginner over many years of using TBX. I have a hard time understanding what others are asking, so I am sorry if this is a common topic. If so, I hope you will be able to direct me to the correct place to find out what I need to know. I have never been able to use agents or prototypes in a way that effective for my needs. I am guessing that I need to use them in some way.
My question has to do with finding notes that are labeled by numbers on a chart. (see photo) The numbers are qualitative, not to be used mathematically. Every note is identified by the the the numbers on the chart that I am attaching. 5 Gymnospermae and 6 Angiospermae are subcategories of Classes/series. I want to be able to bring up a note based on knowing one or several numbers on this chart. Plus, each note will have several names. Is there an easy way to set up this identification system before I enter the data. I want to take notes, but I do not want to have a cumbersome method of looking for my notes. Ideally, I would enter each number in the predefined box so that note would contain the numbers to later be used when I want to find notes. Also, I want to be able to compare my notes.
I know that everything can be done in many different ways. Could you help me to identify the easiest way to set up this system? Easy to set up, but also easy to use once it is set up.

You are probably asking what is easy? I am visual, so if there are visual instructions to learn what I need to do, that would help. That is screenshots not just verbal instructions are important. Also, I do not know all the TBX technical terms, so wading through that is always a barrier.

Using the example picture above can you show which number(s) we need to find a note. For instance, to identify the note representing row 19, column 7 (the box labelled, ‘18’ bottom right) what info do you meed?

Why not just give sequential numbers to all the items above - then they all have a unique identifier?

Column 3 does not really make sense. Are the ‘5. Gymnospermae’ essentially Class 5.1 through 5.5?

Are these numbers needed for reasons other than finding notes? In other words, if there is a better way to find the notes, is the above grid still needed?

This is the existing system for categorizing medicines from herbs. The different groups are named kingdoms, families, series, phases, subphases. So I could use a system such as 1ki, 2ki or 1fa, 2fa etc to make each unique name, but not to create a burden on my memory since I need to remember each according to the group they belong to.

Column 3 has sub-groups within it. So, I am thinking how would I indicate that.

When I make a note, if I could just check off the above categories that are relevant, that would be useful. Especially if they could be checked off on a chart like the one I am sending you. I suppose a note for each number that acts as a tag. Then, when I am looking for some combination, I again I would check off the tags to be searched.

If I’ve understood correctly, and I’m not sure I have, I would create Key Attributes for each of the headers in your columns (it looks like a Numbers spreadsheet). You could then use the attributes browser to filter and order things a little like you would in a spreadsheet. User attributes are a very useful way of working with Tinderbox, in my experience.

Do you mean the one in your original post or one yet to be posted?

Hi MarkA,

I mean the Numbers spreadsheet that I sent you. Maybe MartinB has told me what I am trying to find out. I have never been successful with this sort of thing, so I am not eager to try poking around and seeing what will work. Key Attributes would be an easy way to enter these “tags” and when I am using them, I would have easy access to them. I want my reference page to stay organized like a spreadsheet not as a long list.

Does the Attributes Browser show things as you want them?


Edit: by coincidence, someone has just posted a link to this discussion, which might be useful: http://forum.eastgate.com/t/how-to-use-the-attribute-browser/394

Could you clarify what you mean by “reference page”. Outline+column view is not a spreadsheet. A map view can lay out notes in a grid, but to do it in a controlled way you need some metadata from which to keep the grid (re-organised). Plus, a map, unless using aliases inside an agent, needs all notes to be in the same container (i.e. ‘on’ the same map). Does that scale to the number of notes in your grid. As I can attest, starting down a design route that doesn’t scale is an unhappy experience. It’s not that Tinderbox is inflexible, unlike may apps; the tearing down of poorly-planned structure and re-inserting new structure is possible. It’s just a mistake better avoided in the first place.

So, ‘2ki’ implies—to me—being #2 in the first register, #11 in the second and #9 in the third. If we know this, I’d suggest is first to built this structure as a outline. Thus, based on your screen-shot, make 4 ‘kingdom’ notes, then within these place the requisite number of per-Phylum notes, and so on down. This can be made easier but making a prototype for each level of the outline that in its $OnAdd set the appropriate prototype for its children and also reads the ‘ancestral’ structural data such that a per-species note holds the correct Kingdom/Phylum/Class/etc data. Or so my now my rusty 40-year+ Botany degree tells me :open_mouth:

Yes, this is like a Botany project.
So, I need one container for the whole outline form of the spreadsheet. Parents are headers of columns and rows. Child notes are inside them. Duplicates would end up being in either the row or column notes but maybe there is some way to put in alias notes so my outline does not become too many megabytes.

Through setting up the attribute panel, each item in the spreadsheet becomes a way to find an note that is in a container outside the the above outlined spreadsheet. I have no idea how that works, but I assume that is what happens. This would be a fairly repetative process, I am guessing so maybe I can just make one attribute set up and then reuse it after I have checked that it works. I don’t exactly understand how to set up the attributes, but assuming that it is understandable, my next question is, how would I expect to search for notes that have the attributes that I am looking for? Say I want all of the column labeled families (fa1, fa2, fa3…) Or I want fa1 where it intersects with ser2. How would I expect to add in the variables that I am searching for? I am trying to figure out how messy this would be. How many steps it would involve? I am hoping that I would be able to see the notes that are relevant and then could choose x, y and z note from them after looking into their contents. Then, I could do something useful with my search results. Is this a reasonable expectation? Would I make a separate note for any given query? Probably, I would put my sandbox in another container so that the database of the spreadsheet contents are no mixed up.

Try this, as a basic structure:

Each classification level presents the next level’s prototype which customises the view. For instance there is the $OnAdd for ‘pOrder’ the prototype for order-level notes:


Which configures an Order-level note like this:

To find all species- level entries in the Aster family, you would then use a query like:

$Family=="Asteraceae" & $Prototype=="pSpecies"

The nice thing about this is you are leveraging the natural order of Linnean classification.

Here is the above document, made using v8.6.2: Herbal-medicines.tbx (146.5 KB)

This only does what is here and is suggested as a starting point for data entry before adding all the other parts of the project. The per-level badges ($Badge) aren’t needed, I just used them here to help you see which notes using which prototype. As the badge is set in the prototype, just edit the prototype(s) to remove unwanted badges.

Gosh you were a biology major. Yes, I see how I would make a Query. Thank you. This is weird, but this botanical system is fitted on to a periodic table. Anyway, the idea is the same.
It looks like you would arrange the data as well arranged notes.

Below is a photo of the vague idea of the kind of system that I am imagining.

I am sorry that I am hesitant to start doing anything. This time, I am cautious about making a plan that is not easy to carry out. I don’t want to spend a lot of time arranging notes. In fact, as I get the notes, I just want them to be linked to well arranged prototypes. Through the prototypes, I hope to be able to find the poorly arranged notes. Everything interlinks, so notes are difficult to sort. Furthermore, Prototype Categories relate to other prototype categories. In other words, there is more information than I have explained that more or less fits on the same periodic table, genealogies, etc type ornaments. So, I guess whenever I have one of those markers, I add in the prototype like a tag? Could I have several prototypes attached to a single data note? They are like the lines that you draw between notes, only doing the linking with prototypes, right? There are multiple systems somewhat like the periodic table. I could set those up as well so that all the data notes could “link” to these other systems right? I am asking if that kind of “confusion” at the data entry end of the work is possible. If the prototype systems are easy to understand then data can be entered in a messy way I would end up with a long list of prototypes. It might be confusing to look for the one that I want. But, if I can locate them in a map-like adornment inside separate prototype notes, they would not be so hard to find. That is what I am hoping.

Looking at my photo above, if I want to say this medicine in the messy database is related to Astaeraceae and at the same time, it cures xx category of disease. Within the note, each of those links would be made with a child note? I am unclear.

Before we introduce new confusion it is more helpful to refer to the organisation of plants and animals as Taxonomy whereas the Periodic Table applies chemical elements and is set out a a different way. Bar some oddities plants/animals/fungi live in a hierarchical taxonomy, as sketched out in my TBX above.

You don’t have to use an outline like I showed but it does make it easy to make sure the per-species note has all that ‘spreadsheet’-like information embedded.

Your diagram confuses me. Prototypes, specifically, prototype notes should ideally live in /Prototypes. If that doesn’t exist in you TBX, then add any built-in prototype and the container will be created. You can delete the added prototype if desired but keep the container. This is where your prototype notes should live. I’d also avoid nesting prototypes as that can lead to unexpected results (i.e don’t try it until you are more familiar with the basics).

There is always a reason for procrastination, but rarely a good one. Your plan rests on the process you make for your TBX. You may use the same tools in the app as others, but it will be to your purpose. Even if you hired someone to make the TBX, you’d still need to explain your ideas to them.

Perhaps stop trying to build (guess?) the final structure as that’s the biggest of tasks. Instead, do deliberate experiments, ideally in their own TBXs so one experiment doesn’t interfere unexpectedly with another. So, confused about prototype? Try following through this in a document of you own. By the end you should feel more comfortable with prototypes and inheritance. as importantly, you should feel more comfortable at spotting where the latter goes wrong and how to fix it.

In your map above you seem to be planning a prototype called “Angeosperms”? Why, when the point of a prototype is to be a single reference to things of the same type. Angiosperms are type of Phylum, i.e. the prototype ‘object’ here is a prototype that represents phyla. That representation might be nothing more than a badge or a colour, or might imply a special set of KAs, reflecting the needs of _your _ project.

No! That’s not how (Tinderbox) prototypes work. I even more strongly recommend the above article above on Inheritance. It will help you to understand how prototypes are used. Try it out and ask if you get stuck.

For that you need to use prototypes correctly. When you do that, it is easy to find, think back to my example query above:

$Family=="Asteraceae" & $Prototype=="pSpecies"

The ordering if the terms if for efficiency (the first terms searches the document, with an & the second searches only those matching the first, etc.). Were we to use just


now we are asking for all notes in the document using the ‘pSpecies’ prototype. Thus, notes whose $Prototype has the value pSpecies. Read on how to set a prototype.

No. A clear way to say this, using ‘prototype’ in the Tinderbox sense—as opposed to the wider linguistic meaning, is that notes using the category A prototype relate to notes using the category B prototype. In other words is is the notes that relate. The prototypes are implicitly connected or related (I deliberately avoid the word ‘linked’) via the linkages of the notes using those prototypes.

No, when you’ve read up on inheritance, you’ll see that you would to set a prototype for that note. A note can only have a single prototype (at a time): that relationship is stored as the note’s $Prototype value. so this is not like tagging at all, except in the most tangential sense.

I think you’ll confuse yourself with that approach. Before someone chips is, Yes, prototype assignments are actually stored under the hood as a type of link—by default not visible. Why? Because prototype are a form of abstraction. If Note A and Nota B have the same $Prototype value they can be searched for. In a visual context we might have a prototype for ‘green things’ that when set makes thins green. WE probably don’t need a further explicit link of type ‘green’ between all notes that are green. A further benison is that a map is less messy as via colour (in this instance) we’ve saved lots of messy link lines; the green things are clearly different in some manner from the blue things.

Again, you’re worrying about a system you don’t yet understand. This will be clearer when you take the time to look at prototypes properly. Not every strand of data will be a prototype, but likely a user attribute that you will need to create (as you know your data, we don’t). I sense you’ve taken the taxonomy example too literally. I only made it do de-obfuscate your outline masquerading as a spreadsheet at the top of the thread. The spreadsheet there is link Finder in column view. The file structure is an outline but each column shows the content of a single parent container, i.e. not the whole outline.

If I understand your ‘messy’ entry, I think you are trying to say you don’t exactly know what something is when you add it. That’s fine, you can add that data later. Part of your role as the document author is to look for an formalise those strands of date both for known things (i.e. before you start). The TBX is posted above is for a scenario where you know structure: a species is part of a genus. By comparison another note might be a think you need to note but you don’t yet know what it is or to what is relates. Both can co-exist. Indeed, a species note (demo above) once made, can now move elsewhere as its erstwhile parent ensured is it populated with full taxonomic data that can then be queried etc.

It depends how fond you are of using only map view. Links can only be seen in map view and then only if all notes are on the same map (otherwise you get a link stuff to/from off-map notes). I would say the medicine links from the Asteraceae plant family (link type ‘used in’) and links to disease ‘xx’ (link type ‘cures’). If you move the notes off the same map you can still query via link type.

In summary, to get the best out of ‘messy entry’ (aka incremental formalisation), learn Tinderbox’s toolbox.

Thank you, Mark A.
I will keep referring to your instructions while I make a test case and while I read the instructions. Really that is a bad plan. It is too busy for my weak brain. Usually instructions are as clear as mud for me because the language is unfamiliar. I will make a test of the instructions and then try to apply it to my plan or ask you about it. But, I will make small examples and show them to you if they don’t work the way I want them to work. When I make a working example, even the vocabulary gets clearer. At least you have pointed out the mistakes in my understanding, so I will try to clarify those mistakes. Thank you for your patient help. I do not know anybody who is as patient as you are.

1 Like

Do ask ask here if unsure. Any task needs some nomenclature, and what’s obvious/unclear is very subjective. So, do ask.

I read the attributes section and the inheritance of attributes by child, grandchildren etc. was clear. The implication is not clear, but I have not played with the model that you made enough, so don’t bother trying to answer. When I get there, I will ask again.
I have simpler questions:

  1. I want to make a note with content. If it is about Tanacetum (a plant name?? in your model), where do place the content? I am wedded to the map view, because it is easy to look at content.
  2. I am looking at Tinderbox reference files for information to answer my question. There is no search box. I scrolled through that whole Table of Contents and came up with nothing to answer my simple question.

This may help to answer your first question:


If I may say so, my own experience suggests that there are two approaches to using software. One is to have an idea of what one wants to do, and to then try to bend the software into doing it, while the other is to learn what a program offers and see how one can use that to help one in one’s work. In my experience the first approach will often lead to frustration and disappointment because the software may not be suited to what we want to do. The second is more reliable, in my view.

It depends what you mean by content. When a note is selected, the right half (default window layout) will show the information for the selected note.

If you can’t see the text pane (perhaps you hid it?) and have only the view pane visible, use Cmd+5 or the Window menu ‘View and Text (Cmd+5)’ option to re-show the text pane.

By default, notes on a map are sized to show a short title. See below that the note has text but it isn’t seen in the map.

If you, the user, want to see more/different content in the map icon, you need to re-size it:

I’ve manually dragged the above note’s size bigger and now we see the note’s $Text. Not all of it though and I do so to make the point that trying to see everything on screen in the map is a fools errand. Learn to use the many visual affordances of (shape. colour, badges, flags, borders, etc, etc.) to show things stored for that may.

Also don’t fall into the trap some ‘visual’ people make that the only attributes a note has are those shown in the notes’ Key Attributes. This is wrong: Key Attributes are simply those attributes you as the user have chosen to display on the note’s text pane. All a note’s attributes are available via its Get Info dialog opened via the Note menu or the shortcut Cmd+Opt+i.

With a container note, as well as re-sizing the note icon, you may need to alter the height of the title part of the icon (in agents the title bar is at the bottom of the container icon).

So, your text about the genus Tanacetum, then the note to use is the Genus-note of that name (i.e. using the ‘pGenus’ prototype). If it is about a single species within that Genus, make a species note (i.e. using the’pSpecies’ prototype, etc.). In my demo doc, in Map view, it looks like this:

Herbal-medicines.tbx 2020-05-21 09-30-14

So we’ll need to resize it a bit to see the full title and see (some of the notes $Text):

It is as simple as that.

I see, the map is the only place where I add text content. Thank you.
I found the search box for my browser type.

I am reading about prototypes. My question is what does the bold print at the bottom of the paragraph below mean?

If a note or agent is copied and pasted to a new document, the new item does not inherit its source’s $Prototype value. This is a defensive assumption by Tinderbox as it cannot be sure pasted notes are from the current TBX and thus that all source prototypes exist. When creating ‘template’ type notes/containers bear this in mind. Think about using an agent to help set prototype values directly or indirectly via rules and actions. The |= operator can be used to ensure actions occur once only.

Duplicated notes retain the source note’s Prototype. For notes that are prototypes themselves, if Note A is a prototype for note B, then duplicating A makes a new note but the duplicate no longer has a prototype link to B. The duplicate does have copies of other outbound links for A, but prototype links are no longer duplicated.
Based on the above quote, can duplicate columns of my spreadsheet changing the identifying characteristics. For example, a green flag becomes a red flag.

If I want to represent that same element of the periodic table as belonging to row 2, then maybe I would change the color of the note to the color of the row (from green to Pink). Then, I would identify it as red flag green note. But, I would need two notes to represent its place as a column member of a column and a member of a row. That seems messy. But I am not going to keep content in the prototype, so that overlap does not matter.

In my note containing content, somehow I would mention the element as a member of a row or as a member of a column. If I wanted to just talk about the element itself, I might use e_CA meaning calcium. I tried to answer this question reading about attributes, but I did not see an answer. What should I be reading? I am unclear about how I would use a prototype to find related notes.

I have given up on several attempts to use TBX with your first approach. I have no understanding of the real value of TBX. I just use it as pretty little boxes. So, this time I am making little experiments and trying to plan based on what TBX offers. I have needs, but no idea how to fulfill them with TBX. So, thank you for your wisdom.

So, really all the different views have different functions. The map is for entering text. Maybe the outline is to find content which is in an understandable place without opening a bunch of notes. Prototypes is yet another view to set up the use of the note… The only part of the program that I am any good at is the map view “pretty boxes”. The rest I am not using. So, that has to change.