DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:todo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Both sides next revision
plugin:todo [2017-08-28 10:13]
runout [Possible features for a next release]
plugin:todo [2020-11-26 08:27] (current)
markus+dokuwiki@runout.at
Line 6: Line 6:
 email      : dokuwiki@sprossenwanne.at, marg@rz.tu-clausthal.de email      : dokuwiki@sprossenwanne.at, marg@rz.tu-clausthal.de
 type       : Syntax, Action type       : Syntax, Action
-lastupdate : 2017-01-06 +lastupdate : 2020-06-17 
-compatible : Weatherwax, Adora Belle, Binky, Ponder Stibbons, Hrun, Detritus+compatible : Frusterick Manners, Elenor Of Tsort, Weatherwax, Adora Belle, Binky, Ponder Stibbons, Hrun, Detritus, Greebo, Hogfather
 depends    :  depends    : 
 conflicts  conflicts 
Line 25: Line 25:
 ===== Download and Installation ===== ===== Download and Installation =====
  
-Download and install the plugin using the [[plugin:extension|Extension Manager]] using the above URL. Refer to [[:Plugins]] on how to install plugins manually. +Search and install the plugin using the [[plugin:extension|Extension Manager]]. Refer to [[:Plugins]] on how to install plugins manually.
- +
-**Download URL has changed:** Moved download link to Github "stable" branch so you don't risk downloading a broken development version. --- [[user>einhirn|Christian Marg]] //2014-06-10 15:11// +
- +
-**Update Instructions:** Since version **//2014-03-17//** the **//searchpattern//** integration is **//deprecated//.** Use the new ''~~TODOLIST~~'' built-in method. +
- +
-**Update Instructions:** The versions **since //2013-04-05//** are **not compatible** with **DokuWiki versions prior 2012-10-13** "Adora Belle". If you want to use an old DokuWiki version, you have to use the todo plugin version 2010-08-16 by Babbage!+
  
 ===== Usage and examples ===== ===== Usage and examples =====
  
-Mostly deprecated since **//2014-03-17//**: There is an additional instruction page at [[http://www.eibler.at/dokuwiki-todo/index_en.php|http://www.eibler.at/dokuwiki-todo/index_en.php]] in [[http://www.eibler.at/dokuwiki-todo/index_de.php|german]] and [[http://www.eibler.at/dokuwiki-todo/index_en.php|english]] which describes the installation, the settings and the DokuWiki [[plugin:searchpattern|SearchPattern Plugin]] suggestion.+==== Creating tasks ====
  
-====Creating tasks==== 
 After installing the plugin, simply enter this information on the page you wish to create the todo list: After installing the plugin, simply enter this information on the page you wish to create the todo list:
  
-     <todo>Title of todo Action</todo>+  <todo>Title of todo Action</todo>
  
 Each ''<todo>'' tag will create one checkbox for the action. Each ''<todo>'' tag will create one checkbox for the action.
Line 46: Line 39:
 To create a checkbox that is check by default, create your todo like this: To create a checkbox that is check by default, create your todo like this:
  
-     <todo #>Title of todo Action</todo>+  <todo #>Title of todo Action</todo>
  
-Using bulleted lists (*) is recommended, as it will allow you to more easily make a 'list' out of your items to do.+Using bulleted lists (''*'') is recommended, as it will allow you to more easily make a 'list' out of your items to do.
  
-====Assign tasks to persons====+==== Assign tasks to persons ====
  
-To assign users use the @ symbol like this:+To assign users use the ''@'' symbol like this:
  
-     <todo @leo>Task for leo</todo>  +  <todo @leo>Task for leo</todo> 
-     <todo @leo #>Completed task for leo</todo>+  <todo @leo #>Completed task for leo</todo>
  
 The name of the user can use: The name of the user can use:
-  * the following characters: // a-z, A-Z, 0-9, .-_ // \\+ 
 +  * the following characters: // a-z, A-Z, 0-9, .-_ // 
   * No (white)spaces are allowed!    * No (white)spaces are allowed! 
 So ''@leo.eibler'', ''@Leo_Eibler'' will work but ''@Leo Eibler'' will not work! So ''@leo.eibler'', ''@Leo_Eibler'' will work but ''@Leo Eibler'' will not work!
            
