Getting Things Done with Org Mode
Table of Contents
- File Structure
- Capturing to
Inbox.org
- Clocking Time and Generating Reports
- Figure out how to store resources
- When to do reviews and how often
- Do I keep a journal?
- integration with outlook
- integration with chat services
- set up capture templates
- what Task Keywords should i use?
- Use Tags for contexts and determine what they should be
- how to handle archiving, separate file or tag
- set up refile
- tickler/someday/incubate
- how/do I separate work and personal
- include a resource outlining how to perform each task of GTD
- Spacemacs on Android
- Org Mode and Jira
Work in Progress.
File Structure
The below is how I currently have my org files organized.
org ├── archive │ ├── gtd.org_archive │ ├── projects.org_archive │ ├── someday.org_archive │ └── tickler.org_archive ├── blog │ ├── article │ │ ├── article1.org │ │ ├── article2.org │ │ ├── article3.org │ │ ├── article4.org │ │ └── article5.org │ ├── index.org │ ├── js │ │ └── basic.js │ ├── sitemap.org │ └── styles │ └── basic.css ├── gtd.org ├── inbox.org ├── journal.org ├── maybe.org ├── projects.org ├── ref │ ├── client1 │ │ ├── Task1 │ │ │ ├── Task1.org │ │ │ └── resource │ │ │ └── Task1.overview.png │ │ ├── Task2 │ │ │ └── Task2.org │ │ ├── journal.org │ │ └── time.org │ ├── client2 │ │ ├── Task1 │ │ │ ├── Task1_Requirements.txt │ │ ├── Project1 │ │ │ ├── Task1 │ │ │ │ ├── Task1.org │ │ │ │ └── Task1Diagram.png │ │ │ ├── Task2 │ │ │ │ ├── Task2.txt │ │ │ │ ├── Task2.sql │ │ │ └── Task3 │ │ │ ├── Task3.xlsx │ │ │ └── SubTask1 │ │ │ ├── SubTask1.sql │ │ ├── Client2_Policy.docx │ │ ├── journal.org │ │ ├── time.org │ ├── home │ │ ├── CodeSnippets.org │ │ ├── finance │ │ │ ├── data │ │ │ │ ├── Bank1.csv │ │ │ │ ├── Bank2.csv │ │ │ │ ├── card1.CSV │ │ │ │ ├── card2.CSV │ │ │ ├── finance.org │ │ ├── journal.org │ │ ├── RandomThoughts.org │ ├── client3 │ │ ├── Task1 │ │ │ ├── Task1.vsdx │ │ │ ├── Task1.docx │ │ ├── journal.org │ │ └── time.org ├── sitemap.org ├── someday.org ├── styles │ ├── email.css │ ├── htmlize.css │ └── readtheorg.css ├── tickler.org └── www ├── blog │ ├── article │ │ ├── article1.html │ │ ├── article2.html │ │ ├── article3.html │ │ ├── article4.html │ │ └── article5.html │ ├── index.html │ ├── js │ │ └── basic.js │ ├── sitemap.html │ └── styles │ └── basic.css
- ~/org/
- archive/
- gtd.org_archive
- someday.org_archive
- tickler.org_archive
- blog/
- article/
- AllAboutFoo.org
- AllAboutBar.org
- AllAboutBaz.org
- index.org
- js/
- basic.js
- css/
- basic.css
- sitemap.org
- generated when publishing blog files
- article/
- ref/
- directory to store long term notes
- has sub directories for separate clients and another called home for personal projects
- organize in any way that makes sense
- used to reference from agenda files because as you move files around you will end up breaking links
- I usually include a journal for random notes from phone calls or stand ups
- styles/
- directory for css files that are used in exporting to html
- www/
- publish directory for blog and gtd
- gtd.org
- inbox.org
- someday.org
- maybe.org
- sitemap.org
- generated when publishing gtd files
- archive/
The ref directory will be filed by project and can be filed in any way that makes sense and they can be rearranged as necessary.
Capturing to Inbox.org
The inbox.org
file is the main entry point for anything that you want to add
to your gtd files. The simplest way of doing this is by adding a headline to
your inbox.gtd
. Another useful way of doing this is by using org-capture.
Below is an example of an org capture template. You would want to include this
in with-eval-after-load
for org in dotspacemacs/user-config
in your
spacemacs config file.
(defun dotspacemacs/user-config () (with-eval-after-load 'org ;; omittted code for brevity ;; org capture templates (setq org-capture-templates `( ("i" "Inbox" entry (file "~/org/inbox.org") ,(concat "* %?\n" " Entered on %U %i\n\n" " %a\n")) ("t" "Task" entry (file "~/org/inbox.org") ,(concat "* TODO %?\n" " Entered on %U %i\n\n" " %a\n")) ("v" "use clipboard" entry (file "~/org/inbox.org") ,(concat "* %?\n" " Entered on %U %i\n\n" " %x\n")) ("c" "Call" entry (file "~/org/inbox.org") ,(concat "* %?\n" " Entered on %U %i\n\n" " %a\n") :clock-in t :clock-resume t) ))))
and then from within spacemacs type SPC a o c
or from within an org buffer
,c
and then you may choose a template. You will then be within a temporary
buffer where you can continue to type add anything you like. I will ordinarily
add a title and then save the capture with ,,
, and continue editing the
capture from the inbox buffer.
Clocking Time and Generating Reports
I typically use tags to track different projects time and todo headlines to keep track of specific task time.
You can add tags to specific file as described here, or you can set
org-tag-alist
to something like the below to add them to all org files. Not
all of the below tags are used for tracking time, later we will see how to
generate reports from headlines with specific tags.
(defun dotspacemacs/user-config () (with-eval-after-load 'org ;; omittted code for brevity (setq org-tag-alist '(("@home" . ?h) ("@computer" . ?c) ("@work" . ?w) ("qux" . ?q) ("baz" . ?b) ("personal" . ?p) ("client1" . ?1) ("client2" . ?2) ("client3" . ?3) ("family" . ?f) ("dog" . ?d)))))
To generate a report for a sprint I would put the tstart
and tend
for the
sprint start and end dates, to generate a summary for that sprint. To
generate the clock report simply type ,,
while the cursor is on the begin
line.
#+BEGIN: clocktable :scope agenda-with-archives :tstart "<2019-03-30 Sat>" :tend "<2019-04-06 Sat>" :maxlevel 9 :link t :tags "client1" :match "client1" :narrow 300 #+END:
For a day by day breakdown you can add :step day
.
#+BEGIN: clocktable :scope agenda-with-archives :tstart "<2019-03-30 Sat>" :tend "<2019-04-06 Sat>" :maxlevel 9 :link t :tags "client1" :match "client1" :step day :narrow 300 #+END:
or simply type ,CR
under any headline. for more information on see here or
Tracking Time In Agenda.
Figure out how to store resources
When to do reviews and how often
There should be a weekly review where you look through your notes, calendar, post-its, text messages, any thoughts rattling around your head and put it into your Inbox for processing. D.A. suggests using Friday afternoon and give yourself a two hour block.
Do I keep a journal?
I like the journal at first, it was closest to the paper notebook I used to use. But even with tagging I am finding it inconvenient to have to reference up the tree for it. I think I will keep the date tree structure though for recurring event notes. perhaps kept in references folder/file
[ ]
add part about how I use journals to store notes in date trees
integration with outlook
David Allen recommends organizing your emails outside of your Inbox, and keeping it in its own system. I know emacs can do email, but I think it would be better to keep it in outlook. It would be nice if there is a way I can link to maybe a outlook 365 page? Could download the message and store it but that seems excessive.
talks about implementing gtd in outlook
integration with chat services
set up capture templates
Can I have different capture templates depending on which file the capture originates? org-context
what Task Keywords should i use?
record state changes for gtd i think we can drop the todo, all items in the gtd file are actionable what is important is identifying the next, in progress seems redundant when also clocking the time
Use Tags for contexts and determine what they should be
should there be a lot of different tags? Can they overlap?
use @
for contexts tags to more easily differentiate them from regular tags.
how to handle archiving, separate file or tag
use a separate file for archiving, so they don't clutter your view, can maybe use one file to archive everything?
set up refile
Can you refile to an archive? how_do_orgrefiletargets_work orgmode-gtd
tickler/someday/incubate
I think i can maybe use multiple. Tickler would be things specific to days of the week and months. Someday is currently planned as a todo item. But I think that it should be either a list or a separate file. Is someday equivalent to a backlog if so, then I might want to keep in gtd.org else I might want to keep it separate. You can always switch to the other easily at a later time.
Incubate would be for things that there is nothing to do on now, but there might be later.
Incubate vs Someday vs Tickler
Someday: I'm actually going to do it, I just don't know exactly when. So, upgrading a server, painting the house - things that really do need to get done, but they aren't active right now.
Maybe or Incubate: I'd like to get it done, but there's no assurance that it will ever happen. I think there's a subtle difference between these two, but I just call them Maybe.
Tickler: Something that I don't need to think about until after a certain date. These may link to tasks that are active now - for example, I may send a review version of a document to someone, and set a tickler to remind me to remind them in three days that I'm waiting for a response.
Or ticklers may link to Maybe tasks - for example, I may have a tickler for September 1 that tells me, "Think about whether to order spring bulbs this year." I have a Maybe project where I've put all of my spring bulb thoughts, and this tickler reminds me to decide whether to activate this project this year, because if I don't activate it soon after September 1, it will be too late.
Need to set up script to pull what ever is the tickler for that day into the Inbox.
Tickler forty three folders or in our case headlines 1-31 for each day of the month, and twelve for each month.
how/do I separate work and personal
I don't think I should really keep them separate. They will have their own projects but other than that they should be treated like work.
include a resource outlining how to perform each task of GTD
will be important until you get the hang of it and internalize it.
Spacemacs on Android
Getting Spacemacs Running On Android
Entered on
Updated onMy main goal was to setup Spacemacs (Emacs) org mode on Android with Termux. For anyone that has used org mode, I don't need to tell you why I would want to do this. For those that haven't heard org mode, it's hard to explain what it is, because it some many things to so many people. For starters it can be an outlining tool, a time tracker, a task tracker, a publishing tool for papers, blogs, and slide shows are but a few of the possible uses of org mode.
Setting up spacemacs on android was suprisingly easy to set up and does not require root. In fact I am writing this article within spacemacs on my samsung galaxy s9+.
- Required
- termux
- Optional
- Hacker's Keyboard
- fdroid store
- CodeBoard
- google play store
- usb keyboard
- otg cable
- bluetooth keyboard
- Hacker's Keyboard
My main function for wanting to use org mode from my phone. I have recently started learning to use org mode, I have been a vim user now for about two years and have been fairly happy. Recently I had started a new job which required a new level of multitasking. I remembered when I was first comparing emacs to vim.
Logi Keys to Go Review
Entered on
Updated onI just started playing on this thing, and so far it seems OK. The keys honestly seem a little stiff. Maybe this will get broken in after a little usage. We will see.
Dislikes:
- No Control Key on right side
- You have to hit the
fn
key to use escape Included stand does not fit my phone with case
- instead have propped phone up on it, maybe get a kickstand
Likes:
- Light
- Quiet
- Can slip into back pocket.
Seems like it could be good for taking notes in meetings, where a laptop might not be appropriate. May still not be ok, depending.
I've had it a little while now.
I've used it with two different devices so far. I originally bought it to use with my phone, and I think this works well. I normally keep it in my car as an emergency keyboard that I can use with Termux and Spacemacs (Emacs) org mode to take notes from my phone. (Read more about that here)