====== Task Plugin ====== ---- plugin ---- description: Integrates a simple task management tool into your wiki. (previous authors: Esther Brunner) author : Gina Häußge, Michael Klier email : dokuwiki@chimeric.de type : syntax, action, helper lastupdate : 2008-05-26 compatible : 2008-05-05 depends : feed, pagelist conflicts : similar : gtd tags : tasks, todo ---- ^ Download | [[http://www.chimeric.de/_src/plugin-task.tgz|plugin-task.tgz]] | ===== Components ===== ==== Task ==== ~~TASK:[user]?[due date][priority]~~ ^ [user] | person responsible for this task -- either user or full name | optional; default is unassigned | ^ [due date] | date the task should be completed in YYYY-MM-DD form; if only year or year and month are given, the last day is assumed | optional; default is without due date | ^ [priority] | low, medium ''!'', high ''%%!!%%'' or critical ''%%!!!%%'' expressed with 0 to 3 exclamation marks | optional; default is low priority | Place ''%%~~TASK~~%%'' on any page to mark it as a task. The title (first heading) is considered to be the summary of the task, the contents its description. If a task is unassigned, any registered user of the wiki can accept it. Once a task is taken, the user to whom it is assigned to can change the status of the task to one of these values: * rejected -- task is not worthwhile or not accepted by user * new -- deassign task so somebody else can take it * accepted -- user took over task but did not yet start the work * started -- work on task started * done -- work on task completed If the task is done, other users can verify whether it's really done. If yes, the status can be set to verified. The priority is reflected by the intensity of the orange shade of the task box. Next to the title of the task box is an icon. It links to download an .ics file for the task. That can be imported by almost any calendar application that understands the VTODO component of the iCalendar standard. ==== Tasks ==== {{tasks>[namespace]?[view]&[flags]}} ^ [namespace] | the namespace to look for tasks | required | ^ [view] | one of the views, see [[#views|here]] | optional; default is ''open'' | ^ [flags] | pagelist flags delimited by ''&'', see [[pagelist#flags]] | optional | === Views === ^ ''all'' | all tasks | ^ ''open'' | all task that are new, not yet done (or rejected) if assigned to me or not yet verified if assigned to someone else | ^ ''my'' | only my open tasks | ^ ''new'' | new tasks not yet assigned to anybody | ^ ''done'' | completed but not yet verfied tasks | ^ ''due'' | all open tasks with a due date of today | ^ ''overdue'' | all open tasks with a due date in the past | === Flags === ^ ''noform'' | Don't show the new task form | ===== Demo & Screenshots ===== ==== Demo ==== Try this plugin at [[http://chimeric.de/_demo/plugin:task|here]] ==== Screenshots ==== [[http://img207.imageshack.us/img207/2930/cstasksinglevl2.png|{{http://img207.imageshack.us/img207/2930/cstasksinglevl2.th.png|A single task}}]] [[http://img155.imageshack.us/img155/4765/cstaskhighbn8.png|{{http://img155.imageshack.us/img155/4765/cstaskhighbn8.th.png|A critical, high priority task}}]] [[http://img207.imageshack.us/img207/1852/cstaskdonevl3.png|{{http://img207.imageshack.us/img207/1852/cstaskdonevl3.th.png|List of done tasks}}]] ===== Bugs ===== Please report bugs at the [[http://bugs.chimeric.de/index.php?project=17&switch=1&do=index|Bug tracker]]. ===== Further Resources ===== * [[http://darcs.chimeric.de/darcsweb.cgi?r=task|Darcs Repository]] * [[http://bugs.chimeric.de/index.php?project=17&switch=1&do=index|Bug tracker]] * [[http://dev.chimeric.de/codereference/nav.html?plugins/task/index.html|Source code]] ===== Changes ===== {{rss>http://darcs.chimeric.de//darcsweb.cgi?r=task;a=rss}} ===== Discussion ===== "done" flag don't work. You can fix it by changing these lines in task/helper.php : Line 118 : if ($filter != 'all'){ to if ($filter != 'all' and $filter != 'done'){ and line 130 : if (($filter == 'done') && ($responsible || ($task['status'] != 3))) continue; to if (($filter == 'done') && ($task['status'] < 3 and $task['status'] != -1)) continue; --- //[[jm-lacroix@savigny.org|Jean-Michel]] 08/04/2008 16:05// >> could you please open a bug report at the [[#Bugs|Bug Tracker]]? --- //[[chi@chimeric.de|Michael Klier]] 2008/04/20 21:26// >> I couldn't reproduce this. Do you still have the problem? --- //[[chi@chimeric.de|Michael Klier]] 2008/05/05 18:04// > I could reproduce this, and I opened [[http://bugs.chimeric.de/index.php?do=details&task_id=31|a bug report (#31)]]. --- //[[schamane@fam.tuwien.ac.at|Andreas Schamanek]] 2008/05/24 01:28// > Ok, I've just updated the plugin and really hope that I could finally fix all problems, please give it a go and tell me if everything is working as expected now! --- //[[chi@chimeric.de|Michael Klier]] 2008/05/25 00:43// Spent the last half hour trying to figure how to change the status of a task from ''accepted'' to ''done''. Could someone clarify this? --- //[[abr.programmer@gmail.com|abr]] 2008/05/25// > I've added some screenshots which show the form to change tasks' statuses. Can you specify what exactly is not working? --- //[[schamane@fam.tuwien.ac.at|Andreas Schamanek]] 2008/05/25 10:57// >> The form drop-down on the individual tasks appears to me as plain text. By my reading, that means it doesn't recognize my account as owning the ticket. A configurable ACL group or maybe namespace admin privilege is more than enough security on task status for me, I'll look into that. --- //[[abr.programmer@gmail.com|abr]] 2008/05/25 20:27// It would be handy, if one could make tasks on the fly in ANY document. Making different tasks in the same document doesnt work for me. My purpose is to define certain list entries in a protocol as tasks related to users (and doing so without spoiling the formating of the list. another syntax that is including the task-description into the task-declaration would solve the problem. --- //[[hkiws@gmx.de|EUR]] 2008/06/22 // > It's not as easy as that. The plugin treats one page as one task and making the plugin behave like you want one would need to rewrite quite a lot of it. If you like different todo items on one page have a look at the [[plugin:gtd]] plugin. Sorry, won't implement! --- //[[chi@chimeric.de|Michael Klier]] 2008/06/22 21:15// >> I would also really love to see the feature that EUR described (defining multiple tasks on one page). The rationale is very similar in that we want to be able to turn meetings from a minute into tasks and assign them to users but I can imagine other uses as well. Michael, if you aren't willing to implement this I would really like to try my hand on it. Do you think the current code could be used as a starting point or would there be more things changed than could be reused? Could you probably give me some pointers on where to start? Thanks!. --- //[[georgsorst@gmx.de|Georg Sorst]] 2008/07/08 // > Well, let me quote myself "//It's not easy.//". You'd have to a) change the data structure and how the plugin handles it completely (at the moment it's one page => one task - every page, if used as task, gets it's ''.task'' meta file which contains a serialized php array) b) change the whole process of adding/removing/modifying tasks, and most important c) preferably stay compatible with the current used model (read "lots of extra code"). In other words, that's //almost// a complete rewrite of the plugin. I'd suggest you go an easier route, have a look at the plugin code, see how it handles all that stuff and then, start writing a new one, reusing parts of its code if you like/need. --- //[[chi@chimeric.de|Michael Klier]] 2008/07/08 10:33// How difficult would it be to introduce additional task-attributes, like severity, project name, customer name... and finally make filters available on those attributes as well ?. --- //[[plsnomail@anonym.de|Hakan Coker]] 2008/06/30 // > Hmmmm, not all that difficult I think. Submit a detailed feature request at the [[http://bugs.chimeric.de/index.php?project=12&do=index&switch=1|bug tracker]]. --- //[[chi@chimeric.de|Michael Klier]] 2008/06/30 14:24// It is possible to link this Plugin to a BugTrackingSoftware , for example Mantis ? I think would be a nice idea. --- //[[white@addoma.de|white]] 2008/08/10// While creating an entry for users to reference on our syntax reference page, I found that tasks will not let you create a due date past 2038. We will probably not be using the wiki in 30 years, but I thought you should know. I haven't looked at your code yet, so I don't know if the bug is in your code or something in dokuwiki. --- //[[bfifield@olivet.edu|bfifield]] 2008/08/20// > Well, this is not a really a bug with the plugin. In fact, 2038 is by many computer scientists considered as being the official end of the world, or maybe even the whole universe itself. Kidding aside, for further reference see [[wp>Year_2038_problem|year 2038 problem]]. --- //[[chi@chimeric.de|Michael Klier]] 2008/08/20 18:22// Just a question: How are the tasks sorted? Sometimes they need to be in an order, like "Make sign in page" comes before "Make log out page", though they may have the same priority and be assigned to the same user and be in the same status, the first one needs to be done before the second. If they're sorted alphabetically, the wrong one will show up first in the list. //[[sean.mccleary@gmail.com|Sean McCleary]] 2008-10-19// Also: Would be real nice if, when viewing a task, there was a way to change who it was assigned to and what the priority is in the normal interace, without having to edit the wiki. Kind of like how there's a drop-down to change the status. //[[sean.mccleary@gmail.com|Sean McCleary]] 2008-10-19// How do I delete tasks? I can't seem to get rid of tasks once they have been put in //[[kyle.j.conroy@gmail.com|Kyle Conroy]] 2008-10-19// > Close them? --- //[[chi@chimeric.de|Michael Klier]] 2008/10/20 12:11// >> Via what command? //[[kyle.j.conroy@gmail.com|Kyle Conroy]] 2008-10-19// > See the first screenshot on this page. It's "done". --- //[[chi@chimeric.de|Michael Klier]] 2008/10/22 11:29//