0.1 GPL (GNU General Public License)    
2.7/5 11
DailyTasks project is a program for reminding you of daily tasks.




DailyTasks project is a program for reminding you of daily tasks.

I, basically, created DailyTasks to fulfill a need of my own. I am much too disorganized to use "standard" task managemenet programs: every time I tried, I seemed to spend more time setting up and updating tasks than I actually spent doing the tasks themselves... On the other hand, a simple way of reminding me of them would be useful.

Also, most tasks seem to be of the repeating kind. That is, it's something you have to do every day. What I needed, then, was a way to remind me -- or simply to show me -- that, today, I still had this, that and that to do.

I looked around for some already existing software to do exactly this... and found only one: frequent-task-reminder. It's based on the concept of "work units"; that is, after you set up a task, it increases by one remaining work unit each day. It was mostly what I wanted, but, after trying it out, I quickly found that there were a couple of features I wanted it to have, and it didn't. The main one was this: there should be an option to stop increasing the work units above 1. Some tasks simply don't accumulate. Oh, and I wanted a web interface, too.

The web interface, I even ended up writing myself. :) But frequent-task-reminder is written in Python, a language I have about zero experience with. While this would be a good excuse to learn it, :), I decided, instead, to start from scratch, and write DailyTasks, in PHP.

Here are some key features of "DailyTasks":

ˇ Web interface included as an alternative to command line mode
ˇ Tasks file is a simple, easy to edit text file, instead of XML
ˇ 3 task modes: normal (increases one work unit per day), max 1 (doesn't increase beyond 1 remaining work unit), and standby (doesn't increase at all)
ˇ Ability to manually set the remaining work units for a task
ˇ Doesn't keep track of dates; requires a special invocation (usually by cron) to increase work units
ˇ Written in PHP instead of Python.


Command line

First, you need PHP. I only tested DailyTasks on PHP 5.x, but the 4.x versions should work as well.

If you compiled PHP by hand, you probably have everything you need already. If you're using a precompiled package, note that many distributions separate PHP in two packages: the "web" version and the "command line" version. You need the latter (and any dependencies it may have). On Ubuntu, for instance, it's called php5-cli.

After you have PHP, simply put the dailytasks file somewhere in your path. Edit it and, if needed, change the first line to point to where you have php installed (it may be in /usr/bin/php, /usr/local/bin/php, or, in rare cases, something else).

Web interface

Requirements: a web server (probably Apache) with PHP support.

You need to install the command line version first, of course (see above). Warning: if you're using a chrooted Apache, you need to put dailytasks somewhere inside the chroot.

Finally, just put all the DailyTasks *.php and *.css files on an accessible web directory. Add some kind of authentication, possibly using a .htaccess file, if needed.


Command line

Simply run dailytasks without any parameters, and you'll get this help:

Available options:

-x : increase each task's work units by one. Typically used by cron.
-a task : add a new task called 'task'. Use quotes if the name has more
than one word.
-l : list all tasks
-c : list all tasks with 1 or more pending work units.
-w tasknumber : work -- reduce task's pending units by 1.
-r tasknumber : set remaining work units for that task to zero.
-m tasknumber mode: set the task's type to the listed mode.

available modes are:

0: stand-by -- work units don't increase automatically.
1: max 1 -- work units increase up to 1 (i.e. no accumulation).
2: normal -- work units increase by 1 each day, with no limit.
-s tasknumber units: set remaining work units to the supplied value.
-d tasknumber: delete the task completely. Task numbers change after this operation.

You should probably add:

0 0 * * * path/to/dailytasks -x

to your crontab.

Web interface

The web interface is (hopefully) self-explanatory, as long as you are aware of the command line options (see above). I may attempt to make any future versions more user friendly.
Last updated on February 13th, 2007

0 User reviews so far.