I am reaching out to seek assistance with a challenge I am facing while trying to learn Tinderbox.
I have been following the “Getting Started” tutorials to familiarize myself with the software. During the process of creating a simple prototype and adding a note titled “Discussion,” I encountered an issue. When using the prototype inspector to select the prototype name, I noticed that the title “Discussion” in the drop-down menu is grayed out, preventing me from creating the prototype.
Interestingly, I have encountered a similar problem when creating prototypes in the past, but restarting Tinderbox seemed to resolve it. Unfortunately, this time, restarting the application did not solve the issue.
I am wondering if this is a known bug or if there is a solution to this problem. Any guidance and assistance in resolving this is appreciated.
First: a note cannot be its own prototype. I think the reason for this is fairly obvious: if a note imitates its prototype and its prototype is itself, that’s going to cause trouble!
Second: a note cannot inherit from a prototype the inherits from that note. Another way of saying this is, prototype inheritance cannot contain a cycle. That, too, will cause the prototype menu to be grayed out.
Finally: in Tinderbox 9.7 (but not 9.7.1), a bug could confuse the inspector into thinking it was looking at the wrong document if (a) more than one document had been open, (b) a document had been closed, and (c) the Inspector had been dismissed by closing the floating window, rather than hiding the inspector in the menu bar or using the ⌘-1 shortcut.
Just for clarity: we usually say that a note “adopts a prototype” or “uses a prototype”. “Creating a prototype” typically means that we have created a new note, decided to tell Tinderbox that this note is intended to be used as a prototype for other note, and checked the Prototype box in the inspector.
@eastgate has explained why a prototype cannot use itself as a prototype, as it creates a closed loop of inheritance.
Reading your description and pp44–45 of the “Getting Started”, the broad steps are:
Duplicate note “Tom Brown’s Schooldays” and call the dupe “Story”
Make “Story” a prototype, using the Prototype Inspector tick the Prototype box. The value of $IsPrototype for “Story” is now true.
Duplicate note “The Prime of Miss Jean Brodie (film)” and call the dupe “Film”
Make “Film” a prototype, as above
Make a new note called “Discussion”
Set “Discussion” to use “Story” as its prototype from the Prototype Inspector’s Prototype pop-up menu. The note’s $Prototype value is now Story.
Make “Discussion” into a prototype (method as above)
It sounds as though you got the last two steps mixed up. When you go to set the prototype for “Discussion” the pop-up list of available prototypes should only list 2 items: “Story” and “Film”. You select “Story”. Then, you make “Discussion” a prototype via the Prototypetick-box, a different control from that used to select the note’s prototype.
The tick box, ticked, says “I am a prototype”. The pop-up menu lists only those notes for whom that tick-box is ticked.
You are right, I did get the last two steps mixed up. I appreciate the screenshot, it demonstrates exactly what I needed to know to understand how this note and prototype work. I was overthinking the process a bit.
Thank you so much for your clear and thorough clarification.