Tinderbox Forum

How to use the Attribute Browser

This is written by @JFallows under another topic under my request. I am putting it here because I want others to read it; and I myself want to ask him questions.

This is a screen shot of an Attribute Browser view, in which:

I am grouping entries by $Theme
I am showing some other info in the various columns in the view
I have the text pane at right, to show the contents
I find this incredibly useful and powerful – the ability to group notes by whatever attribute or field you choose.

Bonus: Here is the same screen with the query field expanded. This shows that I am looking only for entries with some value in $Theme. You can construct the query any way you would like, including with some very elaborate queries.

Some non-default aspect of AB view show in the the grabs are scope and column view.

By default AB view opens at whole document scope (‘entire document’), whereas here the root-level container (/Content/) has been selected. Thus, adding in the AB query shown in the second grab, the notes listed are the same as would be returned by a normal agent’s query of: descendedFrom("/Content") & $Theme. I mention this only to help point up some of the nuanced flexibility built into the view.

The grabs also show column view being used. Default is to show just $Name as in an outline. AB view is definitely recommended to those who’ve not tried it, especially if you employ user attributes for your metadata.

1 Like

Thanks, lemme know your Qs and I will do what I can to answer. And of course Mark A and Mark B can deal with the “real” questions that are beyond my ken.

For me, the attribute browser is such a powerful and intuitive tool that I’m sorry/surprised more people aren’t using it.

Are these summaries (notes) from books and articles?
or, they are just your drafts for the book you are writing?

I am trying to understand what you did here. is the Theme a category you yourself made for the project (writing a book)?

The material in the right-hand text pane, which is the $Text field of a note, is just stuff I have entered. It could be cut and paste, it could be interview notes, it could be anything. It’s just material I may want to refer to when I’m writing.

I do the actual writing in Scrivener. These TB files are strictly research notes for me. When I want to see what I have on a certain theme (or by a certain author or about a certain city), I go to this page and check out the notes…

$Theme is a User Attribute, one of several that suit my personal research / info-organizing needs. Others you see on this screen are $Chapter, which refers to where I want to use it in a book; $CityName, which is the city it refers to; $Used, which is whether I have already quoted it etc. $Used is a Boolean attribute. The rest are set-type attributes. If you’re unfamiliar with that, Mark A tells you more here.

1 Like

If I had to write a non-fiction book, I’d use the Attribute Browser in a way very close, in my feeling, to what the writer Arno Schmidt used to do with his writings: making index-cards for every single idea and gathering it into a box. That’s the way The Attribute Browser works in my experience and that’s what is wonderful: you can have an overview of your notes. These days, for instance, I added a new attribute — $Lieu — to my Journal. I indicate the place (= lieu) in which I found such and such idea and switch to the AB to see those places. Very very useful and inspiring tool when it’s about to remember and to elaborate the empiric “why” of your ideas.


Exactly. The problem I always have is how to see the big picture while still not losing the details.
The map can do good job: but, in a handful of notes. If the notes grow more than 50, in my experiencer, the map gets overwhelming.

Agree very much on this description. Les mots justes, you might say.


Attribute Browser is also great for time-based organization. In my files for classes I’m teaching, I organize class notes, reading notes, assignment descriptions, etc. via the $StartDate attribute. This means class notes and reading notes for the same class session use the same StartDate. In the attribute browser, I sort by “StartDate” (instead of “DisplayName” in the screen shot above), this gives me a list of of all class sessions with the associated notes clumped together. Works great.

This lets me use map views to organize notes in a variety of ways, then return to attribute browser to know: what’s happening tomorrow? Next week? etc.


I’m currently trying to finish a big text: a doctoral thesis I’ve been writing for several years and until the beginning of that year, I never felt the need for searching into my reading notes. I just gathered my notes in the course of my readings sessions. But now, the time came for me to search, as you say, not only for Les mots justes, but also for the right concepts and the right writings about those concepts. Indeed, if I have already put into the text of my thesis every reference I have to analyze, the writing process invites me to make some new hypothesis. Therefore, I have to search into my notes for new references. So, I use my Attribute Browser and read my list of $Tag or I launch a request and voilà. Here is a screenshot of my Attribute Browser :

1 Like

I think we’re using this in very similar ways! Which is interesting and reassuring to see.

Notes for others considering the Attribute Browser plunge:

  • As Mark A pointed out, and as you can see in comparison of some of these screen shots, there is very impressive menu-based flexibility in what you display, and how you display it. You can choose to include items from: the entire document (so they don’t have to be all within one container, as with a map view); specific containers (for limited results); as the results of an agent-container; etc. Also you can do a kind of agent-upon-agent refinement: once you decide the range of items you would like to include, you can also create a query for each Attrib Browser view, to make sure you get only the items you are looking for. For instance: ones with a certain attribute, or within a certain range, or whatever.

  • There are also lots of display choices. You can have math-based summaries if you’re displaying numeric values – totals, averages, Min or Max values, etc. And you can sort the items within each grouping on any value you’d like – name, creation time, done/undone, anything you can assign to an attribute.

  • You can use columns to display data, and also to offer checkboxes – for instance, one for $Done or $Used.

  • I usually set up a window with several AtBr tabs, each using a different value. One will show my entries grouped by $Theme. Another, by $Chapter – where I intend to use them. Another by $Source. Then you switch among the tabs to see the same info in whatever is the most relevant way.


