Outline editor

Tana is a knowledge graph, with the interface of an outline editor. Think of it as an endlessly flexible bullet point list. Expand and collapse, zoom in and out, and reorganize your thoughts effortlessly.

Overview

Tana is a knowledge graph, with the interface of an outline editor. Nodes in a graph database do not usually come with any structure out of the box. The outline editor creates a tree structure, which defines hierarchical relationships between nodes, such as ancestors (nodes on higher levels) and descendants (nodes on lower levels).

Using an outline editor is the simplest way to organize ones thoughts. Instead of distracting you with styling, formatting and fonts, the outline editor nudges you to focus on the structure and flow of your thoughts, notes, arguments or stories. This will help clarify your thinking more than anything.

Each bullet point in the outline is a discreet piece of information, called a node. Nodes in Tana are the Lego pieces of your knowledge. Their atomic nature allow them to be rearranged, reused, and remixed in many ways. It’s a replacement for files and folders, and gives you the ultimate flexibility and speed. For more on nodes, see Nodes and references

Are there documents in Tana? Any node can become the "document" you are focusing on - just zoom into it. If you want to focus on one section, expand it and collapse the rest. In this way, the "node-as-document" adapts to your shifting needs and focus.

Basics

  • In Tana's outline editor, your information exists in a natural hierarchy. At the root of this hierarchy is the workspace node. From here, there are three main trunks where you can place new nodes: the Library, Home or Calendar nodes. The hierarchy looks something like this:
    • Workspace node
      • Library node
      • Home node
      • Calendar nodes
  • Different branches, different logics. On the home node, you can build your own hierarchical logic. On the calendar nodes, you are placing nodes according to the logic of time (e.g. days, weeks).
  • To nest information in the hierarchy, indent it with Tab. Indenting your information makes it easy to expand or collapse details as needed, and already imbues your information with structure and relationships by way of its place in the tree. You can outdent with Shift+Tab
  • Nodes are expandable and collapsible. This gives you full control over how much context you want to see, making complex information more digestible by breaking it down into manageable, collapsible parts. Press Cmd/Ctrl+/ to expand/collapse nodes under the current node.
  • Use references to refer to the same thing in different places. To copy a reference of a node, focus on the node and press Cmd/Ctrl+C (you should see a little bounce animation on the node), and paste anywhere else. If you update this information or change your mind about it, it'll update everywhere it has been referenced.

Details

Tana is a graph database with an outline editor interface

At its heart, Tana is a graph database - a powerful way to store and connect information. Tana lets you create the structure and connections that most naturally fits your data. It's the first product trying to give everyone access to the power of the graph.

But interacting with a soup of nodes is hardly practical. So we chose the outline editor as the default structure and interface to interact with the graph.

The structure of the outline

Owner and workspace nodes

Every node has a primary location in the tree structure. Think of this like having a home address - while you can be mentioned in many places, your content has one definitive location where it "lives." Every node has metadata that identifies its Owner node and the Workspace it belongs to:

  • Owner node: A node property that signifies which node it's directly nested under. A node can have many parents, but only one owner. If the Owner node moves, has its workspace changed, or is deleted, the nodes owned by this "owner" node are considered part of it.
  • Workspace: A node property that signifies the workspace this node belongs to. Permissions to see and edit nodes are all decided on the workspace level.

For more on other node properties, see Nodes and references

You can always see where content lives by checking the breadcrumbs at the top of the panel.

Node relationships

Ancestor and descendant nodes

A node or reference has relationships with adjacent nodes in the hierarchy, which can be described as follows:

  • A parent exists one level outdented from a node, making the node a direct ancestor of it. A grandparent exists two levels outdented.
  • A child exists one level indented from a node and is a direct descendant of it.
  • A sibling exists on the same level relative to a node

Fields and field values are treated as part of the hierarchy too.

  • In Tana, fields are considered a type of node that also exists within the outline hierarchy.
  • Relative to a node, a field that is applied to it is considered a child, and the field value is considered a grandchild of the node.

Structures beyond the outline

The outline editor provides a "familial" relationship between nodes. This hierarchical relation, however, is just one way that information can be arranged in Tana. A quick overview of other ways to structure your data in Tana:

  • By date: Every node has metadata like created/last edited times, as well as its associated calendar node if it exists as a descendant of one.
  • By supertag: A node that has a supertag is automatically associated with other nodes tagged with the same supertag. They belong to the same "class".
  • By fields: A field provides metadata so large sets of data can be subdivided into smaller and more exact groups. (out of 100 nodes tagged #task, 3 of them are marked "Priority").

You will usually use a mix of these different structuring tools on your data, sometimes all of the above. The less structure a node belongs to, the less important and findable it becomes. This is not a bad thing, it's just something to be aware of. Creating data structure is a constant fight against entropy, so it is wise to know which nodes are worth the effort.

View options beyond the outline

By default, the outline editor shows your nodes in List view. Changing the view settings of a node will affect how its child nodes are viewed. See Views for more on the types of views.

Move nodes within the outline

To indent/outdent nodes

  • Use Tab to indent a node to make it a child of the node directly above it.
  • Use Shift+Tab to outdent a node to turn it into a sibling relative to its old parent

To move one or more nodes up/down

  • With mouse, click and drag the node bullet up and down
  • With keyboard, press Cmd/Ctrl+Shift+Up arrow/Down arrow

The Move to menu

There's a new way to move nodes that uses a menu to quickly find the location you want to move something to.

To open the menu

  • With the node toolbar: Right-click or hit Esc on a node and select Move on the toolbar
  • With the node bullet context menu: Right-click on the node bullet → Move
  • With the keyboard shortcut: Cmd/Ctrl+Shift+M
  • With command line: Use the Move with finder command to bring up the menu.

Once the menu is open, to find a location in the menu

  • By search: start typing to find the location
  • By navigating: use arrow keys to traverse up/down/left/right through the tree

Once you have found the location, to move to that location

  • Use Enter if it's a node with no children
  • Use Cmd/Ctrl+Enter on a node with children
  • Hit Enter, twice

To move and leave a reference:

  • Use Option/Alt+Enter

Other ways to move nodes

With Cut/Paste

  • Cut a node (Cmd/Ctrl+X) and paste it elsewhere.

With command line

  • Use the Move command to move a node to a specific move target. You can define move targets by using the command Set move target on any node to add it to the target list.

See Navigation



Related FAQs

  • Why are line breaks not supported in Tana?
    Sep 26, 2024

    Tana's speed is reliant on each node being a small packet of information. Larger nodes are slower to edit, slower to index, slower to update, and so on. Line breaks would encourage longer entries of information, and would break many other situations where the contents of a node needs to be rendered as one line, such as inline references, option values, title expressions just to name a few.

    We do recognize that some want to store small pieces of information under one node, like a poem or quote. We are continuing to do research to explore ways to solve this, and also to solve for other issues related to long-form writing. If you would like to contribute your thoughts on this, please visit ideas.tana.inc and submit your thoughts under an existing or new post there.

  • What is the difference between the Owner and a Parent of a node?
    Sep 26, 2024

    The Owner is the node's home (where it was created). A node has only one owner, but can have many parents.

    PARENT / GRANDPARENT search operators are used to refer to one and two levels up in the outline, respectively

    Source of FAQ: Tana Community Resource Hub