Projectify question - sort by completion date/time

Hi,
I’ve been using Projectify (https://projectify.wiki/) for my task management needs and it’s been working really well so far. As a newbie, I’ve been working my way through filters to learn how to filter tags and fields in Projectify. I see that when the checkbox next to a task is checked, a new tag called “done” automatically gets added to to that task to mark it as complete. Question is, is there a way to list all my “completed” tasks, sorted by date and time, to help me visualize what tasks were actually done on a given day (like a done list)? Basically, something along these lines :

2021-12-31
07:05 AM coffee
10:03 AM Do the dishes

2022-01-01
07:01 AM coffee
09:01 AM Check mail

If someone could point me in the right direction to at least get started with this, would really appreciate it, thanks.

2 Likes

You could use the timeline Macro :

https://tiddlywiki.com/#timeline%20Macro (you can find the code of the macro here)

To display the time next to the title of each task tiddler, you can override the macro

timeline-title

To include the time of the task.

I use projectify in my core GTD wiki.
As @telumire suggested out of the box you can use the timeline macro as follows;
<<timeline subfilter:"tag[done]sort[]">>

Using advanced search Shadows we find the macro defined in $:/core/macros/timeline

When you mark a tiddler done it updates the modified field, however I modified mine to also set a done-date. this allows me to modify it with retrospective notes without impacting the modified/implied done date.

\define timeline-title()
\whitespace trim
<!-- Override this macro with a global macro 
     of the same name if you need to change 
     how titles are displayed on the timeline 
     -->
<$view field="title"/>

But it need not be a global macro, just redefined before use;

\define timeline-title()
{{{ [{!!done-date}format:date[0hh:0mm am -]] }}} <$view field="title"/>
\end
<<timeline subfilter:"tag[done]sort[]" dateField:"done-date">>

Change done-date to modified !

I am tempted to clone and modify the timeline macro $:/core/macros/timeline to also display tag pills for each items tags (except todo and done), I can’t do this in the timeline-title if I want them separately clickable.

2 Likes

Thanks @telumire and @TW_Tones for the suggestions, appreciate it.

@TW_Tones, I’m struggling to understand how to make your suggested changes, I might have to read up a bit more on TW macros. Please could you help me out here?

I found the $:/core/macros/timeline shadow tiddler that you pointed out, and replaced:

\define timeline-title()
\whitespace trim
<!-- Override this macro with a global macro 
     of the same name if you need to change 
     how titles are displayed on the timeline 
     -->
<$view field="title"/>
\end
\define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"",dateField:"modified")
<div class="tc-timeline">

with:

\define timeline-title()
\whitespace trim
<!-- Override this macro with a global macro 
     of the same name if you need to change 
     how titles are displayed on the timeline 
     -->
{{{ [{!!done-date}format:date[0hh:0mm am -]] }}}
<$view field="title"/>
\end
\define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"",dateField:"modified")
<<timeline subfilter:"tag[done]sort[]" dateField:"done-date">>
<div class="tc-timeline">

Does this seem about right? How do I get to the next step of viewing my sorted (completed) tasks? Sorry if this sounds like a really basic question, not sure how to figure this out myself.

Try this in a new tiddler

\define timeline-title()
{{{ [{!!modified}format:date[0hh:0mm am -]] }}} <$view field="title"/>
\end
<<timeline subfilter:"tag[done]!has[draft.of]sort[]" dateField:"modified">>

The example I gave referenced my extra date field.

This works on my projectify wiki.

Best not to modify the original.

[Edited] Minor correction and improvement to not show drafts.

2 Likes

Works like a charm. Thank you @TW_Tones !

1 Like