Show nested objects hierarchy on parent page or in sets

WHAT DO YOU RECOMMEND

Task management applications like TickTick and Todoist provide a simple way to enter and display tasks and subtasks as a nested hierarchy. This feature would make Anytype much more useful for task management.

HOW COULD IT BE DONE

Add a Task object to a Page. Enter subtasks in parent task page. Show subtasks on the Page under the parent task block as a nested hierarchy like the “Toggle” Text Style.

REAL WORLD USE CASES

The task hierarchy display would be useful for task management.

RECOMMENDED ALTERNATIVES

Awkward workaround: Enter subtasks in parent task page. Enable Toggle Text Style on parent task block. Copy subtasks under parent task block.

@jimglarsen, thank you! Nice idea! Let me think thoroughly about how we can apply this approach to other conditions (Sets, Collections, etc.)

Seems like this could be easily implemented since there already is a mechanism to show certain relations in links.
image

As for sets, I’m not really sure if anything would even need to be changed since the OP is recommending to use an relation which can already be shown in sets. Unless I’m not understanding their request correctly.

Of course, if you wanted a more specific integration, you could try and implement some specific code to make it function more like Todoist and TickTick. But that can kinda be implemented with the group function after it is released. If you grouped objects by their parent relation, you would get something like what TickTick and Todoist do.

I am also looking for efficient ways to view and work through subtasks without them flooding my main tasklist

I really miss this.

In my opinion, the only way that would be satisfying is the ability to collapse/expand a task in a set/collection to show the subtasks, as @jimglarsen suggested.

I’ve tried a lot of workarounds using relations but nothing works.

This is the most pressing feature to truly use Anytype for task management.

WHAT DO YOU RECOMMEND?

add a subpage hierarchy of objects in grid view for sets and collections

also add another setting in the view to filter out some unnecessary object relations

HOW COULD IT BE DONE?

using the same logic objects are displayed and linked in graph view, but in a grid and list view displayed as a toggle hierarchy

you might also want not to display parent object as a child object at the same hierarchy to avoid loops

REAL WORLD USE CASES

here’s how it might look and be used with example from ticktick

RECOMMENDED ALTERNATIVES

  • linking each related page inside page
    drawbacks: this way i cannot see the whole picture and thus it’s quite hard to estimate the whole volume of the information i have about this topic
  • using a graph view
    drawbacks:
    it doesn’t display additional info as it does in grid view and is quite confusing when having a large amount of connections

ADDITIONAL CONTEXT

to me personally this thing is absolutely vital if you have intention to do project and task management inside anytype

VISUAL PERSPECTIVE

Three situations come to my mind when thinking about sub-items:

  1. Sub-items in a grid (collection or set)
  2. Sub-items in the object’s contents
  3. Sub-items in the sidebar widget

Grid (1) visualization can be referenced from Notion. They did it pretty well and support a bunch of nice options.

(2) Sub-items in the object’s contents are not supported by Notion, and I miss it. It would be really useful. Some additional questions here:
2.a) Will AnyType also support nesting of sub-items in the object’s contents? (hierarchy of sub-items of sub-items) For example, if one links a task on a page and than adds another task as a sub-task of the first one, and then adds a third one as a sub-task of the second one. This would be cool. But adds complexity and ambiguity, because in some cases users might want to see only immediate children (sub-items) and in other cases the whole hierarchy: this option is similar to option in sidebar widgets when choosing list vs tree. It might be challenging to make a clean UI for this.

2.b) If user drag&drops sub-items in a grid or in a sidebar, this should change the order of sub-items in the object’s contents as well. Generally this is supported by Notion when user changes the order of pages in the Notion’s sidebar, their order also changes in the page contents. So Notion can be used as a reference here.

(3) Sidebar widget should display sub-items and allow changing their order and their hierarchy by drag & drop.

MODELLING PERSPECTIVE

Generally, I see two main approaches for modelling sub-items:

  1. Notion-like approach by using a dedicated relation for that (e.g. sub-items or parent — can be unidirectional for beginning until bidirectional relations are supported)
  2. The opposite approach of using object’s contents links for definition of sub-items.

I like the 2nd. From my experience Notion’s approach is inconvenient. But 2nd approach is not so easy.

If AT decides to go 1st approach — it would be straightforward as you could use Notion for reference. But this approach feels weird because naturally one would expect that objects from the object’s contents links are sub-items. Having two separate relations complicates user’s thinking.

