Supertags

Supertags turn your notes into objects like Projects, People, Tasks, Books, Recipes. Supertags will help you find, structure and build your information in flexible, iterative and lightning-fast ways.

Overview

Supertag = Turns a node into an object.

Use supertags to identify objects in your notes: Examples include #task, #meeting, #trip, #subscription, #person and so on. A good way to check if a supertag is right, is thinking “is a” when adding the tag to a node. A node with the contents “Marisha” is a #person. Oslo is a #city. With an eye for “what things come up in my notes that need to be remembered, organized or actioned”, these are good candidates for a supertag.

Supertags are the beginning of creating collections of objects, like a database: Anything you would make a list, collection or database for, these are good supertag candidates. Each row in a database represents one node. Each column represents the Fields of those nodes.

Supertags give you tools to structure the information of the object: Every time you apply a supertag to an item, it populates with default Fields and Nodes of your choice, to help you organize all important and related information regarding this item. If it is a person, adding a Field for their Phone Number and their Preferred Name might be handy. If it is a todo, you may want a Field with the Due Date. See more under Supertag configuration panel.

Basics

  • When you tag something, unlike traditional tags that signal that the content is related to the tag, in Tana the content is the tag. For example, "buy milk" is a #task. Therefore, supertags apply to the whole node.
  • This means that you can define objects in your notes, and give them special attributes based on what they are. Tasks can have Due dates. People can have Nicknames. Projects can have Statuses. These attributes are saved as Fields in the Template.
  • Supertags can be used on any node, and gathered at any time using Search nodes. If you remember to supertag your important stuffs, our powerful search nodes will ensure that everything resurfaces again in an instant, no matter where they are in the graph.
  • Click on a tag and you’re taken to a Supertag page. By default it creates a search looking for all nodes with this supertag in the graph, shown as a table. That said, you can adapt the Supertag page however you want by adding tabs and additional views of relevant information.
  • In the Supertag page, click on the wrench button on the top right to get to the Supertag configuration panel. (Note: you can also get to it by holding Cmd/Ctrl+Shift+click on any supertag)

Documentation

Create a supertag

On any node, typing # will bring up the Supertag menu. Continue typing the name of the supertag to either make a new supertag (always the top answer), or find an existing one that matches what you’re typing.

On any node, use the Command Line Cmd/Ctrl+K and type Convert to supertag. This converts the node to a Supertag definition turning the node name into the supertag name. This command will also take the child fields and nodes and make them into template items.

When you create a supertag, by default it sends the original Supertag definition to Schema.

Add/remove a supertag

To add a supertag, anywhere in a node, type #[name of tag] and hit Enter to apply it to the current node.

To remove a supertag, hover over the tag and click the x that shows up.

Both actions can be done via the Command line (Cmd/Ctrl+K):

  • "Add tag"
  • "Remove tag"

Delete a supertag

Before you delete a supertag, consider whether it has been applied to any nodes. In the Supertag configuration panel, scroll down and see the stats on how many nodes it’s been applied to.

  • If you have used it on 0 nodes, it’s fine to just delete the supertag.If you have used it on 1 or more nodes, consider finding all those nodes and untagging them before deleting, or if it’s being replaced by another tag, merging the old tag with the new tag.
  • When you delete a supertag that is applied to other nodes, these nodes will show a trash can icon. This follows our principles about Deleting Nodes, Supertags, and Fields that have references elsewhere, which states that Tana will never delete data that is indirectly associated with another element that you delete.

How to delete a supertag:

  • Option 1: Go to Supertag configuration panel. At the bottom there’s an option to Delete the tag.
  • Option 2: Find the original Supertag definition and delete it.

Configure a supertag

There are two places you can configure supertags from:

Supertag page

When you click on a supertag, you’re taken to the Supertag page.

This page by default will be set in Tabs view, and show you a table of all supertagged nodes on the first tab.

You can do basic configuration of the supertag here like adding columns (which are fields) and saving them to the supertag template using the ✨Suggestion that pops up.

You can also add other tabs with different views that you want accessible on the supertag page, such as instructions on how to use the supertag, search nodes with different default views, or a reference to any node you might find useful to access while looking at the supertag page.

Supertag configuration panel

To open the config panel:

  • Click the wrench on the top right of the Supertag page
  • Cmd/Ctrl+Shift+click on a supertag

Colors

There are 12 colors available for supertags plus colorless (grey) to pick from.

Template

The supertag template is where you add fields, search nodes and regular nodes that will populate on every node with this supertag.

When you apply a supertag to a node, it inherits all template objects defined here.

There are several ways you can add template objects in the Supertag template section:

—Extend

Pick a supertag from the list that you want the current supertag to inherit template objects from. This allows you to set different default values, and also add template objects for greater specificity.

Example: A basic #task tag has the >Due date and >Project fields.

  • You can create a #design-task that is extended by the #task tag, then set the default >Project value to "Office Renovation".
  • You can also add a new field, >Reno team, so you can add individuals and teams that these tasks be assigned to.

—Add fields

Fields become attributes to the supertag object. Examples:

  • a #task can have fields like Status, Deadline, Priority, Team, Assignee
  • a #client can have fields like Company name, Email, Point of contact
  • a #project can have fields like Timeline, Lead, Team, OKRs, KPIs, Stage, Priority

Add fields: Type > at the beginning of a new node. See Configuring a field on how to edit fields.

Set default values for fields: Fill out the field value in the supertag template. Example: New #task always has >Status: Inbox

Set auto-initialize functions in fields: These will insert a field value, created at the moment when a supertag is applied to a node. See: Auto-initialize

