DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:agenda

Agenda Plugin

Compatible with DokuWiki

2009-12-25c "Lemming"

plugin Personal organizer and day planner, that lets you group tasks by projects

Last updated on
2011-10-10
Provides
Syntax

This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.

Similar to do, gtd, task

Tagged with !discontinued, agenda, pm, projects, task, todo

Demo page FIXME

About

Installation

If you install this plugin manually, make sure it is installed in lib/plugins/agenda/ - if the folder is called different it will not work!

Please refer to plugins for additional info on how to install plugins in DokuWiki.

Usage

Notice: this syntax plugin requires ~~NOCACHE~~ in the page the tags are used in.

Prerequisite terms

Cycle is a unit of interval of time. Scheduled cycle is a cycle with a date and a number that represents the time when the cycle is scheduled in that date. Project has a title and a list of tasks. Task has a description and a list of scheduled cycles. Wakeup log is a sorted list of dates and times that represents the time of getting out of bed for the particular date.

DokuWiki syntax tags

The parameters for tags are formatted using Yet Another Markup Language, see the example on the bottom of this README.

<agenda_browser> renders a widget to browse the dates forwards and backwards, one day at a time. It takes no parameters

<agenda_timetable> renders a table with times and tasks in a current day. It takes these parameters: baseID, cycleLength, wakeupFile, wakeupTime, exclude, statics, incycles, cycleNames, cycles.

<agenda_nextfree> renders a small table of weekdays and the first date that has at least one unscheduled cycle in them. It takes these parameters: cycles, exclude, incycles, baseID.

<agenda_unassigned> renders a list of every projects tasks that have an empty list of scheduled cycles. It takes these parameters: exclude, incycles, baseID.

Project pages

Project title is the last element of a project page ID. Two titles are forbidden to use: “action” and “static”. Project pages represent the projects by using a table. The first column has a task description. The second column has a comma-separated list of scheduled cycles. An example of a single scheduled cycle representation: 2011-09-05 4. An example of a project page:

| meet with Alice to discuss user requirements | 2011-10-18 4 |
| write a weekly report | 2011-10-10 3, 2011-10-17 3 |

Tag parameters

baseID is an ID of namespace where the pages of projects are in.

cycleLength is a number of minutes that defines the length of one cycle.

wakeupTime is a time of day when you regularly wake up, e.g. 06:00. If it is null, then the wakeupFile is used to set the wakeup time for all the dates. The dates in future will have the wakeupTime of the last logged date.

wakeupFile is an ID of the wakeup log page, example contents of that page:

| 2011-09-04 | 07:00 |
| 2011-09-05 | 06:00 |
| 2011-09-06 | 06:05 |

exclude is a list of titles of projects that must not be listed anywhere, they must be just ignored.

statics is a list of labels used to replace “static” in cycles parameter.

incycles is a map of project titles to lists of labels that will be used in cycles parameter.

cycles is a list of project titles from incycles, and types “action” and “static”. This is the template for your day. The project titles will be replaced with labels from incycles parameter and a list of tasks from the project page by finding the matching scheduled cycle. The “action” items will be replaced with just a list of tasks gathered the same way. The “static” items will be replaced with labels from the statics parameter.

To fully understand the parameters, study the example below.

Example

~~NOCACHE~~
<agenda_browser>

<agenda_timetable>
baseID: :tasks:folders
cycleLength: 90
wakeupFile: :wakeup
wakeupTime: null
exclude: [MOVIES]
statics: [sleep preparation routine]
incycles:
  MEAL: [breakfast, lunch, dinner, supper]
cycles: [MEAL, action, action, MEAL, action, MEAL, action, action, MEAL, static]
</agenda_timetable>

<agenda_nextfree>
baseID: :tasks:folders
cycles: [MEAL, action, action, MEAL, action, MEAL, action, action, MEAL, static]
exclude: [MOVIES]
incycles:
  MEAL: [breakfast, lunch, dinner, supper]
</agenda_nextfree>

<agenda_unassigned>
baseID: :tasks:folders
exclude: [MOVIES]
incycles:
  MEAL: [breakfast, lunch, dinner, supper]
</agenda_unassigned>

License

Copyright (C) Vytautas Jakutis vytautas [at] jakut [dot] is

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

See the COPYING file in your DokuWiki folder for details

plugin/agenda.txt · Last modified: 2017-03-24 22:50 by Aleksandr