One other implication worth pointing out here. In the screenshot I posted earlier in this thread, highlighted below, you will see that the same note (“Mark Muro…”) shows up in two different groupings in this Attribute Browser view. They’re highlighted with the arrows:

That’s because $Theme is a set-style attribute that, for any given note, can have multiple values. Thus I see this note as part of the “Advance Manufacturing” theme, and also as part of “Bias of Journalism.” [A long back story here.] Main point is to illustrate the power and flexibility of these attribute browsers.

1 Like

I’ve just read your post and tried your suggestion to plunge into the Set Data Types which I didn’t know. I thought I couldn’t assign several tags to my $Tag, but I didn’t see that $Tags could be set as a Set Data Type. After trying it, I notice that I can assign several tags to a note and see several notes with the same tags — as you can see on the screenshot below —, which is very useful in the case you search for multiple references for a same topic. Therefore, I’m going to rearrange a little bit my index cards. From now on, since 2011, my file is composed of several and different libraries I set over the years and my impression is very similar to what you can feel in a public library where there are, next to new computers, old note cards files! I’m very proud to work with Tinderbox.

1 Like

Before AB view - and for those not using AB view - an agent would likely be used to review attribute data. It is useful to draw the distinction here from an agent. For example, were a normal agent being used in Outline+column view, the “Mark Muro” note would list only once as an agent’s design intent is to list each matching note only once regardless of the number of contexts in which it matches. There is nothing wrong with the latter, but as @JFallows explains, AB view allows extra nuance when a multi-value List or Set type attribute is the viewed. In this case, a note lists under every discrete value heading for which that note has that attribute value.

So, if AB view is showing values for $MySet a note with 4 values in $MySet would thus appear 4 times, once under each discrete value it holds, as shown below for note ‘eel’:

For this reason, when reviewing a Set or List in AB view, it can be useful to also show the attribute in column view as the latter will show all values.

2 questions (that are likely feature requests)

1. composite-like note selection in AB

Is there a way of selecting two or more notes at the same time within Attribute Browser in order so see the text of those two or more selected notes in the view-pane?

2. stamp-like saved queries in AB

2.1. Is it possible to save queries just like one can save stamps?

2.2. Maybe – as a workaround – one could uncomment query-code not needed while other query-code is used although both reside in the “Query”-field.

Something like …

%% $Color=="red";

… while %% could serve as the uncomment-code.

Is there something like an uncomment-option in Tinderbox and if not: will there be an option like this?

1 Like

Q1. At this point, I think that would be a feature request. Since inception, Attribute Browser view hasn’t supported multiple selections, possibly due to the way the main view is composed of lots of per-value sub-lists . In the past that had little effect, though of course that predated the new featutre of showing combined $Texts for the selection.

Q2.1. It is not possible to store queries, for AB view or for normal agents.

Q2.2. Action code doesn’t have commenting method.

This is just to reinforce Mark A’s point that the attribute browser can be very useful in showing you the range of assignments that a given item has. In Mark’s screen shot above, the items are grouped by $MySet, but $MySet is also a column in the display, so you can see multiple values for any given item.

Here is a detailed screenshot from the data base i’ve mentioned earlier. You’ll see that the items are grouped by $Theme, but $Theme is also one of the columns that’s displayed. I have expanded the field at the top of the screen to expose some of the settings – eg how I am grouping and sorting the items. The query listed as “Theme” is simply a test to select items that have some value for the $Theme attribute. (The query is simply “$Theme”.)

Other points to note: the different values in $Theme are displayed with separation by commas (though you separate them with semicolons when entering them). And, though not shown here, if there were too many values to display, the visible parts get truncated in a sensible way – and you can click on any item to see the full list.


This is all pretty interesting and has me experimenting with AB. This was especially interesting:[quote=“derekvan, post:9, topic:394”]
In the attribute browser, I sort by “StartDate” (instead of “DisplayName” in the screen shot above), this gives me a list of of all class sessions with the associated notes clumped together.

I do have two questions though:

Is there a way to constrain the division of attribute values or do they subdivide by fixed rules? For example:

  • sorting by $Name, is it possible to have the groupings break into the alphabet (A, B, C, D…) rather than discrete string values?
  • sorting by a numerical attribute, is it possible to set the range of values for a grouping?

In both cases the answer is no:

  • String-based (single and multi-value) sort on individual values in A-Z order (case-sensitive: A,B,a,b not A,a,B,B).

  • Number-based sort on value, ascending sort order by default. Optionally, the use my set a number N in the ‘bins’ box. This divides the min-max value spread into N equally sized bins. Note this means bin divisions may thus not be at integer values. If using bins, you can’t exert finer control to set the bin sizes/borders or set a max or min cut-off for binning (e.g. to differently sized bins ignoring outliers. The ‘bins’ box only shows (to the right of ‘action’) is the selected attribute is Number-type. I suspect better binning control is a feature request yet to be made by those who really need it.

1 Like

When I wish to add a comment to action code—typically to remind myself later what I was trying to do—I create a comment attribute (e.g., $nb) and redefine as necessary to add new comments.