66 LXF260 March 2020 http://www.linuxformat.com
TUTORIALS Project management
end. This alone gives you the ability to assemble
functional if simple task lists. But you’re not here for
simple are you?
Break it down
A basic part of project management is to break down
large initiatives into smaller pieces that can be
delegated, easily understood, and achieved. In Org-
Mode terms this means taking high-level headlines and
creating sub-headlines beneath them.
Looking back at LXF241, we see that adding asterisks
to the start of the line indents headlines. So for a large
task such as writing this article, we can break it down
into some distinct sub-items, as follows:
* Advanced Project Management in Org-Mode
** Outline the Project Management Process
** List Relevant Org-Mode Features
** Draft Article Text
** Take & Crop Screenshots
** Format for Submission
Adding these as sub-tasks enables you to attack
your project in manageable chunks. Org-Mode also
supports a ‘roll-up’ of your sub-task progress. If you
append [/] to the end of a task that contains sub-tasks,
it will begin to track the number completed versus the
rg-Mode’s motto is, “Your Life in Plain Text”, and
in LXF241 we took a look at how you could use
Org-Mode to author and publish a writing
project, such as that Linux Format article itself (sort of
like getting an OS to finally compile itself?). We also
touched on Org-Mode’s ability to manage tasks, i.e.
items that are either to-do or done. In this article we’ll
look at Org-Mode’s more sophisticated project-
management functions.
Org-Mode tasks
Before proceeding, let’s briefly review tasks at a basic
level. Org-Mode considers any line starting with one or
more asterisks (followed by a single space) to be a
*headline*. Headlines, among other things, can be
assigned a status and thereby made into a task.
By default, you can rotate a headline through the
following three states: blank (no status, it’s just a
headline); *TODO* (a task, but not yet completed);
and *DONE*. The keybinding Shift-Left and Shift-Right
cycle through this order backwards and forwards,
respectively; in addition the command *org-todo* will
cycle forward only.
For the purpose of this article, when we refer to a
“task” it implies that it’s an Org-Mode headline with an
assigned status. We’ll also cite the formal Org-Mode
commands in the article, but we’ll provide a summary of
them with their associated keyboard shortcuts at the
The Properties drawer can be toggled with the Tab key, making it easy
to hide when you don’t need it.
Org-Mode parent
task with rolled-up
progress for five
children. Note also
the checklist in
the first one.
Project management
all in plain text
Taking “Your Life in Plain Text” to the extreme, Aaron Peters shows how to
manage complex projects with Emacs Org-Mode.
Aaron Peters
is constantly
amazed
(confused?) by
the depth and
breadth of
Org-Mode’s
functionality.
O
EMACS
OUR
EXPERT
If you followed
the tutorial in
LXF241, you
may want to
include your
project plan and
the text of your
writing project
in the same file.
If so, change the
#+COLUMNS
line to a
:COLUMNS:
property for the
headline holding
your plan.
66 LXF260March 2020 666March 20TkinMg0k
TUTORIALS Project management
end.Thisalonegivesyoutheabilitytoassemble
functionalifsimpletasklists.Butyou’renotherefor
simpleareyou?
Breakitdown
Abasicpartofprojectmanagementistobreakdown
largeinitiativesintosmallerpiecesthatcanbe
delegated,easilyunderstood,andachieved.InOrg-
Modetermsthismeanstakinghigh-levelheadlinesand
creatingsub-headlinesbeneaththem.
LookingbackatLXF241,weseethataddingasterisks
tothestartofthelineindentsheadlines.Soforalarge
tasksuchaswritingthisarticle,wecanbreakitdown
intosomedistinctsub-items,asfollows:
* AdvancedProjectManagementinOrg-Mode
**OutlinetheProjectManagementProcess
**ListRelevantOrg-ModeFeatures
**DraftArticleText
**Take&CropScreenshots
**FormatforSubmission
Addingtheseassub-tasksenablesyoutoattack
yourprojectinmanageablechunks.Org-Modealso
supportsa‘roll-up’ofyoursub-taskprogress.Ifyou
append[/]totheendofataskthatcontainssub-tasks,
itwillbegintotrackthenumbercompletedversusthe
rg-Mode’smottois,“YourLifeinPlainText”,and
inLXF241wetookalookathowyoucoulduse
Org-Modetoauthorandpublishawriting
project,suchasthatLinuxFormatarticleitself(sortof
likegettinganOStofinallycompileitself?).Wealso
touchedonOrg-Mode’sabilitytomanagetasks,i.e.
itemsthatareeitherto-doordone.Inthisarticlewe’ll
lookatOrg-Mode’smoresophisticatedproject-
managementfunctions.
Org-Modetasks
Beforeproceeding,let’sbrieflyreviewtasksatabasic
level.Org-Modeconsidersanylinestartingwithoneor
moreasterisks(followedbyasinglespace)tobea
*headline*.Headlines,amongotherthings,canbe
assignedastatusandtherebymadeintoatask.
Bydefault,youcanrotateaheadlinethroughthe
followingthreestates:blank(nostatus,it’sjusta
headline);*TODO*(atask,butnotyetcompleted);
and*DONE*.ThekeybindingShift-LeftandShift-Right
cyclethroughthisorderbackwardsandforwards,
respectively;inadditionthecommand*org-todo*will
cycleforwardonly.
Forthepurposeofthisarticle,whenwerefertoa
“task”itimpliesthatit’sanOrg-Modeheadlinewithan
assignedstatus.We’llalsocitetheformalOrg-Mode
commandsinthearticle,butwe’llprovideasummaryof
themwiththeirassociatedkeyboardshortcutsatthe
ThePropertiesdrawercanbetoggledwiththeTabkey,makingit easy
to hide when you don’t need it.
Org-Mode parent
task with rolled-up
progress for five
children. Note also
the checklist in
the first one.
Project management
all in plain text
Taking“YourLife in Plain Text” to the extreme, Aaron Peters shows how to
managecomplex projects with Emacs Org-Mode.
AaronPeters
is constantly
amazed
(confused?) by
the depth and
breadth of
Org-Mode’s
functionality.
O
EMACS
OUR
EXPERT
If youfollowed
thetutorialin
LXF241,you
maywantto
includeyour
projectplanand
thetextofyour
writingproject
inthesamefile.
If so,changethe
#+COLUMNS
linetoa
:COLUMNS:
propertyforthe
headlineholding
yourplan.