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
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
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:
$Prototype="pFamily";$Kingdom=$Kingdom(parent); $Phylum=$Phylum(parent); $Class=$Class(parent); $Subclass=$Subclass(parent); $Order=$Order(parent);
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.
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.
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:
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:
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 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.
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.
I thought this was quite clear. If Note A is a prototype, a copy of that note is not a prototype. Or put another way, whilst
true for ‘Note A’, for ‘Note A copy’ the value of the same attribute is
false. By comparison, $Color would be the same for both. If ‘Note A’ were red, ‘note A copy’ would be read.
The point about ‘Note B’ is that no matter how often you copy ‘Note A’, ‘Note B’ will persist in using ‘Note A’.
Regardless, you only want a single copy of a given prototype—that’s the whole point. If you want to make a new prototype starting from an existing prototype, copy the ordiginal, rename is and then set it as a prototype (see here).
Going back to ‘note B’ using ‘Note A’ as a prototype, I sense you may think that to make another note using ‘note A’ as a prototype, you copy ‘Note A’. NO! The correct method is to make a new note, let’s call it ‘note C’—you can make it anywhere in the document, then set its prototype to ‘Note A’. If you recall there is a tutorial on how to do that latter step here.
I don’t understand what this means.
I’ve already explained a periodic table is not like a taxonomy. You are trying to create notes about plant species and want their upwards taxonomy. I’d given you a working example. Stop messing with the map for a while and use the outline I sent and add a few more species, ideally not from the same genus, i.e. so you start to branch the outline.
Hope that helps. Must go, work beckons.
Actually, a better way to put it is they are different views of the same thing and visualise different relationships and enable different functions.
Outline is the canonical view and the represents how the notes are stored. A map showing only one container in the outline. Hyperbolic view shows the whole document but only for notes that are linked to other notes, and so on.
You’ll find more on different views here.
I understand that the prototype part of the note does not duplicate in relation to the prototype settings. So, I have to change some identifying feature of the note to make a new prototype. I also have to check off generals/searchable and generals/bequeathchild… in the get info box. I forgot to say that. I think you are saying that there is no point in copying a prototype because anyway all of the parameters need to be reset anyway. If I am talking about a column, than this may not be true.
Since I am actually talking about a column that shares some aspect of each element within it, then copying makes sense to me.
I am talking about a table because that is the actual arrangement of my data. You understand that the terms are biology, so you made my project into a genealogy, but the need I have is to keep track of clinical evidence. A strict genealogy will be insufficient. The table uses genealogical information, but the layout of the items used to track the information is not a genealogy in the strict sense that you are referring to. The already thought out form for this data is a table. I am not making this up as I go. It is a system that already exists. I want to set up the prototype and then use it to make relevant notes easy to collate.
(One note could easily refer to several prototypes. I have a feeling that this is not how a prototype is used. If my feeling is true, then we should stop talking about prototypes. Or maybe I should think of notes as nested elements that are actually difficult to read in the map form, but maybe there is a easier way to read them. I am also thinking that I should keep my notes in Devon Think and use TBX as a way to collate them, but not as a way to read them.)
That is why I started asking about a table. The original information comes from a Linnaeus-type genealogy, but that is not the form that I am working with. That is why I am asking about rows and columns. But, your point is well taken. I should work with what we are both understanding. Still my question remains.
To make a prototype of a table, I think I am supposed to break my table into an outline of rows and columns. Any element (could be a plant or a mineral since both are used as medicines) could be found either within the rows, or within the columns. (That is my clinical data system not a genealogy). Plants are much more complicated than minerals, so they have more identifying elements (family, class, subclass). That means that within the same prototype container, I guess I would have two parts to the outline: the plant and mineral parts.
Furthermore, on the table system that I am using, Family, class, and subclass are not notes within notes. Each is like another smaller spreadsheet. That is the design is flat. They are within the same container as rows and column, but as identifying features, they are not notes within notes. (Remember other people who I work with, do not have TBX so they need a system that does not involve something as complicated as a genealogy to layout the data. Numbers are used to identify the categories just to decrease the verbal clutter. Also, to increase order. That is why and how a spreadsheet is used. It is a flat design and not nested) In the system that I am using, minerals and plants are based on the same spreadsheet format. I think you are saying that I would need to redo the same process of making columns and rows of the plant and mineral spreadsheets. I could not copy the mineral spreadsheet and add the complexity of the plant spreadsheet. But, in the clinical evidence chart, the columns and rows of the element are copied in fact. Physically it is difficult to place plants and minerals on the same printed page, but conceptually, for the system that I am using, they are ¨in¨ the same spreadsheet.
Other factors such as cause of disease are integrated too.
In short, totally separating the plant and mineral elements is not ideal for my project because often what I am trying to see is the relationship between plants and minerals. I really want the elements of the mineral that are the same as those in the arrangement of the clinical data about plants to use the same prototypes. (Those aspects that refer to columns and row.) I do not understand why I could not do that. The plants would need other elements that would be evident in the outline of their spreadsheet, but the column and row aspects should be re-used, at least conceptually. That is I would refer to the columns and row prototypes that are al ready available in the spreadsheet for the minerals. That would be less work, but more important, more useful for me because it is the original design used to store this clinical data. That is it is the actual design of the system that I am using. It is not conjecture in the sense that I am planning to discover it. Is this impossible in TBX? I am not asking you to do the work for me. I am asking if the concept is possible.
Sorry to be so inflexible and apparently stubborn, but I actually have something that I want to do in TBX. If what I want to do is not possible, then probably I should not try to use TBX.
It is early morning in Japan. There is plenty of time to work on the computer and walk in nature. Today it will rain, but the birds are singing anyway. Hope your work is going well.
You say this table is real but all I see are some numbers and a description that doesn’t reflect that layout. My botany degree may be back in the last millennium but your headings imply a taxonomy†. For instance, if Phylum 1 is the descendant of Kingdom 1 and Phylum 2 of Kingdom 2, from what does Phylum 5 descend? Your model doesn’t explain that.
† Genealogy has nothing to do with this. Let’s try to get uor terminology correct or things get even more confusing
No! It uses taxonomic information, which is an outline in terms of of how a species’ ancestry is derived. My model showed a single species but gave you easy building blocks to make more, which would lead to a more complex outline once finished. Though this is only part of the overall file, it is the easiest way to make per-species note items with all the ancestor info you say you nee. Once done you can move them into a map, or alias them as the ancestor information will be correct and won’t change.
Actually, no. A class is a taxonomic descendant. In terms of storing a note, you don’t have to to store the one within the other. But, to capture the taxonomic information you want, an outline is a good way to capture and set ancestral properties. By all means move the notes once that data is added. Think of the notes as leaves growing at the tip og a branch (of the outline). Once the leaf is grown you can detach them and put them in a pile, e.g. all on the same map.
I’m confused as to how and why you need a prototype for what you refer to as your table. The prototype lets one note (the prototype itself) seed attribute values to any note(s) that use it. The more notes that use a prototype, the more effort you save. If only one note will ever use a prototype, you don’t need a prototype for that purpose. Your ‘table’ consists of many cells though it seems unlikely each cell needs a prototype, not least because all the ‘cell’ in the table are different.
Now I’m truly confounded. How, as per your table, can you have a phylum of rock? Much as I’m trying to to help, the frame of reference and terminology keep changing. I think the underlying problem at this point is you don’t yet have a clear and unambiguous description of what you are trying to do, conflated with inconsistent terminology. Please don’t misread that as me suggesting you don’t know what you want to achieve. Not at all my point. Rather, it is articulating that idea with sufficient clarity so we can give you helpful advice.
So, it might help you if you spent a bit more time making a better descriptive model than the current ‘table’. A bunch of numbered spreadsheet cells don’t explain what’s going on especially when mixed with headings that don’t seem to fit the scenario being described.
I’m not sure there’s anything else I can practically suggest at this point, though if there are some smaller-scoped more practical questions, I’ll be happy to try and answer them. Late here, so I’ll finish now.
I am sorry. I am not using the correct terminology. I have never studied botany and I am making up terms. Part of the problem arises from the fact that I am not doing botany. What I am doing is hard for me to describe since it is new to me also and probably not within your experience either. It is a form of alternative medicine, and within that field this is very innovative work. So, I am trying to figure it out as I write to you. I am not the creator of this system, I am writing notes trying to learn the details of the system.
Returning to the spreadsheet idea of let’s call it a “periodic table” without getting into a technical discussion. I want to be able to find items on the table from rows 1-7. (and columns 1-18) I am looking at a demo by Stephen Zeoli.
https://welcometosherwood.wordpress.com/2016/11/23/tinderbox-screencast-number-2-stamps-and-agents/ . Rows could be “latitude” since I don’t know how to make up my own titles.
Following Steven Zeoli’s example, I would create notes for each row and then create stamps to find them. That seems like too many steps since I would do this repeatedly.
Also, the problem with using this method for Columns on my table is there are 18 columns so, I will have trouble just in terms of space on the stamp window.
Prototypes and Stamps is probably not a good way to achieve my goals.
I thought of searching for text. So, if I start the search term with a weird combination of letters such as xycolumn1, to bring up all the notes containing that term. I found this way of searching in another discussion. $Text.contains(“\xxx\b”) So I would substitute xxx with my own invented term, xycolumn1, to find all mentions of column one.
Really, I am looking for the intersection of the row identifier and the column identifier. Maybe there is a way to search for the overlap of notes that are described by two terms.
I am not sure where in the TBX interface I would do this search and what the operation is called.
If this worked, many of my problems would be solved.
I hope this is a clearer description of my problem. You said somewhere that TBX had no system for searching for text. So, maybe this is also impossible.
Please don’t ‘just’ re-use definitions out of context as they just confuse those who do understand them and make it harder to help you as the resulting explanations of your process don’t make sense due to the terminology.
Re Steve Z’ nice demos, viewers please note the query syntax is wrong (supported for legacy only). To test $SomeApp has the value “thing”, i.e. ‘equals’, use
== and not
=. Use the latter only for setting an attribute to a value, not as an equality test. See ‘= (assignment)’ as opposed to ‘== (equality)’.
If you are going to make a fixed grid in a map view, you can make two user attributes of Number data-type. Call them ‘Row’ and ‘Column’. For each note in the grid, set the relevant values. so for row 2 column 3, $Row would be set to
2 and $Column would be set to
To use an agent to find all notes from row/column 1,1 through 7,18, use this query:
($Row > 0 & $Row < 8) & $Column >0 & $Column <19)
i.e. $Row is greater than zero AND less than eight AND $Column is greater than 0 AND less than nineteen. The 'AND (
&) joins mean all 4 conditions matched be true for a note to be matched.
You can’t use a stamp for this as stamps essentially set things whereas you are asking for match/alias things.
The above notwithstanding, I suspect you would gain massively by stepping back from the computer and drawing out the ‘grid’ on paper and naming all the parts. that way you are building from a known design and not getting confused as to what is your intent vs things done by the app.