—Add search nodes

A search node can customize its results based on the supertag instance. Example:

  • a #project that looks up related #tasks
  • a #person that looks up related #meetings
  • an #author that looks up related #books

Make a search node:

  • Command line (Cmd/Ctrl+K) -> Find nodes
  • Type ? and click on ✨Create search node

See Query Builder for more on customizing your search.

—Add nodes

Add nodes just by typing them in. You can also add references to nodes.

Template objects vs. instantiated objects

Template objects are similar to a projection, in that they are visible but not material. This means that template nodes cannot be searched, and they also don't have their own unique nodeIDs separate from the template.

When you apply the supertag to a node and while it remains unedited, the template will change in sync with the supertag definition.

If template objects are edited, they instantiate as a separate node, receive a unique nodeID and will no longer be updated with template changes.

Editing means:

  • Modifying it by adding a child, changing a field value, even viewing it (and thus changing the view settings for the node)
  • Getting a link or copying it, because it then needs a unique nodeID

To “refresh” a template object:

  • do a hard-delete (Cmd/Ctrl+Shift+Backspace) to clear out the edits and populate it with the current template. If you already had content there that you want to save, move it out of the way first before doing the hard delete.

Show as checkbox

Turn this on to show a checkbox on all tagged nodes.

Done state mapping

Optionally map the checkbox state to one or more field values. This creates a two-way connection between a field value and the checkbox state. If you check/uncheck the box, the field value changes to the value you specify for either state.

Insert fields using >, and select the values for each state.

Build title / title expression

Build the title of a node from the values of its fields. Title expression are set in a supertag called "Build title from fields", and will apply to all its instances.

Title expressions composes field values from the node into a title using this the format: ${field name}

The title expression uses the actual name of the attribute.

You can also write between the fields, it could look like this; ${Objective} with the team at ${Date}

The existing name of the node can be accessed through ${name}. Note that if the title expression begins with ${name}, you will be able to edit the first part of the title directly on the node. In any other case, the node title will be locked for editing (even if ${name} appears later in the expression)

You can also specify a max length using ${field name|30…} which will show only the first 30 characters of a value.

Choose whether you want the placeholder to appear if the field is empty by appending a ? - either ${field name|?} or ${field name|30…?}.

In fields that have a list of nodes as values, we include all field values, not just the first one.

System attributes available in the title expression:

  • ${cdate} and ${ctime} - Created date and time in UTC, i.e. not local time)
  • ${mdate} and ${mtime} - Modified date and time in UTC, i.e. not local time
  • ${sys:description} - Description field
  • ${sys:createdAt} - Time of creation
  • ${sys:lastEditedAt} - Time of last edit
  • ${sys:lastEditedBy} - User who last edited the node
  • ${sys:editedBy} - All users who ever created/modified the node
  • ${sys:owner} - Parent node
  • ${sys:dateFromCalendarNode} - The calendar node this node belongs to (Calendar date system field)
  • ${sys:doneTime} - Date and time this node was marked done

Nodes here are the same nodes that exist on the Supertag Page (see above)

Set child supertag

If you want to have a default supertag applied to all child nodes of any instance of this supertag, you can set the supertag you want here. This supertag will be applied to all new children.

Supertag definition

What is a Supertag definition?

When you create a new supertag, a node is created that stores the configuration of this supertag. This is the Supertag definition and includes its name, template, and commands that show up as buttons, among other things. You access the settings of the supertag via the Supertag configuration panel.

How to find the Supertag definition?

There are two situations where you’ll encounter needing to use supertag nodes:

  • Creating a Search node
    • To find it here, just type “#” in the search expression editor and Tana will look for every supertag in accessible workspaces
  • Creating a Tana Template
    • To find it anywhere else, type “@#” and the name of the supertag. Supertag definitions show up in their color and hashtag at the front.

Merging supertags

See Merging duplicate nodes



Related release notes

  • improvedYou can now remove a banner image or icon that comes from a tag directly from the instance, or set a banner image or icon as a default banner image/icon for a tag, directly from an instance ()
  • fixedFixed done state mapping in supertag config where fields were not rendered properly ()
  • improvedYou can now right-click to remove a banner image from a tag from any node with that supertag. ()
  • fixedNodes from templates lost their color temporarily, but they have now gotten it back. Good for them. ()

Related FAQs

  • How can I configure the view of a search node that exists in a supertag template? It's not showing me all options.

    Problem

    The query doesn't run in the template editor and so there are no search results available with which to set sort or group options.
    Until we have fixed this issue, this is a workaround that has been perfected by community member Darren Brierton (this is part of the new series called Darren's Frequently Answered Questions, or the D'FAQ if you may).

    Answer

    1. Create the search on the actual node, and adjust its options there.
    2. Then, open Filter and fill the text filter with gibberish (like "xyjzkwq") so the search node returns zero results
    3. Then, cut and paste (Cmd/Ctrl+X / Cmd/Ctrl+V) the search node into the supertag template
    4. Expand the node, and remove the gibberish text

    Are the gibberish text instructions necessary?

    The reason why the filter instructions are needed is because it prevents stale results from being copied over to the supertag template.

    Thank you Darren for drafting these thorough instructions until we sort things out!
  • How can I find all tags that extend a tag?

    One way is to create this search node:

    • >system field Tags : #tag (use supertag that was extended)
    • IS TAG

    Example:

  • How can I use system fields in Title expressions/Build title from field

    Calculated system fields are prefixed with sys: to avoid being mixed up with user-created fields with the same name.

    Calculated system fields and their respective title expressions can be found here.