-|{{http://www.eibler.at/dokuwiki-todo/04-en_use_dokuwiki_todo_plugin-task-assign.jpg?600|Ver. 2013-04-11 user assignment source screenshot}}| +{{http://www.eibler.at/dokuwiki-todo/04-en_use_dokuwiki_todo_plugin-task-assign.jpg?600|Ver. 2013-04-11 user assignment source screenshot}} 
-{{http://www.eibler.at/dokuwiki-todo/04-en_use_dokuwiki_todo_plugin-task-assign-result.jpg?600|Ver. 2013-04-11 user assignment result screenshot}}  |+ 
 +{{http://www.eibler.at/dokuwiki-todo/04-en_use_dokuwiki_todo_plugin-task-assign-result.jpg?600|Ver. 2013-04-11 user assignment result screenshot}}
  
 Multiple users can be assigned in one todo (separated by space character). This way a todo can show up in todo lists of different users. Multiple users can be assigned in one todo (separated by space character). This way a todo can show up in todo lists of different users.
  
-   <todo @leo @runout @somebody>Task for leo and runout and somebody</todo>+  <todo @leo @runout @somebody>Task for leo and runout and somebody</todo>
  
 ==== Render username ==== ==== Render username ====
  
 Render the username as id, full name or not at all, allowed values: ''user'' or ''real'' or ''none'' Render the username as id, full name or not at all, allowed values: ''user'' or ''real'' or ''none''
 +
   <todo @somebody username:real>Task with real username of somebody shown</todo>   <todo @somebody username:real>Task with real username of somebody shown</todo>
  
Line 85: Line 82:
  
 ==== Show/Hide Start/Due Date ==== ==== Show/Hide Start/Due Date ====
 +
 Do (not) show the Start/Due date, allowed values: ''yes'' or ''no'' Do (not) show the Start/Due date, allowed values: ''yes'' or ''no''
  
   <todo showdate:yes start:YYYY-MM-DD>Text</todo>   <todo showdate:yes start:YYYY-MM-DD>Text</todo>
-   
  
-====Formatting====+==== Formatting ====
  
-Formatting is not allowed inside of the ''<todo></todo>'' tags. However, if you wish for your text to be bold or have some other type of style (other than the default one provided), you can surround the todo tag with the formatting of your choice. The resulting action text should then be displayed with your choice of formatting when your changes have been saved. +Formatting is not allowed inside of the ''%%<todo></todo>%%'' tags. However, if you wish for your text to be bold or have some other type of style (other than the default one provided), you can surround the todo tag with the formatting of your choice. The resulting action text should then be displayed with your choice of formatting when your changes have been saved. 
  
-====QuickButton====+==== QuickButton ====
  
-A quickbutton for inserting todo syntax is available in the editor toolbar. You can click the button (which is pictured as a checked-checkbox) or you can use the keyboard shortcut of [T].+A quickbutton for inserting todo syntax is available in the editor toolbar. You can click the button (which is pictured as a checked-checkbox) or you can use the keyboard shortcut of ''[T]''.
  
-===== Lightweight Task Management System =====+===== Lightweight Task Management System - Lists =====
  
 The new version (since version 2014-03-17) of the todo plugin allows to create an easy to use task management system to collect all todos from all pages on a single page.  The new version (since version 2014-03-17) of the todo plugin allows to create an easy to use task management system to collect all todos from all pages on a single page. 
  
-**First turn off caching** +==== First turn off caching ====
-   ~~NOCACHE~~+
  
-Display all open and closed todos from all pages +:!:
-  ~~TODOLIST~~+
  
 +  ~~NOCACHE~~
 +
 +==== Omit Pages from TODOLISTs ====
 +
 +If you have pages you never want to include in TODOLISTs, you can put following on these pages:
 +
 +  ~~NOTODO~~
 +
 +==== Display all open and closed todos from all pages ====
 +
 +  ~~TODOLIST~~
  
 ==== Counting todos and checked todos ==== ==== Counting todos and checked todos ====
Line 116: Line 122:
  
 ==== Assignments (users to tasks) ==== ==== Assignments (users to tasks) ====
 +
 Filter the assignments, allowed values: ''yes'', ''no'', usernames in format''@username'' or ''username'', or placeholders ''@@USER@@'' or ''@@MAIL@@'' which are replaced by username or e-mail of current logged in user. Filter the assignments, allowed values: ''yes'', ''no'', usernames in format''@username'' or ''username'', or placeholders ''@@USER@@'' or ''@@MAIL@@'' which are replaced by username or e-mail of current logged in user.
 +
   ~~TODOLIST assigned:yes~~    ~~TODOLIST assigned:yes~~ 
   ~~TODOLIST assigned:User1,User2~~    ~~TODOLIST assigned:User1,User2~~ 
Line 125: Line 133:
 ==== Show/Hide checkbox ==== ==== Show/Hide checkbox ====
 Do (not) show the checkbox, allowed values: ''yes'' or ''no'' Do (not) show the checkbox, allowed values: ''yes'' or ''no''
 +
   ~~TODOLIST checkbox:no~~   ~~TODOLIST checkbox:no~~
      
Line 130: Line 139:
  
 Render the username as id, full name or not at all, allowed values: ''user'' or ''real'' or ''none'' Render the username as id, full name or not at all, allowed values: ''user'' or ''real'' or ''none''
 +
   ~~TODOLIST username:real~~   ~~TODOLIST username:real~~
      
Line 135: Line 145:
  
 Render the header as pageID, as the first header of the page or not at all, allowed values: ''id'' or ''firstheader'' or ''none'' Render the header as pageID, as the first header of the page or not at all, allowed values: ''id'' or ''firstheader'' or ''none''
 +
   ~~TODOLIST header:firstheader~~   ~~TODOLIST header:firstheader~~
  
 ==== Show/Hide Start/Due Date ==== ==== Show/Hide Start/Due Date ====
 +
 Do (not) show the Start/Due date, allowed values: ''yes'' or ''no'' Do (not) show the Start/Due date, allowed values: ''yes'' or ''no''
  
Line 147: Line 159:
  
 Filter the completion state, allowed values: ''yes'' or ''no'' Filter the completion state, allowed values: ''yes'' or ''no''
 +
   ~~TODOLIST completed:no~~   ~~TODOLIST completed:no~~
   ~~TODOLIST completed:yes~~   ~~TODOLIST completed:yes~~
Line 158: Line 171:
   ~~TODOLIST completedat:<date>~~   ~~TODOLIST completedat:<date>~~
  
-<date> can be:+%%<date>%% can be:
  
   Y-m-d like 2014-06-12   Y-m-d like 2014-06-12
   or a value like +10 or -10 or 0   or a value like +10 or -10 or 0
      
-invalid values will be substituted with todays date+invalid values will be substituted with today'date
  
-===Completion User (Who checked it)===+=== Completion User (Who checked it) ===
  
-Filter by user who ckeckded the box. Comma separated list.+Filter by user who checked the box. Comma separated list.
  
   ~~TODOLIST completeduser:jack,daniel,jessie~~   ~~TODOLIST completeduser:jack,daniel,jessie~~
 +
 ==== Start/Due Date Filter==== ==== Start/Due Date Filter====
 +
 Filter the TODOLIST by Start/Due Date. Absolute and relative Dates are possible. Filter the TODOLIST by Start/Due Date. Absolute and relative Dates are possible.
  
Line 180: Line 195:
   ~~TODOLIST dueat:<date>~~   ~~TODOLIST dueat:<date>~~
  
-<date> can be:+%%<date>%% can be:
  
   Y-m-d like 2014-06-12   Y-m-d like 2014-06-12
Line 195: Line 210:
  
 ==== Filter the namespace of the task list ==== ==== Filter the namespace of the task list ====
 +
 [[https://github.com/leibler/dokuwiki-plugin-todo/pull/32#issue-36869358|I've added]] the following option to the ''~~TODOLIST~~'' tag: ''ns'': [[https://github.com/leibler/dokuwiki-plugin-todo/pull/32#issue-36869358|I've added]] the following option to the ''~~TODOLIST~~'' tag: ''ns'':
  
Line 200: Line 216:
  
 It can be used with the following parameters: It can be used with the following parameters:
-  * ''all'' - displays todo's from everywhere (the current default behaviour) + 
-  * ''/'' - only displays todo's from pages containing in the ROOT namespace +  * ''all'' -- displays todo's from everywhere (the current default behaviour) 
-  * ''<string>'' - Where string can be any text. It checks the page-id if it starts with this string and then returns the pages with todo's that do; for example:+  * ''/'' -- only displays todo's from pages containing in the ROOT namespace 
 +  * ''<string>'' -- Where string can be any text. It checks the page-id if it starts with this string and then returns the pages with todo's that do; for example: 
 +  * ''.'' or ending in '':.'' -- display this namespace **and** subnamespaces (not much tested) 
 +  * ''.:'' -- display **only** subnamespaces (not much tested)
  
   ~~TODOLIST ns:todo~~   ~~TODOLIST ns:todo~~
Line 214: Line 233:
   ~~TODOLIST ns:todo:r~~    ~~TODOLIST ns:todo:r~~ 
  
-returns all todo's from the namespaces or pages under todo, starting with an r.+returns all todo's from the namespaces or pages under todo, starting with an ''r''.
  
 ===Example of 'all todos'=== ===Example of 'all todos'===
-|{{http://www.eibler.at/dokuwiki-todo/12-en_extension_with_searchpattern_all-tasks.jpg?600|Ver. 2013-04-11 overview over all tasks on single page using searchpattern plugin}}|+ 
 +{{http://www.eibler.at/dokuwiki-todo/12-en_extension_with_searchpattern_all-tasks.jpg?600|Ver. 2013-04-11 overview over all tasks on single page using searchpattern plugin}}
  
 ===Example of 'all todos' from many namespaces=== ===Example of 'all todos' from many namespaces===
 +
 If you want to display more than one namespace in a single page, you can put a TODOLIST for each : If you want to display more than one namespace in a single page, you can put a TODOLIST for each :
  
Line 229: Line 250:
 ====Allow actions to also link to pages with the same name?==== ====Allow actions to also link to pages with the same name?====
  
-Default: Off\\+Default: Off 
 This option (when enabled) will allow your actions to also link to a page with the same name. This way, if you have important details about an action, you can place them in this link. This option (when enabled) will allow your actions to also link to a page with the same name. This way, if you have important details about an action, you can place them in this link.
  
 ====What namespace should your actions be created in (".:" = Current NS, Blank = Root NS)==== ====What namespace should your actions be created in (".:" = Current NS, Blank = Root NS)====
  
-Default: [Empty]\\+Default: [Empty] 
 This option allows you specify where actions links should be placed. Using ".:" will cause the actions to link to whatever namespace you are currently in. Leaving it blank or typing ":" will cause all actions to link to the root namespace. Using something like ".:actions:" will cause the actions to link to whatever the current namespace is, plus an "actions" namespace. (Added with version 9-9-09) This option allows you specify where actions links should be placed. Using ".:" will cause the actions to link to whatever namespace you are currently in. Leaving it blank or typing ":" will cause all actions to link to the root namespace. Using something like ".:actions:" will cause the actions to link to whatever the current namespace is, plus an "actions" namespace. (Added with version 9-9-09)
  
 ====Should the actions have strike-through applied when checked?==== ====Should the actions have strike-through applied when checked?====
  
-Default: On\\+Default: On 
 This option (when enabled) will place a strike-through in the actions that have been completed. When disabled, an action can be checked, but the text will not have strike-through applied. This option (when enabled) will place a strike-through in the actions that have been completed. When disabled, an action can be checked, but the text will not have strike-through applied.
  
 ===If AllowLinks is disabled, should clicking the actions' text mark the action complete?=== ===If AllowLinks is disabled, should clicking the actions' text mark the action complete?===
  
-Default: On\\+Default: On 
 When this option is enabled, and the links option is disabled, then clicking on the text of an action will mark that action as being complete. (Added with version 10-14-09) When this option is enabled, and the links option is disabled, then clicking on the text of an action will mark that action as being complete. (Added with version 10-14-09)
  
Line 251: Line 276:
  
 Please request your features and issues in the tracker at https://github.com/leibler/dokuwiki-plugin-todo/issues. Please request your features and issues in the tracker at https://github.com/leibler/dokuwiki-plugin-todo/issues.
 +
 +==== Known Issues ====
 +
 +The ''~~TODOLIST~~''-functionality finds every ''<todo>...</todo>'' item, even when inside a code or a file block. Also, after being rendered on a TODOLIST page, toggling the checkbox of that item will update it's code accordingly. This was reported in [[https://github.com/leibler/dokuwiki-plugin-todo/issues/12|Issue #12 on Github]]
  
 ==== ChangeLog ==== ==== ChangeLog ====
Line 339: Line 368:
   * Very nice plugin! Started using it only 5 minutes ago and I already love it. I do have 1 question: is it possible to display tasks, without hav in a list-like format (under eachother) instead of on 1 lineing to use an actual list or paragraphs? I guess I might be able to achieve this by using %%\\%% \\ Also, it would be nice to allow links inside the todo, now I have to put a link after the todo or place it outside the todo, resulting in a line being half todo half link   * Very nice plugin! Started using it only 5 minutes ago and I already love it. I do have 1 question: is it possible to display tasks, without hav in a list-like format (under eachother) instead of on 1 lineing to use an actual list or paragraphs? I guess I might be able to achieve this by using %%\\%% \\ Also, it would be nice to allow links inside the todo, now I have to put a link after the todo or place it outside the todo, resulting in a line being half todo half link
  
-  * I'm looking for a short kind of info string to be displayed after a page link, displaying how many todos the page have and how many of them that are checked, such as "(5/10)"  \\ \\ See the //short// option.  --- [[user>runout|runout]] //2017-08-28 10:12//+  * <del>I'm looking for a short kind of info string to be displayed after a page link, displaying how many todos the page have and how many of them that are checked, such as "(5/10)"</del>  \\ \\ See the //short// option.  --- [[user>runout|runout]] //2017-08-28 10:12//
  
   * Is it possible to show a list of todos filtered by "completed by" and "when" depending on who checked the checkbox?  Again its to keep the minions working.  I'd like to add a section for each tech to my "dashboard" page that shows me who has completed what tasks and when.  I currently have an outstanding task list for each tech but not a list of the work they say they've completed.  Something along the lines of ~~TODOLIST completedby:tech1 showcompleteddate:yes showcompletedtime:yes completedafter:-1~~ will show me the work they have completed today(no matter who it was assigned to).  Also something like ~~TODOLIST assigned:tech1 completed:yes showcompletedby:yes showcompleteddate:yes showcompletedtime:yes completedafter:-1~~ will show me their own tasks completed in the last day, when completed and by whom. \\  \\ try the option //completeduser// for filtering which user has checked the box. Showing the completed-date is not implemented.  --- [[user>runout|runout]] //2017-08-28 09:35//   * Is it possible to show a list of todos filtered by "completed by" and "when" depending on who checked the checkbox?  Again its to keep the minions working.  I'd like to add a section for each tech to my "dashboard" page that shows me who has completed what tasks and when.  I currently have an outstanding task list for each tech but not a list of the work they say they've completed.  Something along the lines of ~~TODOLIST completedby:tech1 showcompleteddate:yes showcompletedtime:yes completedafter:-1~~ will show me the work they have completed today(no matter who it was assigned to).  Also something like ~~TODOLIST assigned:tech1 completed:yes showcompletedby:yes showcompleteddate:yes showcompletedtime:yes completedafter:-1~~ will show me their own tasks completed in the last day, when completed and by whom. \\  \\ try the option //completeduser// for filtering which user has checked the box. Showing the completed-date is not implemented.  --- [[user>runout|runout]] //2017-08-28 09:35//
Line 347: Line 376:
 ==== Subpages ==== ==== Subpages ====
  
-[[plugin:todo:customisations|Customisations]]+  * [[plugin:todo:customisations|Customizations]]
  
plugin/todo.1503908008.txt.gz · Last modified: 2017-08-28 10:13 by runout