Puzzling Prototype behavior


(Alexander Heusel) #1

Dear Forum,

I to scratch the surface of TB a bit I tried the following:

  • created a container for prototypes (Path: “/Pro”)
  • created an user attribute (name = “Inhalt”, Type = “String” and Suggested = “Information;Konzepte;Praxis”)
  • created a note as prototype in this container (Path: “/Pro/PInhalt”) with attribute “Inhalt”
  • created an adornment at root level (Path: “/Didaktische Route”)
  • created OnAdd for adornment: $Prototype = “PInhalt”; $Width = ($Width(adornment) / $GridColumns(adornment)) - 1.0

The adornment sets the prototype. So far so good.

What puzzles me: $Prototype = “PInhalt” works, $Prototype = “/Pro/PInhalt” does not ??!?

Why?

Thanks! :slight_smile:


(Mark Anderson) #2

Not sure. In theory, you should be able to set a path lest you have 2 prototypes with the same name. However, same-named prototypes are not a good idea. If you use unique names for prototypes, then you’ll never need to worry about needing to use a path to set a prototype.

Tip: use the built-in /Prototypes container for your prototypes. Even if you don’t want to use the built-in prototypes, just add one to let it make the container and then delete the unwanted prototype. In the long run it will save you some confusion. Also, the container Tinderbox sets an action so that all new children added to it are set as being prototypes, etc.


(Alexander Heusel) #3

Hi! In the beginning I named the container “Prototypes” and changed that later to “Pro”… Probably that was my mistake? Anyway. Will use the built-in container in the future and make unique IDs.

Cheers!

Alexander


(Mark Anderson) #4

To be clear, you don’t have to use /Prototypes. Indeed you don’t have to keep all your prototypes in one container. But, unless you need to do other of those things, i’d recommend for most people that they use the prototypes container Tinderbox can create for you.