Weekday-Only Routines in Org Agenda
I recently started using org agenda as a way to organize and plan todos and meetings. I use it for work projects, personal projects, and even parts of my life that don’t involve programming. My current use of the agenda mode is probably only in its beginning stages, however; I haven’t used it long enough to fully customize, nor have I had the time to explore the documentation and feature list as extensively as I would like to. But I think it’s already helping me be more efficient.
I took a lot of org mode customization from the excellent
guide published by Bernt Hansen. Reading
that document closely gave me some sense of what is possible with org, and a
familiarity with many of the major concepts. But there is so much there that I
wasn’t able to pick it all up and incorporate it into my workflow at once. I
picked out a couple concepts that seemed like the low-hanging fruit of
improvements to my workflow, and began to use those. Those were: 1) using
CANCELLED to mark items, and 2) tracking
and reporting time via org clock
Six months later those concepts were core parts of my workflow, and so I was able to notice another gap where I wasn’t being as efficient as I would have liked. That gap was the relationships my tasks have to specific times, and my awareness of those relationships. Some tasks have deadlines, some meetings happen at the same time every day, and sometimes I’d like to be able to say, ad hoc, “I’ll start this thing next Tuesday.”
This is all easily accomplished by placing timestamps under the heading of a task. But one thing that wasn’t obvious to me at first was how to tell org agenda that a meeting happens, say, only Monday through Friday at 10am.
This is the particular case of the daily standup, which we practice at my work.
My first attempt to represent daily standup in my org agenda was to put a daily
repeating timestamp under the
Standup task header for a project.
**** Standup <2018-01-01 Mon 10:00 .+1d>
But this results in an agenda view where the standup is scheduled for the weekend days.
Saturday 24 March 2018 work: 10:00...... Standup Sunday 25 March 2018 work: 10:00...... Standup Monday 26 March 2018 W13 work: 10:00...... Standup Tuesday 27 March 2018 work: 10:00...... Standup Wednesday 28 March 2018 work: 10:00...... Standup Thursday 29 March 2018 work: 10:00...... Standup Friday 30 March 2018 work: 10:00...... Standup
Once I actually set out to fix this, it wasn’t hard to find an answer. Now my standup timestamps look like this
**** Standup <2018-03-14 Wed 10:00 .+1w> <2018-03-15 Thu 10:00 .+1w> <2018-03-16 Fri 10:00 .+1w> <2018-03-19 Mon 10:00 .+1w> <2018-03-20 Tue 10:00 .+1w>
And my agenda view correctly shows the standup meeting only on the weekdays.
Saturday 24 March 2018 Sunday 25 March 2018 Monday 26 March 2018 W13 work: 10:00...... Standup Tuesday 27 March 2018 work: 10:00...... Standup Wednesday 28 March 2018 work: 10:00...... Standup Thursday 29 March 2018 work: 10:00...... Standup Friday 30 March 2018 work: 10:00...... Standup