Table for comparing status of notes in processing

What I’m trying to do

I am trying to create a table listing all my notes with categories showing the processing that still needs to be done.

Right now I have a checklist at the bottom of each note that lists the tasks where I mark them off when done. What I want is a table listing all the notes with the information from those checklists entered in so i can see at a glance which notes need what work. I also want the ability to expand or retract this table as needed as I refine the tasks that need to be done on when processing each note.

Here is a mock up of what I’m talking about. I’d like the notes column to contain a link to the note in question.

It might be nice to list instead of an X maybe the date that task was crossed off? If that’s too complicated its not a deal breaker.

Things I have tried

I saw this table elsewhere on the forums but I’m not sure how to adapt it correctly. It seems to break if I add more than six categories. I haven’t even tried linking it to the notes themselves.

TABLE WITHOUT ID
	upper(dateformat(dDate, "cccc")) AS Note,
	choice(rows.T.completed[0], "🟢", "❌") AS Titled,
	choice(rows.T.completed[1], "🟢", "❌") AS Dated,
	choice(rows.T.completed[2], "🟢", "❌") AS Corrected,
	choice(rows.T.completed[3], "🟢", "❌") AS Revised,
	choice(rows.T.completed[4], "🟢", "❌") AS Hyperlinked,
	choice(rows.T.completed[5], "🟢", "❌") AS Headings,
	choice(rows.T.completed[6], "🟢", "❌") AS RevisionDated
FROM "your-folder-path"
FLATTEN file.tasks as T
GROUP BY dDate
SORT dDate ASC

If its not obvious yet I know nothing about programming, I’m kind of learning on the fly here. Any help would be appreciated!

This kind of sounds like something the Metadata menu plugin would be good at handling with its FileClasses system. You’d need to define the FileClass accordingly to your requirements, but once that’s done you should be able to use the Table view of the FileClass to check the various bits and pieces. See https://youtu.be/6HZ3Cc10HS8 for 49mins of introduction to this tool.

If you want to have a go at this on your own, I’m not sure if tasks are the best option to track the progress. I would strongly consider adding checkboxes to the properties for each of these fields. Then you could adapt something like my recent answer on tag toggling to set or unset the various boxes from that table. See post below:

It would however require a little bit of coding, and possibly you’d want to have a “global” field for the file when all is completed so as to remove all the intermediate properties used to track your progress on that note.

Using dates or true/false checkboxes, I consider a matter of preference. Another option would be to use a single number where each field is assigned a binary number to allow toggling that particular field. That way you could have a single property indicating the overall status of your note processing. (I can describe this further if it sounds interesting, but it used to be a common trick back in the days to store bit flags into a single value. )

The query you’re referring to using the file.tasks I wouldn’t consider going forth with, as it would most likely break immediately when adding other tasks to your note, unless you include some other limiting to that task list, and I think it’ll be hard to manage.

Wow, thank you for all that. Its a bit above my head but I’m working my way through that long video and I can already see the potential of that metadata menu plugin.
Question though, you mention that I should consider adding checkboxes to properties. How do I do that? Do I need a plugin? I tried adding a markdown checkbox into my properties but it didn’t work. I think I am missing something…

Just add a property, and click on the type icon in front of the name, and select “Property type > Checkbox”. That would give it a nice checkbox, and it holds the values of true and false. This can then be used directly in a table query like:

TABLE choice(titled, "X", "❌") as Title, choice(dated, "X", "❌") as Dated, ....

And this could also be used to limit your query to those having any combinations of the requirements set or not set using combination of any() or all() or none(), like in the following any(list(!titled, !dated, !corrected, ..., !tagged)) where it would check if any of the listed checkboxes hasn’t been ticked yet, aka needs your attention for some reason.

And if you would like to go bonkers ( :smiley: ) you could implement something similar to that in the post below, which would allow you to tick of stuff you’ve done from the table displaying what needs to be done…