One of the first decisions you will need to make when you set up your org files
is whether to have a bunch of files, one for each context, or One File to Rule them All.
Having tried both, I found I preferred to have separate files. I have a "main" file called
gtd.org
, which I will talk about later, and one file for every context. For example,
there is cs225.org
and cs421.org
for two of the classes I teach. There is ielite.org
for a research group I am a part of. I have a subdirectory students/
where every student
working on a project with me has their own file.
My main reasons for splitting the files by context are to prevent needing a top level header
for everything (or else mixing unrelated projects and tasks together), and to keep the file
sizes managable.
My file headers contain the TODO
tags, a directive to have log drawers, and an agenda
format string. The last item is the file tag. Here is the header for CS 225.
#+SEQ_TODO: TODO(t) NEXT(n) STARTED(s) WAITING(w) DELEGATED(e) APPT(a) MAYBE(m) | DONE(d) CANCELLED(c) DEFERRED(f)
#+STARTUP: logdrawer
#+COLUMNS: %40ITEM(Task) %17Effort(Estimated Effort){:} %CLOCKSUM
#+FILETAGS: CS225
Each file has a subset of these top level headers:
- Tasks
- Projects
- Someday/Maybe
- Reference
- Meetings
- Appointments
- Archived Tasks
- Archived Meetings
## Meetings
I want to be able to keep track of meetings I go to, and especially
meetings I am in charge of. For this, every agenda file has a top
level header * Meetings
Each meeting has this structure:
** <2018-09-11 Tue 10:00-11:00> Admin Meeting
*** Tasks
*** Agenda
*** Notes
The headline is level 2, contains a date stamp in the header itself.
This causes it to appear in the agenda, and the agenda view automatically
knows to remove the date when it displays the meeting.
If I am in charge of the meeting I will fill out the agenda, and have a task
to email the agenda the day before. Tasks that arise during the meeting
as a result of decisions get filed under the respective file-level task
or project headings. The tasks here are only tasks directly related to
running the meeting itself.
The reason I do this is because of a super convenient function
org-clone-subtree-with-time-shift
with default keybinding C-c C-x c
. Set
up the first meeting with the proper date stamps for the meeting and any tasks
that will recur (like sending the agenda) and then duplicate it, shifting the
dates into the future as you do so.