For the 2nd approach, AnyType would need to redesign their object linking capabilities. Currently AnyType supports only one type of linking between objects. While Notion supports two types of linking: association and composition.

I will give examples. Let’s say we define a project consisting of a tree of tasks. We want to define this tree of tasks in the project’s description (contents of the AnyType page).
So we write down project description and put some tasks in it, which are considered tasks of this project. This is a composition (or can be also aggregation: I will explain the difference later). But at the same time often we would refer to some tasks (mention them) without defining them as project’s tasks. They can be like “see also” category or referring to some preceding projects and tasks. This is association. These tasks are associated with the project but do not belong to it! This is a very important distinction and Notion models this well:

  1. If user presses / — this creates a composition
  2. If user presses @ — this creates an association (like shortcut), and it will have special icon (try doing this in Notion)

AnyType does not model this now. Both @ and / would always create link.
I think AnyType should redesign this and follow Notion’s approach. @ for light associations, and objects linked in such way should not be considered sub-items and included in hierarchies. / for compositions or aggregations, and objects linked in such way should be considered sub-items and included in hierarchies.

What is the difference between aggregation and composition? (simplified)
Composition means that when project is removed, all its tasks are removed as well. AT does not support this now.
Aggregation means that when project is removed, all its tasks are not removed. This is how AT works today. But aggregation still has a semantics that tasks belong to the project. The difference is whether the removal of parent removes its children or not. Like in real life removal of university department, does not remove its students.

I’m fine with both options. Although I like composition more for its cleanliness.

EDGE CASE

Imagine such hierarchy:

[+]- Project
       |
      [+]- Task 1
             |
            [+] Page
                 |
                [+] Task 2

Is task 2 a sub-item of task 1?
From my perspective — no. Page is a sub-item of Task 1. And Task 2 is a sub-item of a page. But it is still a question how to render this in a grid of tasks? Will Task 2 come underneath of Task 1? A cool approach would be to output this whole hierarchy starting from Task 1 in a grid of tasks. And when user clicks Page under Task 1, there can be an empty row for it in the grid. However since even objects of different types can have same relations in AT, this makes hierarchical grids super powerful.

Sorry, but doesn’t that contradict the basic concept of Anytype?

At first it took me some time to get used to the pure object orientation of Anytype, and now that I have settled in, I find it difficult to understand the desire for hierarchy and subpages.

This feature request might be the same or very similar to this other request.

I would say fix hierarchy might be difficult to be implemented across the whole Anytype because in data processing, linkage can unstoppably expand and might create loop; thus fix hierarchy can be processing heavy and could limit flexibility of contexts and viewing angles (See detailed explanations here about fix hierarchy vs dynamic relation.)

  • What you could do is to create pesudo hierarchy
  • If toggle for every block is implemented, you use be able to create your own structure in canvas for object display. There is no need for implementation of fix hierarchy between objects.

A different approach to fix hierarchy or preset nesting would be a way to customise or create a (on-demand) static or dynamic representation of hierarchy through relation.

try notion projectplanner, the subitems can be folded or unfolded, it’s really helpful.

chart’s hight is too much, give us an option choosing one row.
just learn notion please.

WHAT DO YOU RECOMMEND?

ability to add sub topics in a object in list view

HOW COULD IT BE DONE?

toggle feature in front of object which collapses or shows the sub topics

REAL WORLD USE CASES

this feature can be used to keep track of sub topics like active recall. for example- in list view the object is economy the sub topics are inflation,employment,etc.

RECOMMENDED ALTERNATIVES

i tried another app called notion it has this feature but lacks offline abilities

ADDITIONAL CONTEXT

the ability to type anywhere on page like on onenote where in a box like thing starts forming when we start typing. idk what this feature is called but its damn great and will make the app stand out in terms of note making

could you add screenshots or elaborate this further?

It sounds interesting, but I’m not sure if I understand correctly.

What do you mean by list views, sets and collections or an inline list (block element)?

Perhaps a screenshot of Notion would help visualising it.


like this

Is this just a duplicate of this then:

i dont know sir that existed ,sorry if i repeated the same thing but i have shared one screenshot of what feature im suggesting . such feature would be highly useful for students who need to track multiple sub topics under one topic over a longer period of time for revision,deadlone,test etc

I would like to bring this feature request to the attention of more people.

same again +1, match what is market expectation and the same as notion.