Skip to content

  • Photo of Fei-Ling Tseng
When to use Extend in supertags

If you have many supertags with the same properties, it's worth considering if the Extend feature is the right fit. Extending supertags is very similar to inheritance in object-oriented programming.
a supertag being extended

Overview

Extend allows you to use a basic supertag as a "base" of another supertag, making it a sub-tag so to speak. This allows the makes the two tags permanently associated with each other, both in their template content and when searching for them.

Example of using Extend

From the Tana team

  • In our internal workspace, we have a base #todo tag which only contains >Assignee, >Due date and >Status.
  • We then have #design task, #dev task and so on, which extend #todo – so they get those base fields – but add new, specific fields such as >Github PR , >Spec and >Related feature.
  • It is also convenient to be able to add a new field to #todo, and know that any extension of #todo will get the same field.
  • This setup lets us query for any #todo assigned to a certain person or with a certain status. This will return all hits to #todo, and any other supertags that extend it.
  • We use a lot of extended tags internally in the Tana workspace:
    • #todo is extended by #dev task, #design task, #bug, etc.
    • #meeting is extended by #onboarding session, #followup, #investor meeting, #interview, etc.
    • #person is extended by #candidate, #alphauser, #investor, #employee, etc.
    • #user observation is extended by #wtf moment, #aha moment, etc.

And we regularly rework this, as our needs evolve. Handy for this job is the command to merge nodes, fields and supertags.