Org Edna Showcase

EmacsOrg

Introduction

I have recently started using the org-edna package to manage my classes. This is a small showcase of how I use it.

The Status Quo

For now, I have 6 classes, 3 on Saturday and 3 on Sunday. Previously, I used to have two repeating tasks for the classes like so:

* Class 1
SCHEDULED: <2022-03-12 Sat +1w>
* Class 2
SCHEDULED: <2022-03-13 Sun +1w>

The Problem

I revise the following after each class:

I wanted to have a system to automatically remind me of these after every class, which is where org-edna comes in.

The Solution

This is a simplified version of the setup I use now:

* TODO Class
SCHEDULED: <2022-03-12 Sat +1w>
:PROPERTIES:
:TRIGGER: children deadline!("Sun")
:END:
** Class Notes
:PROPERTIES:
:TRIGGER: self deadline!(rm) todo!("")
:END:
** Textbook
:PROPERTIES:
:TRIGGER: self deadline!(rm) todo!("")
:END:
** Module
:PROPERTIES:
:TRIGGER: self deadline!(rm) todo!("")
:END:

Now, everytime I mark the Class heading as DONE, all the child headings get a deadline of the next Sunday attached to them. when they are marked as DONE, their DEADLINE and TODO state is removed for cleanliness.

For this to work, however, you need to add this bit of code to your config:

(setq org-edna-from-todo-states 'not-done)

By default, org-edna will not run the TRIGGER if there is no TODO state. For more information, consult the Org Edna Manual.

Alternatively, add todo!(TODO) to the Class heading like so:

:TRIGGER: children deadline!("Sun") todo!(TODO)

Demo

TODO Class

Class Notes

Textbook

Module