How to track ToDos by their details (properties?)?

Hi Everyone,

TLDR: How can I query Properties that are Page References?

Detail: I LOVE the idea of using the Daily Journal to record my workday - including meeting notes, email, and other work processes.

I envision using a template when creating a ToDo, so I can capture properties of the ToDo that are important to me - like what project it is for, who do I inform to consider it done, who owes me work to get it done, priority, reportability, etc. An example (fiction) would look something like this:

	- TODO NOW Determine the cost of cheese, per taco.
        Project:: [[Product Costing]]
        Effort:: 
        Inform:: [[Sally Smith]]
        OweMe:: [[Chef Jose]]
        Priority:: [[High]]
        Reportable:: No

I want to be able to then find the things I need when I need them:

  • I want to be able to see ToDos the most common ways - By Priority within a Project, By Priority (independent of Project), recently completed, past deadline and not done, etc.
  • When it is time to Report, I want to be able to quickly find the items I’ve marked at Reportable within the past two weeks.
  • When I chat with a colleague, I want to be able to pull up the items that I need to Inform them about and the things they OweMe (effort I need them to provide to complete the ToDo).

I’m new to trying this in LogSeq, am I at all on the right path with Properties for every Todo, or is there a smarter way to do this? It feels like I’ve found a cumbersome way to do this when maybe better tag planning or hierarchy might work (I’ve tried those but didn’t get close).

When it comes to Queries, I’m confused that the following query works, but ONLY if I remove the brackets from the person’s name in BOTH the Query and the ToDo Properties (and of course, I want them as tags in the Properties - since that is the page I envision having the queries - the “Marketing” page would have the queries for Marketing, the “Paul Jones” queries would be on the “Paul Jones” page):

#+BEGIN_QUERY
{:title [:h2 "Things I need from Paul"]
 :query [:find (pull ?b [*])
       :where
       [?b :block/properties ?p]
       [(get ?p :oweme) ?t]
       [(= "[[Paul Jones]]" ?t)]]
 }
#+END_QUERY

P.S. - is there a translator to Datascript for SQL people. :slight_smile:

Thanks for any guidance/expertise you can provide,

Russell

1 Like