Working with prototypes, inc. adding badges and managing displayed attributes
An intro to attributes
Creating your first user attribute
Working with action code
$OnAdd actions, specifically having action code assign a prototype to a note when it is placed on top of/into another note, e.g., $Prototype="pArticle";
Enhancing your action code by stringing other expressions, e.g. add change color command $Color="poppy";
Create a multi-step OnAdd by combining the two action code expressions
Working with the Inspector window
Use of tabs to navigate your files
TBX TIPS
Selecting multiple notes in Map view: hold Option whilst dragging the mouse (⌥+drag) to band-select all notes in the rectangle created. Cmd (⌘)+click to add/remove individual notes to a multiple selection
In outline view, use Option+Shift+Enter (⌥+⇧+Enter) to create a new child note as first child note (as Shift+Enter (⇧+Enter) creates new children as last child).
To open the Inspector use shortcut Cmd+1 (⌘)+1) to open it: whilst a document is open, the Inspector will re-open at the last-used tab.
Separators only work in Outline View. Notes nested underneath them will NOT display in Map View.
Start with your own blank TBX file, with a project in mind, and follow the steps below
Create some notes in Map View
Pop over to Outline view and start organizing your notes into a workflow that makes sense to you, think about categorizing your notes, e.g., folders, articles, ideas, tags, etc.
Create a couple of prototypes to represent some of your categories
Add a separator and name it “Backstage”, in the Outline View put the prototypes underneath “Backstage”
Create at least two user attributes, e.g., Type and Status, and add “display” them on one or more of your newly created prototypes
Assign your new prototypes to your the appropriate notes
Populate the attributes of some of your notes with unique values to that note
Comment here in the forum, ask your questions, get answers
Put next week’s meetup in your calendar
Answers to a few of the chat questions: Q: Don’t you see a problem in putting notes into a container - you are grouping the notes, but you hide them in a way too. A: Yes, notes can get lost in a hierarchy, but you can rediscover them again in context with effective use of attributes and agents.
Q: How do I connect to a note hidden in a container if I could use the same note within a 2nd project? A: Good question, we’ll have to come back to that later as there is more to the story.
Clearing up a confusion point from yesterday’s class
Yesterday, I had noted that if you embed the prototypes folder into a separator that you’ll lose connection to the prototypes. @eastgate quickly corrected me and rightfully so, as I was wrong. As @eastgate notes, Tinderbox will find your prototypes anywhere within the file. Out of convention and convenience, I like many, adopt the practice of placing all prototypes in a folder called "Prototypes.
Root of my mistake
The root of my mistake was that I’ve been mistaking the Prototype folder placement with the Templates folder placement (something we’ll discuss in Lesson 3). I conflated to different issues a long time ago and never got around to untangling them until now. You can move the prototypes anywhere. If you change the path of the templates, then Tinderbox will get confused and you’ll lose the link to the templates you’ve assigned to your notes. Not to worry, this is easily “fixed”, either by moving the Templates container (aka folder) back to the root or using action code or the Attribute browser to update the path designation in your notes to your templates. Again, this is something we’ll discuss in Week 3, so if it does not make sense now it will in a few weeks.
Side note:
I’m super excited about having cleared this up in my mind. I’ve cleared out some misdirection cobwebs and won’t be making this mistake again. Whoohoo!
Once upon a time, in a Tinderbox universe far far ago, you made any note into prototype as needed. With v5.0.0, came ‘built-in prototypes’, the addition of which created root-level/Prototypes` container and additionally pre-set a number of relevant customisations.
Now the confusion creeps in:
Can I put aPrototypescontainer anywhere? Yes. But if you add any built-in prototypes, the latter are placed in the ‘default’ root-level /Prototypes folder. So, pragmatically, I’d argue ‘No’. I guess it depends on one’s sense of ‘individuality’ trumping common sense.
Can I put a Prototypes folder anywhere? Yes, but—seeing above—this might be an exercise in hubris.
For most (new) users, I’d suggest adding a built-in prototype—even if you then delete it but so as to generate the default /Prototypes container.
Can I migrate existing prototypes in my old files into the default Prototypes container? Yes. Use an agent:
@LDunville had a great question. Can you summarize the keywords from last week’s session and give a peak into next? Here you go, Larry:
Last Saturday, 18 Sept.:
Creating a note
Navigation
Multiple tabs
Breadcrumbs
Collapsing outline
Rt. mouse click and open new tab
Short cuts/Hot keys
Short cuts/Hot keys
File menu
Edit menu
Organization
Separators
Containers
Views
Map View
Online View
Attributes
System Attributes
$Text
$Name
$Displayed Attributes
$Prototypes
$Color
$Badge
$OnAdd
User Attributes
Action code, aka expressions
$OnAdd
Prototypes
Creating
Interidence
Inspector window
Next Saturday, 25 Sept.:
Now that we have the foundation in place, we’ll be reviewing all of the above action, and taking it a bit farther. In this week’s class we’ll be covering.
Organizing your thinking
Writing area
Raw notes and input (i.e. ideas for your article)
Writing your article
in one note
across many notes
Short-hand
Markdown
HTML
RFT
Inserting an image
Toolbars
Ruler (this is a crutch we’ll teach you to shed)
Show/Hide Text Pane
Agents
$AgentQuery
.icontains
Equality tests (==, !=, >=, <=) vs. Assignment (=) [Note: works for conditionals too]
Date designators
$AgentPriority
Action code overview (Here is a hint- they’re nearly all the same thing except for one element: time, i.e. when they run)
That was a superb session - well hosted and some good comments from the live audience. Nice one, Michael.
I really would like to join a live session one day - problem is I’m located at the bottom of the world in New Zealand. A 5AM start just doesn’t work for me, so I just catch up with the screen cast.
@MrBrillo thanks!!! I’d be happy to schedule a late Friday afternoon session one of these days if you want to do one your Saturday morning. Let’s see if there are others that would like to join.
Sounds like it could be a plan. Best put it to a vote and see what works for everyone else, rather than making a special trip just for me.
If everyone is comfortable, then the best approach is to let me know some dates for a Saturday morning or evening (respectable NZ time) in advance so I can make sure I schedule it in.
Times that work for me on a weekend are after 8:00am or between 7pm - 10pm NZ time. I can be fairly flexible, but tend to head away from home every 3rd weekend or so. Just let me know what works.
Thank you Michael and colleagues. This video is the missing piece for me, showing how to use TB in a practical example. I’ve watched many of the training videos available, but they didn’t pull it all together like this. Also, I like the idea of homework, as a prompt to take some action this end.
I am blown away by the time and effort you all contribute to the TB community. Many thanks.
I also live down under, in Australia, so don’t attend live sessions. I would love the opportunity with a different time slot.
So glad this is working out for you. As they say, “if you really want to learn something, teach it.” That is one of my primary motivations, to learn and teach. Let’s pick a time sometime in the next week or two, e.g. Friday at 3:00 PST, which I think is 8:00 AM your time, right?
8.00 on the Saturday morning, yes, that would be great.
You do have to know something well to be able to effectively teach it. But your enthusiasm shows you are motivated by more than that. You want everyone to enjoy TB as much as you!
I live in Seoul, Korea. I hope to join, but ‘8:AM NZST’ is ‘4:AM Korean stand time’. Also I have things to in every Saturday in day time. How about to avoid Saturday?