Dataview task and project examples

Thanks for sharing! If you got it from github, it wasn’t me! I’d love to see some screenshots of how your process works (no pressure though I know it’s a lot of work lol). I love getting new ideas for how I can tweak things! I’m really excited about managing tasks, projects, goals and beyond in Obsidian because plaintext! Future proofed! No proprietary format or lock in! :sunglasses:

2 Likes

Thank you! There are a few reasons that I use inline fields vs yaml.

  1. A link in yaml doesn’t show as a backlink.
  2. If you rename a page you have linked in yaml the link doesn’t auto update like it will in the page.
  3. yaml doesn’t allow for linking something like [[@person]] and this is how all of my people pages are titled.
  4. I like to write inline as I find it much more natural and can give me more context.
  5. Fields inline seem to be much more forgiving as far as syntax goes vs yaml. You can use normal lists, format with markdown, etc. yaml seems fragile to me. Hope that helps!
24 Likes

Wow, really cool! Thanks for sharing!

You mention: “these all roll up to Goals, Aspirations, Pillars, etc”. I am curious, could you explain a bit more about what that means? Is this similar to the Notion PPV framework of August Bradley? (I saw PPV was mentioned in the screenshots in the Knowledge Management post so I thought that might have been a source of inspiration for your system?)

2 Likes

Yes, August Bradley’s PPV is a big inspiration for my system!

What I mean when I say rolls up is that all of the smaller pieces belong to a larger piece above them. So all of my tasks belong to a Project or a Habit/Routine. All of my Projects or Habits belong to a Goal, all of my Goals belong to an Aspiration. All of my Aspirations belong to a Pillar.

These are all connected via metadata and backlinks and each has their own page with a dataview table so I can see everything at once (similar to the Projects page).

5 Likes

Yes!! Love hearing these reasons. YAML felt so fragile and inline felt so much better, but those were just feelings. Seeing how you articulated it, it is now very clear in my mind. Thanks for sharing your work and explanations!

4 Likes

Thank you for sharing. this is really cool!!

Somehow progress in projects view is not working for me. I see that this value is calculated from tasks which is field in project template but I am wondering how it is populated?

2 Likes

Thanks @arminta & @davecan for all your posts and this one in particular. I’m looking to rip and replace Notion as my task manager + meeting notes store and this gives me so many ideas and motivation. I started looking at OmniFocus, but it just doesn’t give me the customization (metadata) that I’d like and now I have a fantastic solution.

I’m curious if you have more than one Obsidian vault, similar to @davecan, one for task / project management and another for PKM / Zettlekasten?

2 Likes

Hey @davecan - how do you name the files of your actions / tasks?

They are given a normal name capturing that action. E.g. Tell Bob about blah as a fine-grained one or Develop strategy for foo for a broader one.

All actions go in an Actions folder. All projects go in a Projects folder. Project notes are typically converted into folders using the Folder Notes plugin.

Thanks to Keyboard Maestro I can press Ctrl-A to create an action, Ctrl-S to create a significant action note, Ctrl-M to create a meeting note. KM prompts me for a title and then creates the note, names it appropriately, applies the template, etc. Just takes about 3 seconds.

2 Likes

Thanks for the detailed insights!
From above I see that you use tags for all your projects, does this mean that if you were to rename a project you’d have to rename it in 2 places"

  • the #project tag
  • the project folder / note

I personally wanted to use a “note” as a project, but ran into some strange behavior of dataview with that.

That is a very weird bug, hopefully it gets fixed.

Yes if I were to rename a project it would have to be renamed in the tag as well.

I considered using metadata instead of a tag but I liked the “visual” of having the project tag attached to actions.

It looks like this which I find very pleasant and intuitive, since it reads as “this is an action belonging to that project”

One downside is it means a query for #project also returns these so I have to filter out where file.tags also contains #action.

The meeting note & person notes & project notes all have queries that find where this.file.link is referenced in actions along with their status/reason. In the project notes it also has a filtered query showing only actions for that project tag (injected to the dataview query via Templater when the note is created from the template). Person templates show me what actions I owe to that person, what I’ve delegated to them, what I’m waiting on from them, etc.

Hi, really great use of obsidian together with dataview. You inspired me for my own task and project management within obsidian. But I have one question regarding your project template and the project overview table.

Do you fill out the tasks:: field manually or how does the length() and sum() functions are working there? It looks like you would query a dataview query? That would be awesome, but I can’t get it to work.

1 Like

Yeah it is very strange. Have you come across it in your system?

Thanks for the insights into your system!
Would you mind sharing the query that you have within each of you “person” files?

I’m a new user, so do I understand correctly that by using dataview table for tasks I have to create a new page for every task? I know there is a TASK type, but I’d like to use a TABLE.

This doesn’t work for example (writing tasks on a single page):

Task:: foobar
Priority:: 2
Tag:: #personal

Task:: barbaz
Priority:: 3
Tag:: #personal

Dataview table:

TABLE Task, Priority FROM #personal

This shows only the last entry (“barbaz”) in the dataview table. So I need to create a new page for every task with its own metadata, right? But with this method, the vault could be cluttered with small files after a while. :thinking:

I got it working with separate files for tasks. I created a “new task” template and I’m using the metatemplates plugin to quickly create a new task file with it. Then I put them into a table with Dataview (selecting all files from the Tasks folder).

Hello Arminta:

I see the tasks template but I don’t see the projects template. could you post the content?

Note (another, hehe): I am honest that Dataview and DataviewJS are getting a bit complicated to manage.

Thank you for posting this its amazing, I am just starting to dabble with dataview and this has set a whole string of inspirations, two questions:

  1. How do you get to add a button? That snippet does not do anything for me
  2. Your screenshots show sorting arrows on the column heading, how do we get that?
2 Likes

Exactly!

Advantage Obsidian! Not to mention I can link to my knowledge graph.

Thanks for sharing! Your work is just the right input at just the right time for me. Hugely appreciated. :+1: :+1:

Hi all!
I realised that many of us started playing with this wonderful plugin called Dataview. Which is a great thing, but usually we have relatively the same problems to be solved by scripting Dataview, therefore I created a git repository to collect the scripts and queries of DV in one place in order to find them easier, to inspire others, and to use them out-of-the-box or after a tiny customisation.
Here it is: GitHub - akosbalasko/obsidian-dataview-scripthub: It's a place to collect awesome scripts developed on top of Obisidian's Dataview plugin
Please feel free to contribute by creating a PR, let’s build a piece of script-paradise there!

3 Likes