Outline View for Tables

A View that would make all the difference in the world for me would be an Outline View for Tables. Watch this gif of Omnioutliner by Omnigroup to see what I mean: omnigroup.com/assets/img/2020/outliner-54.mp4.

The Problem with NOT having this View:

  • With all of the current Views, it is very (very) cumbersome to quickly add Projects and Tasks in rapid succession. Entering inputs at the speed of thought is not currently possible. When adding a new Project, often you also add sub-Projects and Tasks and sub-Tasks, each of which is a child item to something else. It takes too many steps and disrupts the flow you’re in, which is not only frustrating in the moment, but it’s prohibitive to use Coda as a tool.

Why an Outline View is a solution:

  • Being able to type out the name of a Project, then hit Enter then Tab and type the name of a Task, then Enter then type the name of a sibling Task, then hit Enter then Tab and type the name of a sub-Task . . . that just works for rapid entry.
  • Being able to collapse an item to hide its children and expand it to see its children . . . that just works for getting a high-level view of your projects and tasks while allowing you to instantly drill down to see the details for any item if you’d like.

How it might work:

  • Again, Omnioutliner has already solved this—at least a main aspect of the experience.
  • Once you select Outline View for a Table, you would fill out a couple View Options fields. You would select the Column that is the “Child” item column: When you hit Enter and Tab in the Outline View, the new item created would be whatever type of item you selected. (That Column would need to allow multiple selections.)
  • Tab and Shift-Tab visually indent and outdent and functionally change parent-child the relationships (ie, the Child field of the parent item).
  • Maybe this only works for recursive Table relationships (where the “Child” column refers to items in the same Table as opposed to a different Table). But it could also work with multiple Tables, and when you hit Enter and Tab on an item from a Table that doesn’t have a “Child” column, it just wouldn’t work: you hit Tab and no indentation occurs. That said, maybe the necessity that indenting/outdenting changes the parent-child relationship would mean that the item’s Table-source would change, and maybe that’s just crazy and not possible and confusing.
  • I assume the Column chosen as the one you see and edit in Outline View would need to be a Text item. (Bonus points if the Display Column is what you saw instead, but as soon as your cursor is on the node, it swaps to whatever you’ve chosen as your Edit Column: that way you could have a Display column that concatenates multiple fields (eg, “:white_check_mark: This is an important task with a note :star::memo:”) but still be able to edit the text naturally and seamlessly like in an outline interview.)

Examples of Outline Interfaces: Omnioutliner, Workflowy

This would definitely be a huge win for me as well. Currently there is so much data which is hard to visualise in Coda. I would use this in every doc I create, if it’s available.

1 Like

This is sort of possible if you have a table with a defined hierarchy, here’s a little (anonymized) private setup I have to quickly navigate and open rows. Also have buttons to expand and collapse everything. Could easily add a button to add a new row as well

Recording 2024-01-30 141321.mp4 [video-to-gif output image]

Native support for this would of course be nice, but probably not a big priority

1 Like

Wow, how did you do that?

Interesting! This is on the canvas, isn’t it? Do you mind sharing a sample doc?

Oh I’m happy to see such interest ^^ Here you go, turned it into a minimal generalized public experiment for you :yellow_heart:

1 Like

Thank you @Rickard_Abraham ! This doc seems familiar; not the first time I see it :wink:

Do you think this would work with checklists? (Yeah, I tested it with inserting checkboxes in the Name column but no luck).

You’re welcome, glad to hear :sunglasses:

Sure thing! Just gotta combine that experiment with this experiment:

It’s the same trick - Using Concatenate() with Button()

Thank you, again!

I should’ve been clearer. The case I am trying to solve is a checkbox which ticks children checkboxes :slight_smile:

Ah alright no problem! That sounds doable with some modifications =) I’m offering consultations by the hour if of interest

1 Like

Let me collect few cases and will reach out. For now I am looking for possible but also practical and unless the users complain some features which might slow down the work might be avoided. This one with the checkboxes I find useful.

1 Like