mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00

- Removed unnecessary usage.html links from other pages. - Added new sequence.html page to describe how to use ID sequences.
219 lines
8.3 KiB
HTML
219 lines
8.3 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>Recurring Tasks</title>
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
<link rel="stylesheet" href="task.css" type="text/css" />
|
|
</head>
|
|
|
|
<body>
|
|
<div id="container">
|
|
<table>
|
|
<tr>
|
|
<td>
|
|
<div id="toolbar">
|
|
<a href="task.html">Home</a>
|
|
<a href="setup.html">Setup</a>
|
|
<a href="30second.html">30-second Tutorial</a>
|
|
<a href="simple.html">Simple</a>
|
|
<a href="advanced.html">Advanced</a>
|
|
<a href="shell.html">Shell</a>
|
|
<a href="config.html">Configuration</a>
|
|
<a href="color.html">Colors</a>
|
|
<a href="recur.html">Recurrence</a>
|
|
<a href="date.html">Date Handling</a>
|
|
<a href="faq.html">FAQ</a>
|
|
<a href="versions.html">Old Versions</a>
|
|
<a href="links.html">Task on the Web</a>
|
|
</div>
|
|
|
|
<div id="content">
|
|
<br />
|
|
<br />
|
|
<br />
|
|
<h2 class="title">Recurring Tasks</h2>
|
|
<div class="content">
|
|
<p>
|
|
Task supports recurring tasks, which is a task that keeps falling due, on a
|
|
regular schedule. An example of this may be "pay rent". Here is how
|
|
recurring tasks work in task:
|
|
</p>
|
|
|
|
<p>
|
|
Ordinarily, a task is a single item that is entered in the pending state, and
|
|
remains so until it is either completed or deleted. This is an example of a
|
|
single instance task.
|
|
</p>
|
|
|
|
<p>
|
|
A recurring task is different. When a recurring task is entered, it remains
|
|
hidden from view, but acts as a root task for a task instances that are
|
|
generated on a regular basis. Consider the example:
|
|
</p>
|
|
|
|
<pre><code>% task add Pay rent due:7/1/2008 recur:monthly</code></pre>
|
|
|
|
<p>
|
|
If today's date is 7/10, for example, then that due date is in the past, and
|
|
you might expect there to be an already overdue task for 7/1/2008, and another
|
|
due on 8/1/2008. This means that from that root, task has created two
|
|
instances with different due dates.
|
|
</p>
|
|
|
|
<pre><code>% task list
|
|
|
|
ID Project Pri Due Active Age Description
|
|
1 7/1/2008 1 min Pay rent
|
|
2 8/1/2008 1 min Pay rent
|
|
|
|
2 tasks</code></pre>
|
|
|
|
<p>
|
|
Task creates any overdue tasks, then creates one additional due task. These
|
|
new task instances are then completed or deleted as you normally would.
|
|
</p>
|
|
|
|
<p>
|
|
In the example above, a new task instance is created every month, and this will
|
|
repeat indefinitely. Task also supports an end date. Suppose you are taking
|
|
every Friday off work for the summer. You'll need to submit your TPS report on
|
|
Thursdays instead:
|
|
</p>
|
|
|
|
<pre><code>% task add TPS report due:thursday recur:weekly until:8/31/2008</code></pre>
|
|
|
|
<p>
|
|
This create a weekly recurring task that expires on 8/31/2008. What this means
|
|
is that after all those task instances have been created, then completed or
|
|
deleted, the root task will expire and disappear. Task will tell you what it
|
|
is doing when this happens.
|
|
</p>
|
|
|
|
<h4>Deletion</h4>
|
|
<p>
|
|
When a recurring task is deleted, you will be asked if you would also like to
|
|
delete all recurring task instances:
|
|
</p>
|
|
|
|
<pre><code>% task del 1
|
|
Permanently delete task? (y/n) y
|
|
This is a recurring task. Do you want to delete all pending
|
|
recurrences of this same task? (y/n) y</code></pre>
|
|
|
|
<h4>Modification</h4>
|
|
<p>
|
|
When a recurring task is modified, all the other recurring task instances will
|
|
be modified. For example, if you raise the priority of one of the recurring
|
|
task instances, all will be modified.
|
|
</p>
|
|
|
|
<h4>Recurrence Periods</h4>
|
|
<p>
|
|
In the above examples, the recurrence period was specified as "monthly" and
|
|
"weekly". Task supports several ways of specifying this:
|
|
</p>
|
|
|
|
<table>
|
|
<tr>
|
|
<th class="table_h">Period</th>
|
|
<th class="table_h">Meaning</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="table_d">daily, day, 1d, 2d ...</td>
|
|
<td class="table_d">Every day, or a number of days</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="table_d">weekdays</td>
|
|
<td class="table_d">
|
|
Monday, Tuesday, Wednesday, Thursday and Friday,
|
|
skipping weekend days
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="table_d">weekly, 1w, 2w ...</td>
|
|
<td class="table_d">Every week, or a number of weeks</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="table_d">biweekly, fortnight</td>
|
|
<td class="table_d">Every two weeks</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="table_d">monthly, 1m, 2m ...</td>
|
|
<td class="table_d">Every month, or a number of months</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="table_d">bimonthly</td>
|
|
<td class="table_d">Every two months</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="table_d">quarterly, 1q, 2q ...</td>
|
|
<td class="table_d">Every three months, a quarter, or a number of quarters</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="table_d">semiannual</td>
|
|
<td class="table_d">Every six months</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="table_d">annual, yearly, 1y, 2y ...</td>
|
|
<td class="table_d">Every year, or a number of years</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="table_d">biannual, biyearly, 2y</td>
|
|
<td class="table_d">Every two-years</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<br />
|
|
<br />
|
|
<div class="content">
|
|
<p>
|
|
Copyright 2006-2009, P. Beckingham. All rights reserved.
|
|
</p>
|
|
</div>
|
|
|
|
</div>
|
|
</td>
|
|
|
|
<td align="right" valign="top" width="200px">
|
|
<br />
|
|
<br />
|
|
<br />
|
|
<br />
|
|
<br />
|
|
<br />
|
|
<br />
|
|
<br />
|
|
<br />
|
|
<br />
|
|
|
|
<script type="text/javascript"><!--
|
|
google_ad_client = "pub-9709799404235424";
|
|
/* Task Main */
|
|
google_ad_slot = "8660617875";
|
|
google_ad_width = 120;
|
|
google_ad_height = 600;
|
|
//-->
|
|
</script>
|
|
<script type="text/javascript"
|
|
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
|
</script>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
|
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
|
</script>
|
|
<script type="text/javascript">
|
|
var pageTracker = _gat._getTracker("UA-4737637-1");
|
|
pageTracker._initData();
|
|
pageTracker._trackPageview();
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|
|
|