[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[emacs-wiki-discuss] 3-pages instead of day pages
From: |
Trent Buck |
Subject: |
[emacs-wiki-discuss] 3-pages instead of day pages |
Date: |
Mon, 31 Oct 2005 04:27:28 +1100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
I've been reflecting on how I use planner this week; here's my
synopsis. http://twb.ath.cx/notes/on-planner.pdf
http://twb.ath.cx/~twb/doc/muse/HTML/on-planner.html
The transcript follows for easy quoting in replies.
#title On Planner
#subtitle How I use Emacs' Planner-Mode to manage tasks.
* Introduction
Using day pages just wasn't working for me. I never scheduled anything in
advance, so all the open tasks just sat on the present day page. Each day, any
separation of the tasks into groups would be lost as all the unfinished tasks
were brought forward. And the fact that a new file was being created each day
and about forty lines being deleted from one file and added to another made
using version control to manage the archive everything a real pain in the arse.
Lastly, the huge numbers of day pages felt messy and the average of of one
completed item per page was depressing.
* The Glorious Ascetic Dream
When I migrated to planner-muse, the current "canonical" branch, I took the
opportunity to think about how I go about planning. The first few pages I
started migrating only had a dozen or so items each (and no notes), so I
initially intended to have only three pages:
- OpenTasks would contain all the tasks I was currently working on;
- ClosedTasks would contain tasks that I had completed; and
- FutureTasks would contain tasls I hadn't started yet.
Whenever OpenTasks became empty (yeah, right!), I would look in FutureTasks for
things to do. New tasks would go into FutureTasks unless they were urgent. In
place of plan pages, all three pages would have the same hierarchy of headings
(lines beginning with asterisks), with each immediate subheading under =*
Tasks=
corresponding to the old plan pages. Adding
<example>
(add-hook 'planner-mode-hook 'outline-minor-mode)
</example>
to my .emacs would allow me to use outline's collapse and narrow features to
hide information I wasn't currently interested in.
* Disheartened But Still Determined
It didn't work. As I began to migrate more complicated, disparate plan pages,
I began to wonder how to keep notes attached to their tasks, and how to keep
the hierarchy consistent on the three pages. Most importantly, I previously
had a plan page for each contract I was working on, and was using
planner-timeclock to generate timesheets. How the hell was that going to work
under the three-page model?
So I came up with a new Grand Scheme. Plan pages would be reinstated and used
to manage projects. The three-page model would be used instead of day pages,
but 3-pages would be auto-generated from plan pages. Consequently, plan pages
would be under source control, but 3-pages would not. Here's the makefile I
wrote to generate 3-pages.
<example>
default all: Closed.muse Open.muse Prospective.muse
Closed.muse: $(wildcard [a-z]*.muse)
( echo '* Tasks'; \
for i in [a-z]*.muse; do \
echo "** $${i%.muse}"; \
grep '^#[ABC] [XC]\|^\*\*' "$$i" \
| sed "s/^\*/**/;s/\$$/ ([[$$i][$${i%.muse}]])/"; \
done ) > $@
Open.muse: $(wildcard [a-z]*.muse)
( echo '* Tasks'; \
for i in [a-z]*.muse; do \
echo "** $${i%.muse}"; \
grep '^#[ABC] [oP]\|^\*\*' "$$i" \
| sed "s/^\*/**/;s/\$$/ ([[$$i][$${i%.muse}]])/"; \
done ) > $@
Prospective.muse: $(wildcard [a-z]*.muse)
( echo '* Tasks'; \
for i in [a-z]*.muse; do \
echo "** $${i%.muse}"; \
grep '^#[ABC] [_]\|^\*\*' "$$i" \
| sed "s/^\*/**/;s/\$$/ ([[$$i][$${i%.muse}]])/"; \
done ) > $@
</example>
It's a very simple minimal, and has a lot of room for improvement. It doesn't
narrow to the =* Task= section before scanning. The bracketed links should
only
be added to task lines (not subheading lines), and they should use the plan
page's title when it is defined. Also, subheadings and plan page headings
should not be listed at all if there are no relevant tasks under them. Lastly,
there should be some sort of synchronization betweem plan pages and 3-pages so
that I when I change the data in either, both will be updated.
* Looking Forward
mwolson tells me that planner-tasks-overview could possibly be adapted to a
production version of the 3-page model. I haven't looked into that yet, but at
a glance it looks good, although it's gonna take a lot of elisp hacking and I'm
quite wobbly on a lot of elisp and the planner and muse sources. Here's what
he said (slightly paraphrased):
Out of curiosity, have you looked at planner-tasks-overview.el? You might
be able to get the desired behavior by hacking up a `p-t-overview-all'
function based on p-t-overview that either excludes day pages or just
doesn't worry about them. That is, no prompting for date, just use
<example>
(planner-tasks-overview-extract-all-tasks
(mapcar 'car (planner-file-alist)))
</example>
--
Trent Buck, Student Errant
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [emacs-wiki-discuss] 3-pages instead of day pages,
Trent Buck <=