Extension talk:Todo Tasks

From mediawiki.org
Jump to navigation Jump to search

Cannot download this extension[edit]

I can not download it. Why? --Simonlsw (talk) 11:21, 5 July 2012 (UTC)

Generating Task List By Project[edit]

Probably I have the same question like Ricardo Cristof in the last posting. I can't get the Task List by Project as it is described on the extension description page:

"If project tracking is enabled (see Step 6), then there will be another wiki page entitled Special:TaskListByProject. This page can be used to view all tasks assigned to any user on a per-project basis. This special page looks something like this


When I click on the link Task List By Project (German: Aufgabenliste pro Projekt) the special page itself is loaded. But I don't get an overview over all projects and tasks. I see the menu for projects. If I choose from this menu a project (defined as described in Step 6), I don't get the tasks of this project. Instead the homepage is loaded. Has someone an idea, how to genereate the Special page:TaskListByProject correctly?

Thanks, Hajosch, Potsdam/Germany

A couple of questions for you. Did you
  • make sure that
    $wgUseProjects = true;
    either in the extension code or in LocalSettings.php?
  • make sure to create the MediaWiki:TodoTasksValidProjects page? If so, what are its contents?
  • make sure call the {{Todo}} with the correct project listing? Can you please give an example

--Gri6507 14:13, 13 April 2010 (UTC)

Hi Paul, thanks for your feedback. The answers to your questions are:

1) make sure that $wgUseProjects = true; either in the extension code or in LocalSettings.php?

  • I am using Mediawiki 1.15.2 and the
    $wgUseProjects = true;
    is activated in LocalSetting.php in this enviroment as follows:

$wgDiff3 = "/usr/bin/diff3";

require_once( "$IP/includes/SpecialPage.php" );
require_once( "$IP/extensions/SpecialTaskList/SpecialTaskList.php" );
$wgGroupPermissions['sysop']['editinterface']   = true;
require_once( "$IP/extensions/ParserFunctions/ParserFunctions.php"  );
$wgUseProjects = true;
# When you make changes to this configuration file, this will make
# sure that cached pages are cleared.
$wgCacheEpoch = max( $wgCacheEpoch, gmdate( 'YmdHis', @filemtime( __FILE__ ) ) );
$wgShowExceptionDetails = true;

2) make sure to create the MediaWiki:TodoTasksValidProjects page? If so, what are its contents?

3) make sure call the {{Todo}} with the correct project listing? Can you please give an example

  • This is how I have defined my test projects:

{{todo|Extension: '''Todo Tasks''' installieren und testen|hajosch|Project=Projekt 1}}

{{todo|Extension: '''Todo Tasks''' prüfen, ob für DadAWeb-Wiki sinnvoll|Markus|Project=Projekt 2}}

I have tried it also in the form of „Projekt_1“ and „Projekt_2”. Same negative result.

Looking forward for your proposal and thank you for this smart extension!


Well, I think the problem is still Item #2. The extension expects to get project listings from a wiki page titled MediaWiki:TodoTasksValidProjects (without German localization). Also, please note that this page is different than the localized page for which you posted a screen-shot. That was a Special:TaskListByProject which is has a different purpose.
There is also a slight change that the spaces in the project names could be a problem (I simply don't recall right now). Please modify your MediaWiki:TodoTasksValidProjects to have project names that do not contain spaces.
--Gri6507 19:47, 13 April 2010 (UTC)

Generating a complete, system-wide list?[edit]

Hi folks,

I really didn't find out, how to generate a complete, system-wide list of all open tasks - if possible, sorted by projects.

Does anyone have ideas?

Best regards, Ricardo Cristof

Sites using this extension?[edit]

Any to have a look at to see how this works when implemented? --Dr DBW 01:27, 11 September 2007 (UTC)

Unfortunately our company wiki is behind a wirewall and is not accessible from the outside world. Perhaps someone else can post a link to their website? --Gri6507 11:57, 11 September 2007 (UTC)
What about a screen shot at least? I'm curious how it works.
Sorry it took me so long. I have updated the main extension page with 3 sample images. --Gri6507 02:08, 6 November 2007 (UTC)

User error[edit]

Changing $wgEmergencyContact email in LocalSettings.php causes email ability of Todo to no longer work. Any suggestions?

As long as $wgEmergencyContact is a string representing a valid email address (i.e.
$wgEmergencyContact = "admin@wikidomain.com";
), then there should be nothing preventing the email functionality from working. Are you saying that with your changes to $wgEmergencyContact, the wiki still works, but the email feature of the extension does not? --Gri6507 11:57, 11 September 2007 (UTC)
Thanks for your reply - I figured out the issue. The extension works as designed, it was my spam filter on our mail server that was the problem. It blocked the changed email address. Thanks again!MotherSuperior 16:41, 18 September 2007 (UTC)

Could it have i18n files[edit]


And all you need todo is to write "todo_LanguageEn.php" ,the default language file, and make sure that a language file well be loaded based on which interface the user use.

Then everyone using a difference language would like to make a language file by editing "todo_LanguageEn.php" and post the file here.

Thank for your Great-extension.--Roc michael 01:09, 27 October 2007 (UTC)

This is an excellent suggestion. I made the extension capable of doing i18n things (see Extension:Todo Tasks#Internationalization. This was released under version 0.9.0. Please let me know how complete the i18n support is. Also, when you add translations for whatever language, please let me know so I could add them to the extension. Thanks! --Gri6507 01:48, 6 November 2007 (UTC)

i18n for Chinese[edit]

Hi Gri6507:

First, thanks for agreeing on my opinion. The followed code are the Chinese messages for the i18n file.

Thank you for the translations (I removed the code from here). I have added them to SVN. --Gri6507 02:00, 11 November 2007 (UTC)

I tried to add the code above into the i18n file download from here but the message don't work when the setting "$wgLanguageCode = "zh-tw"; is in the Localsetting.php.

As far as I know, what you did sounds correct. There is no reason why the extension would now not use your localization settings. Just to be certain, please make sure that you are running your wiki with the updated code. --Gri6507 02:00, 11 November 2007 (UTC)

This extension likely cannot work with NukeDPL Extension and DeleteOldRevisions Extension until I disable them.

I think I see the problem with the NukeDPL extension. I believe the issue is that the author(s) did not return true; at the end of function wfSetupNukeDPL(). I am not sure what, if anything, is the problem with the DeleteOldRevisions extension. In any case, what I'd recommend is to reorder your LocalSettings.php to load the Todo Tasks extension before the others. This may solve your problem. --Gri6507 02:00, 11 November 2007 (UTC)

And after I save the page with the content like followed:

{{todo|Meeting for start|Michael|project= Project 1,Project 2 }}
The user name "Michael" always disappear after I saved the page.
Disappearing Username.jpg
Disappearing Username-1.jpg
English UI showing the disappearing user name Tradition Chinese UI with no Chinese message of Todo Extension

You could see the example here and some setting page links

  • Version
    • MediaWiki: 1.11.0
    • PHP: 5.1.2 (apache2handler)
    • MySQL: 5.0.18-log

--Roc michael 16:52, 9 November 2007 (UTC)

This is a bit more curious. I went to your wiki website and saw that there actually is a user called Michael. So, assinging a task to Michael should have worked. Since I am not sure how else to help you on this one, I'd recommend the following. If you feel comfortable editing PHP code, take a look inSpecialTaskList_body.php inside the function getUserIDFromUserText(). You can add some print statements in there to see why that function is failing. Maybe you'll be able to see the problem in which case I will gladly add your fix to SVN. If, on the other hand, you don't feel comfortable editing the code, please let me know via email and I will guide you through step by step. --Gri6507 02:00, 11 November 2007 (UTC)
Well... It's amazing! The extension cann't receive user names in English in my test page, but it can receive Chinese name. It's so strange. I still want to know the reason.--Roc michael 13:48, 15 November 2007 (UTC)
Hi Gri6507. I don't know why it would make good either in English or Chinese in some situations. The problem described above has disappeared. Thank for your helps. If I know the reason, I would tell you --Roc michael 02:29, 25 November 2007 (UTC)
Hi Gri6507 I think the problem on using English user names with this extension have solved with new version(0.95), but it still cannot show Chinese message though the i18n file has the Chinese translation. --Roc michael 12:11, 25 November 2007 (UTC)
Wow! It's my faults. the following code in the SpecialTaskList.i18n.php
'zh_tw' => array(            //Taiwanese Chinese
should be changed into
'zh-tw' => array(            //Taiwanese Chinese
'zh_cn' => array(            //Simple Chinese
should be changed into
'zh-cn' => array(            //Simple Chinese
I am sorry for the mistakes. --Roc michael 12:26, 25 November 2007 (UTC)
Glad to see that all of your problems are now resolved. I'll correct the i18n file in SVN with your changes (unless you have already done so). Also, the problem with the disappearing name was in fact fixed by me, although it was your testing that led me to the answer. The issue is that apparently when you created your account, you did not specify a full name for yourself. I changed the code to default to username in that case. Anyways, thanks for all of your help. P.S. Can you please update your translations with the additional message I recently added? --Gri6507 14:05, 25 November 2007 (UTC)

Some (fatal) issues[edit]

Looks like a promising extension but I had some problems. After install and applying the patches there was a fatal error:

PHP Fatal error:  require() [<a href='function.require'>function.require</a>]: Failed opening required 'C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\wiki\\extensions\\SpecialTaskList/../includes/SpecialPage.php' (include_path='C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\wiki;C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\wiki/includes;C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\wiki/languages;.;C:\\php5\\pear') in C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\wiki\\extensions\\SpecialTaskList\\SpecialTaskList.php on line 293

I changed line 293 from SpecialTaskList.php to "require_once ("SpecialPage.php" );". I got no PHP experience but now I can add and see new tasks. On special page "Task list" the task list is OK but the progress not.

In Progress List for Mark P.
%DPL-1.5.0-WAARSCHUWING: Geen resultaten! (This means: warning, no results!)

Just cloning the todo templates was not enough. You've also got to replace "Todo" with "InProgress" in the template text.

Project select on special page "Task list by project" gives no results. Display button gives the next URL:

When i delete "&search=" the result is good. How to change this in the extension? The query looks quite complicated.
You have to make sure that SpecialTaskList.php has $wgUseProjects = true;. Is yours configured like so? Also, did you create the necessary MediaWiki:TodoTasksValidProjects page in your wiki? --Gri6507 14:11, 8 November 2007 (UTC)
Yes, it is configured like that. On the special page there is a list with all the allowed projects. When I select a project and click the display button it gives no results but jumps directly to the search page with the above URL. --Mark P. 21:08, 8 November 2007 (UTC)
I looked in the source of the "Special:TaskListByProject" page (see below) and I think I found the source of this error. Question is what is <a href="#searchInput"> doing here? My guess is that this is why the search page is displayed when it should not. No difference between Firefox and IE and I do not see it anywhere in your extension code. Is it the same on your site?
--Mark P. 22:34, 13 November 2007 (UTC)
			<div id="contentSub"></div>
									<div id="jump-to-nav">Ga naar: <a href="#column-one">navigatie</a>, <a href="#searchInput">zoeken</a></div>			<!-- start content -->

			<FORM ACTION="/wiki/index.php/Speciaal:TaskListByProject" METHOD=GET><LABEL FOR=project>Project selecteren:</LABEL><select name=project><option value="Project1">Project1</option><option value="Project2">Project2</option><option value="Project3">Project3</option><option value="Zandbak">Zandbak</option></select><INPUT TYPE=submit VALUE='Tonen'><div class="printfooter">
Teruggeplaatst van "<a href="http://localhost/wiki/index.php/Speciaal:TaskListByProject">http://localhost/wiki/index.php/Speciaal:TaskListByProject</a>"</div>
						<!-- end content -->
			<div class="visualClear"></div>

I don't think the problem is the href=#searchInput link. It looks like that content is from a navigation header on every wiki page. However, you did post something interesting. It looks like the HTML for the form element is never closed. Can you please try something. Edit the SpecialTaskList_body.php in function ValidProjectsForm() and add </FORM> to the end of the string on the last line like so:
$wgOut->addHtml("</select><INPUT TYPE=submit VALUE='" . wfMsgTL('tasklistprojdisp') . "'></FORM>");
I think this may solve your problem. --Gri6507 01:59, 14 November 2007 (UTC)
Yes, that solved it. Thanks for all the quick answers. --Mark P. 21:32, 15 November 2007 (UTC)
This has been incorporated into v0.9.2 which is now available for download. --Gri6507 03:17, 16 November 2007 (UTC)

How do I change the status to done?

I should make new templates "done" just like the templates "In progress", of course.
You also need to create the accompanying DPL templates (i.e. done.dpl, In progress.dpl, etc) --Gri6507 14:11, 8 November 2007 (UTC)

Can you help me out? Thanks --Mark P. 22:24, 27 October 2007 (UTC)

When not logged in (or as administrator) clicking on "my tasks" shows all the tasks. Maybe it's better when you see nothing then.

I just released v0.9.3 which should prevent the appearance of the My Tasks link for non-logged in users. I believe this is the right behavior. Can you please try this out and post your results? --Gri6507 03:28, 16 November 2007 (UTC)
Is OK now, My tasks link is not shown when not logged in. --Mark P. 21:14, 24 November 2007 (UTC)

The templates themselves are shown as tasks when logged in as the user who first saved the templates. Unfortunate the new version did not solve my Task list by project problem. The internationalization is great! The only thing mising is translation for "In progress". --Mark P. 21:06, 7 November 2007 (UTC)

I will look into fixing the "not logged in" problem (I don't have a way to test it because my wiki requires logging in before anything can be done.
Maybe you can login as an admin, it's the same effect --Mark P. 21:08, 8 November 2007 (UTC)
As for the i18n missing translation for "In Progress", well, it's not really missing. The in progress part is an optional part that the user can add themselves and, when doing so, they must add the necessary i18n contents as well. I will clarify this point on the main page. Thanks. --Gri6507 14:11, 8 November 2007 (UTC)

Future request: in my company there are several people with exact the same real name so now they can see each other tasks. They have a different username, maybe you can do something with that in the query? --Mark P. 21:08, 8 November 2007 (UTC)

We actually have the same problem at our work. The only way to resolve this is to assign the task to the correct wiki username. For example, if you have to users whose names are Jon C. Doe and Jon B. Doe, they have to have unique usernames (i.e. JADoe and JBDoe). When assigning the tasks, you have to specify the correct username. I don't know of any other way around this issue. --Gri6507 02:12, 11 November 2007 (UTC)

There is just one thing missing in the installation description. Íf you want to see the tasks in progress in "Special:TaskListByProject" page you should add a few more lines in SpecialTaskList_body.php --Mark P. 21:32, 15 November 2007 (UTC)

More fatal issues[edit]

I'm getting this error when I visit Special:TaskListByProject or Template:Todo:

Fatal error: Call to a member function getText() on a non-object in /home/.../extensions/SpecialTaskList/SpecialTaskList_body.php on line 78

As a quick reference, the code around line 78:

function getValidProjects() {
    $ProjPageTitle = Title::newFromText ('TodoTasksValidProjects', NS_MEDIAWIKI) ;
    return Revision::newFromTitle($ProjPageTitle)->getText();

This extension seems neat. I look forward to using it. :) --Emufarmers 00:35, 18 November 2007 (UTC)

What version of MediaWiki are you using? Also, did you create the MediaWiki:TodoTasksValidProjects page? --Gri6507 13:39, 18 November 2007 (UTC)
I created MediaWiki:TodoTasksValidProjects, and that fixed the problem. The installation directions is a bit ambiguous around $wgUseProjects (it says you can set it to true, but then it says it's set by default!), so that section may need some updating. Also, shouldn't the system message be populated by default to prevent this error? Beyond that, I look forward to playing around with this. :) --Emufarmers 18:31, 18 November 2007 (UTC)
I modified the instructions for project tracking. Hopefully this is a bit more clear. I also released the next version of the extension (in SVN now) that will report an error if the MediaWiki:TodoTasksValidProjects page is not found. For now, this has only been translated into English . Other contributors will have to pitch in to add the remaining languages. --Gri6507 18:51, 18 November 2007 (UTC)
Looks good. I've changed a few sections in the installation instructions that I found to be inconsistent or confusing. --Emufarmers 02:06, 19 November 2007 (UTC)

I get this same error upon installing, at the point where I try to create Template:ToDo -- it seems Step 8 of the installation process must be done before Step 6 & 7 in order to avoid the error, unless I missed something in the instructions? --Sethleben 13:30, 28 December 2007 (UTC)

I think this would only be an error if the extension is tested before the configuration of all steps is complete. However, I completely understand if users get a bit impatient and try the extension at every step of configuration :-). Since rearranging the order of configuration steps are you suggested does not hurt anything, I did so in the main page of the extension. Thanks! --Gri6507 14:00, 28 December 2007 (UTC)

i18n for hebrew[edit]

is here http://www.cc.jct.ac.il/~yedidia/SpecialTaskList.i18n.php.txt

Many thanks! I uploaded the file to SVN. --Gri6507 17:12, 15 December 2007 (UTC)

Problem with task lists[edit]

Hi there! Thanks to all the work you've put into this extension -- it's very promising! However, it might be worth mentioning in the installation instructions that the listing of the tasks upon clicking "my tasks" can only be by users' Real name, and several problems occur if one or more users have not specified Real names (which, whilst not likely on a multi-user workplace wiki, is quite possible in other situations).

Also, I seem to have a problem with the listing by project. When I go to the page Special:TaskListByProject, I see no tasks listed, but a scrolldown menu for the different projects. Upon selecting a project “X” and clicking "Display", I get redirected to my wiki's homepage, but with .../wiki/index.php?project=X in the URL bar.

Any thoughts on what could be causing this problem?

FYO, I have several projects defined in MediaWiki:TodoTasksValidProjects, and the creation of the ToDo items on other pages and assignment of these to various projects seems to work successfully. The tasks are also grouped correctly according to their page of origin when I click on "my tasks". Regards,--Sethleben 14:15, 28 December 2007 (UTC)

Thank you for your comments. What version of the extension are you using? If you are not sure, you can find out by going to the Special:Version page on your wiki. The reason I'm asking is because you seem to be reporting problems that I believe have already been addressed. --Gri6507 12:50, 14 January 2008 (UTC)
Hi, I also had problems with task listing with users without Real name. I added following line to SpecialTaskList_body.php (line 316) and now it seems to work properly:
if($fullname=="") $fullname = $username;
--JuhaV 07:27, 9 June 2010 (UTC)

Could some strings be included into i18n file[edit]

Hi Paul.

The message in the line 178~180 of SpecialTaskList_body.php should be included into the i18n file.

        $body = ",\n\nSomeone has assigned a new Task for you on " . $parser->getTitle()->getFullURL() .
                ".\n\nTo see your complete Task List go to " . $tasklist->getFullURL() .
                ".\n\n\tYour friendly ${wgSitename} notification system\n";

--Roc michael 15:53, 28 December 2007 (UTC)

Thank you for the suggestion. This has been included in the latest SVN version. I did not rev the overall version of the extension though. --Gri6507 12:45, 14 January 2008 (UTC)

Odd Listing[edit]

I've installed this extension and it seems to work so far. However, the listings don't seem to work correctly.

For example, I have a page "Page 1" with several tasks and I have a "Page 2" with several tasks.

Then the listing would go: instead of:
  • Page 1
    • Task
    • Page 2
    • Task
  • Page 1
    • Task
  • Page 2
    • Task

I can't figure out what's wrong. Could you please help me?

Thanks a lot!

I assume that by "Listing" you mean clicking on the My Tasks link or going to the Special:TaskList page. In that case, it sounds like the contents of your Template:Todo.dpl is not correct. You have to make sure that you copy it exactly (including white spaces). Let me know if that doesn't fix your problem. --Gri6507 12:36, 14 January 2008 (UTC)

-- 15:39, 13 January 2008 (UTC)

Well, sorry!!! But I was just too blind.
I had my [[Category:Templates]] outside the noinclude-tag in Template:Todo.dpl
Silly, but now it looks just fine!
Thanks for the hint!
-- 19:42, 16 January 2008 (UTC)


I'm using PostgreSQL 8.2.6 with MediaWiki 1.12alpha. I converted your SQL statement to be compatible with PSQL as follows:

                          id   SERIAL NOT NULL PRIMARY KEY,
                          hash BYTEA

... and ran it - it seemed to have worked. However, I am getting an error from Special:TaskList as follows:

The DPL extension (version 1.6.5) produced a SQL statement which lead to a Database error.
The reason may be an internal error of DPL or an error which you made,
especially when using DPL options like titleregexp.
Query text is:
SELECT DISTINCT page.page_namespace as page_namespace,page.page_title as page_title, REPLACE(REPLACE(CONCAT( IF(page.page_namespace=0, , CONCAT(CASE page.page_namespace WHEN 1 THEN 'Talk' WHEN 2 THEN 'User' WHEN 3 THEN 'User_talk' WHEN 4 THEN 'DDOwiki' WHEN 5 THEN 'DDOwiki_talk' WHEN 6 THEN 'Image' WHEN 7 THEN 'Image_talk' WHEN 8 THEN 'MediaWiki' WHEN 9 THEN 'MediaWiki_talk' WHEN 10 THEN 'Template' WHEN 11 THEN 'Template_talk' WHEN 12 THEN 'Help' WHEN 13 THEN 'Help_talk' WHEN 14 THEN 'Category' WHEN 15 THEN 'Category_talk' WHEN 100 THEN 'Character' WHEN 101 THEN 'Character_talk' WHEN 102 THEN 'Guild' WHEN 103 THEN 'Guild_talk' END, ':')), page.page_title), '_', ' '),'♣','⣣') as sortkey FROM templatelinks as tl, page WHERE 1=1 AND page.page_is_redirect=0 AND page.page_id=tl.tl_from AND ((tl.tl_namespace=10 AND tl.tl_title='Todo')) AND page.page_id not in (select templatelinks.tl_from from templatelinks where ((templatelinks.tl_namespace=10 AND templatelinks.tl_title='Status_Legend')) ) ORDER BY sortkey ASC LIMIT 0, 500
Error message is:
ERROR: LIMIT #,# syntax is not supported HINT: Use separate LIMIT and OFFSET clauses.

I'd be glad to help you make your extension PSQL compatible if you need a Guinea pig to test on, please leave a note on my talk page. Thanks! Elliottcable 06:52, 31 January 2008 (UTC)

How can I say now to an offer like this :-). Please be my guest! However, if I had to guess, I'd say that the problem is going to be with the DPL extension and not this extension. Please keep me posted of your progress. --Gri6507 12:27, 31 January 2008 (UTC)
I can confirm that it is a DPL problem. The fix is here -- Lcoffin 17:32, 9 October 2008 (UTC)

Using Todo inside a template[edit]

Hi, First of all, congrats for the tool.

I'd like to use the todo template inside a template.

For example :



It works well for displaying when I use for exemple {{test|Read pane}}

But in the SpecialPage:Tasklist, I've just Template:Todo.dpl.default instead of the name & task.

Does anyone managed to overcome this problem ?

I assume that using the standard Todo template works? I think the real issue is going to be with the DPL extension. unfortunately, I'm not too well versed in that one to know what the issue is. However, I have a question as to why you are trying to do this. Why not simply make Templte:Test whose contents are
<includeonly><div style="background-color: #fff0f0; border: 1px dashed blue; margin: 0.0em; padding: 0.2em;">
<font style="BACKGROUND-COLOR: yellow">'''TODO''':</font> {{#todo:{{{1}}}|administartor}}</div></includeonly>
<noinclude>This template is intended to be used as a todo for an administrator

Of course, you'd also have to create a Template:Test.dpl similar to Extension:Todo_Tasks#Step_8. --Gri6507 18:27, 22 February 2008 (UTC)

Hi, I want to assign tasks to usergroups... is it possible to do this, or do i have to create a template like obove for the people in my groups? -- 08:42, 6 March 2008 (UTC)
Ok i tried to understand the code for the todo but no success...
Then i tried to create a template like the one above. i get my new template (Todotest, Todotest.dpl) displayed on my pages, but i have no entry in my personal tasklist. can anyone tell me if my code is right?
<div style="background-color: #fff0f0; border: 1px dashed blue; margin: 0.0em; padding: 0.2em;"><font style="BACKGROUND-COLOR: yellow">'''TODO''':</font> {{#todo:{{{1}}}|Prename Name|{{#ifeq: {{{project|+}}}|{{{project|-}}}|{{{project}}}|}}}}</div>
* '''Prename Name''' - {{{1}}}
The code i add to assign a new task to user "Prename Name" is {{Todotest|Template Test Task}}
-- 09:17, 6 March 2008 (UTC)
I wonder if you have a typo above - did you call it Template:Todo or Template:Todotest? The main template and the DPL template have to have the same name (except of course, the extension on the DPL template). Also, how are you calling your template? --Gri6507 00:37, 7 March 2008 (UTC)
my fault it is both Todotest -- 06:32, 7 March 2008 (UTC)
i checked the php files for this extension and found a line with magic words... i changed them from "todo" to "todotest". all i got was an error when i reloaded the page...do i have to change more than these words? -- 07:05, 10 March 2008 (UTC)
I'm trying to do the same thing (I think), but am perhaps looking for a different solution rather than the fix the original poster seems to be looking for. When I add a 'todo' inside a template as in:
-- Template:NavBar --
{{todo|Need to add graphics and pretty up the navbar|Lcoffin}}
{| width="100%"
| [[Main Page]]
| [[Products]]
| [[About Us]]
| [[Contact Us]]
That works fine, and when I include the NavBar on other pages, the 'todo' div shows up as it should above the navbar on that page. But.... when I go to the Tasklist page, not only do I get Template:NavBar listed, but it also lists all the other pages that include the NavBar template. However, for those pages, the username and note is not displayed, instead you get a link to 'Template:Todo.dpl.default' (which doesn't exist) next to the page name.
As to a fix... I'd like to not have any of the other pages displayed in the task list -- I'd prefer to have just Template:NavBar listed since that's the real location of the todo.
I could just add <noinclude>...</noinclude> tags around the todo inside Template:NavBar, but then the actual todo note won't get displayed on any of the pages that include it. So I'd prefer to fix it on the Tasklist side of things. --Lcoffin 16:48, 9 October 2008 (UTC)
I have created the Template:Todo.dpl.default which is 100% copy & paste of the Template:todo.dpl. Since then, transcluded tasks or tasks in templates do not call any display-errors ("However, for those pages, the username and note is not displayed, instead you get a link to 'Template:Todo.dpl.default' (which doesn't exist) next to the page name."). There's only a "Extension:DynamicPageList (DPL), version 1.8.9 : Warning: No entry found!"-message in those sections (tasks in progress an tasks done), where i do not have transcluded user-tasks. But that doesn't bother me as much as having those tasks displayed twice or thrice ;-)
--Rob st 09:34, 24 October 2011 (UTC)

I'm using version 1.18.1 of MediaWiki and I cannot get the transclusion to work for a user's tasks.
{{SpecialPage:TaskList/User}} for example just displays that exact text and not the actual tasks. Any ideas? I've tried making some edits to the code to be includeable, but I get nothing. I just want to transclude. Thanks. --JustinLL, 13 February 2012.

How to adapt templates for InProgress[edit]

Hi, I'm not managing to get the InProgress list working. Especially, I'm not sure, what has to be adapted in InProgress and InProgress.dpl files. Could you please show a full example.

Thanks, Achim

My Template:InProgress looks as follows:
<div style="background-color: #ffbc73; border: 1px dashed #0776a0; margin: 0.2em; padding: 0.2em;">
<font style="BACKGROUND-COLOR: #FF8500">'''IN BEARBEITUNG''':</font>
{{#todo:{{{1}}}|{{#ifeq: {{{2|+}}}|{{{2|-}}}|{{{2}}}|}}|{{#ifeq: {{{project|+}}}|{{{project|-}}}|{{{project}}}|}}}}</div>
My Template:InProgress.dpl is:
* '''{{{2}}}''' - {{{1}}}
</includeonly><noinclude>This template is to be used only in conjunction with the
[http://semeb.com/dpldemo/index.php?title=Dynamic_Page_List Dynamic Page List Extension] and the [[Template:InProgress]].
'''DO NOT MODIFY IT'''</noinclude>
To add the InProgress-list to you personal task list (Special:Tasklist), you would have to add something like this to your TodoTasks_body.php (around line 313):
/* Show tasks in progress */
$wgOut->addWikiText(sprintf(wfMsgTL('tasklistbynameinprogress'), $fullname));
/* Show in-progress items assigned to full name */
$wgOut->addWikiText("<dpl> uses=Template:InProgress\n notuses=Template:Status Legend\n include={InProgress}.dpl\n includematch=/${fullname}/i\n </dpl>"); 
/* Show in-progress items assgigned to username */
$wgOut->addWikiText("<dpl> uses=Template:InProgress\n notuses=Template:Status Legend\n include={InProgress}.dpl\n includematch=/${username}/i\n </dpl>");
--Rob st 09:45, 24 October 2011 (UTC)

Problem with DPL2 and todo[edit]

Hi there,

i found a bug(?!)... when a logged in user is inactive for some minutes and then clicks on the tasklist in the top right corner there are some php errors displayed...

Notice: Undefined property: Inputbox::$namespace in /opt/lampp/htdocs/helpdesk/extensions/inputbox/inputbox.php on line 177
Notice: Undefined property: Inputbox::$namespace in /opt/lampp/htdocs/helpdesk/extensions/inputbox/inputbox.php on line 177
Notice: Undefined property: Inputbox::$namespace in /opt/lampp/htdocs/helpdesk/extensions/inputbox/inputbox.php on line 178
Notice: Undefined index: class in /opt/lampp/htdocs/helpdesk/extensions/WikiCategoryTagCloud.php on line 57
Notice: Undefined index: linkstyle in /opt/lampp/htdocs/helpdesk/extensions/WikiCategoryTagCloud.php on line 59
Notice: Undefined index: linkclass in /opt/lampp/htdocs/helpdesk/extensions/WikiCategoryTagCloud.php on line 60

this only happens if you are inactive for some minutes...
normally the other extensions work properly so there is no reason for this error.
i found people having trouble with dpl2 and rss features...
ben -- 10:11, 10 March 2008 (UTC)

Displaying Wiki Names instead of Full Names?[edit]

Almost all references to users in MediaWiki goes by their wikiname and not their full name. It makes it confusing when seeing their full names show up in the task list. Could there be an option for which name to display? What purpose does the Full Name in mediawiki serve anyways?

The full name seems only be used if provided. Otherwise the extension will fall back to the user name, see the following code extract from TodoTasks_body.php, line 142ff.:
if ($userid != 0) {                 // successfully found the user
    $u = User::newFromId($userid);
    $username = $u->getName();
    $fullname = $u->getRealName();
    if ($fullname == '')
        $task_text .= $username;
        $task_text .= $fullname;
        array_push($userIdList, $userid);
        array_push($userIdList2, $userid);
} else {                        // fall through to worst case scenario
    $task_text .= wfMsgTL('tasklistincorrectuser');
--Nakohdo 14:50, 12 January 2011 (UTC)

Error message with empty task list[edit]

Also, If there is no task, the task list shows: %DPL-1.6.8-WARNING: No results! which is no fun, since I have not only added the InProgress, but also made a Done category, so I'm seeing lots of %DPL-1.6.8-WARNING: No results!

How to mark a task as done[edit]

Seems to be a stupid question but i can't figure out how...

There are several ways to do this. The simplest of course, is to simply delete the TODO once is it complete. Another way is to create another template called Template:Done and, when a TODO is complete, the user can simply replace the template name from Todo to Done. You can be as creative as you want with this. For example, if you structure the Template:Done to use the TodoTasks extension, then you could even make it so that an email is sent out when a task is completed. The possibilities are only limited by your imagination :-) --Gri6507 14:01, 4 May 2008 (UTC)
This is exactly what we did with our implementation. By copying the Todo template, and inserting '''CLOSED: ''' with a <s>...template content here</s> then the Action Item stays with the content, but it's marked CLOSED and is struck out. Then through best practices, the owner inserts a sub bullet and provides guidance on how the action was closed. -- 19:08, 15 August 2011 (UTC)

installation problem[edit]

I installed Todo Tasks as described in installation guide, but then I always get blank screen.

Where can be a problem and how to fix it?

The same problem.
I have:
MediaWiki 1.9.3
PHP 5.2.6
MySQL 5.0.51a
I cannot troubleshoot this problem until I get some more information. A blank screen implies that PHP had a problem. Typically, this mean some kind of a PHP error. Usually, this information goes to the Apache error log (assuming you are using Apache, or some equivalent log if you are using some other web server). If you do not see any errors in the error.log, make sure that you are looking at the correct log file. Apache also keeps an access.log. Make sure that your attempts to view a webpage are logged at least in access.log.
Also, I've seen some users try to add the "require_once()" calls at the top of LocalSettings.php. Make sure to not do that. These calls have to be at the bottom on the file. One more thing to try is to comment out the calls to "require_once()" for any other extension installed on your system and leave only the call for this extension. It is possible there may be conflicts between extensions. --Gri6507 15:07, 16 September 2008 (UTC)
On second thought, there are a couple more things you can try. Take a look at How to debug sections 1 and 3. --Gri6507 18:05, 16 September 2008 (UTC)
Thanks for the link. Debug has given out here it:
"Fatal error: Call to undefined function wfloadextensionmessages() in SpecialTaskList_body.php on line 7"
What can I do with it ?
--Toadstool 18:40, 16 September 2008 (UTC)
OK, it looks like you are running into an issue with the function that was not available in some earlier versions of MW (I think 1.9.x and 1.10.x did not have it, but it was added back in 1.11). Can you please try the following. Add this block of code to SpecialTaskList.php
function wfLoadExtensionMessages( $extensionName ) {
    global $wgExtensionMessageFile;
    global $wgMessageCache;
    if ( empty($wgExtensionMessageFile[$extensionName]) || !$wgExtensionMessageFile[$extensionName] ) {
        $wgExtensionMessageFile[$extensionName] = true;
        $i18n_file = glob(dirname(__FILE__) . DIRECTORY_SEPARATOR . "*.i18n.php");
        foreach ( $messages as $lang => $langMessages ) {
            $wgMessageCache->addMessages( $langMessages, $lang );
    return true;
I believe this should work. Please let me know if it does so that I could update the actual extension code appropriately. --Gri6507 19:33, 16 September 2008 (UTC)
I tryed to use your function. The previous prodlem is gone, but instead of it two new problems appered. Unfortunatelly, I didn't save a text of the messages. In final I updated a version of MediaWiki on 1.13. After that everything works properly. Thank you.--Toadstool 14:04, 17 September 2008 (UTC)

Installation : fatal error[edit]

Hi ! I tried to instal this very nice TodoTasks but my wiki got fatal error :

Fatal error: Class 'SpecialPage' not found in /myserver/w/extensions/SpecialTaskList/SpecialTaskList_body.php on line 282

Please, what's the problem (running on MediaWiki 1.12) ? Thanks. --Toto13 13:00, 15 July 2008 (UTC)

The issue is that you missed an installation step. Please take a look at Extension:Todo_Tasks#Step_2 and make sure that you have both require_once() calls speficied. --Gri6507 14:56, 16 September 2008 (UTC)

Warning: Invalid argument supplied for foreach() in /includes/SpecialPage.php on line 210[edit]

Hi. Just installed this extension. Everything looks fine except two things.

  1. The first one is the warning that is always on the top of any page in my wiki. It says:
    Invalid argument supplied for foreach() in /includes/SpecialPage.php on line 210
    What did I miss? What is wrong?
  2. When I choose project name on Special:TaskListByProject and hit "display", it doesn't show me any info, just redirect me to main page.

I have:

  • MediaWiki 1.12.0
  • PHP 5.2.5 (cgi)
  • MySQL 4.1.22


--Xoldmaster 21:07, 2 August 2008 (UTC)


First thank you a lot for this extension - it works fine! - I thought that I should see only my own tasks if I watch "MyTasks" - on my local wiki-installation I see only my tasks, but if I do the same on server wiki-installation everybody can see all tasks from everyone - I don't understand the reason for this behavior?? what could be the reason? --Ulli 757 17:30, 23 September 2008 (UTC)

I am not sure what you mean by a local wiki vs. a server wiki installation. The way this extension generates a list of tasks for a user is by taking advantage of the DPL extension (that's the reason you had to create the "Template:Todo.dpl". This DPL template actually does a dynamic search for all entries in the wiki that are to "Template:Todo" and the template text includes the current users "fullname". The "fullname" is what is stored in the wiki as the Full Name for the currently logged in user. All users on your server wiki installation have the same "fullname" (i.e. no name), then I can see how you would be viewing all other user's tasks. --Gri6507 13:07, 26 September 2008 (UTC)
Thank you for your hint - I made some more tests now and I have found out that I was a "victim" of cache, so my "first" and my "second" wiki installation show the todo-tasks in an identically way (sorry I am a rather new wiki user)--Ulli 757 07:17, 27 September 2008 (UTC)

Denied Permission to Add Projects[edit]

I've added the TODO Tasks extension (v0.9.6) to a private wiki (v1.13) and when I log in as a Sysop and go to MediaWiki:TodoTasksValidProjects and click on the Message tab to add projects, I get a permission error:

You do not have permission to edit pages, for the following reason: 
This page provides interface text for the software, and is locked to prevent abuse.

Any ideas? Thanks. --Samtediou 19:01, 18 December 2008 (UTC)

Oops. found the issue. I needed to set the editinterface to true in my LocalSettings.php. --Samtediou 19:08, 18 December 2008 (UTC)

$wgGroupPermissions['sysop']['editinterface']   = true;
I am glad you found a solution. I will add this fix to the installation instructions. --Gri6507 14:22, 21 December 2008 (UTC)


I did a modification to this Extension to get a checklist from a process. is someone interested?


Yes, i am! -- 13:35, 21 January 2009 (UTC)

InProgress on Userpages not seen in the tasklist[edit]

Thanks for this useful extension. Everything works fine, apart from one thing: when I add an InProgress task at my user page (to keep my personal task list), this task isn't to see in the appropriate task list. In contrast, the todo task is visible as expected. Hence, it seems to be that there is something more differnet than just copy and rename the template! Any ideas how to fix it? --Sid73 13:58, 20 March 2009 (UTC)

In order for the InProgress tasks to appear in the user page, you must change the PHP file as per Extension:Todo_Tasks#Moving_TODO_tasks_to_INPROGRESS. --Gri6507 11:51, 24 March 2009 (UTC)
I did that already and checked it again, but... still the same. I forgot to mention in my last post: the problem only occurs for InProgress tasks which are on user pages (doesn't matter which user). InProgress tasks on 'common' articles and todo task on user pages are displayed properly. (Todo Tasks Version 0.9.7 and DynamicPageList2 Version 1.7.4) --Sid73 13:40, 25 March 2009 (UTC)

Installation Problem/Assistance[edit]

I have a fresh install of mediawiki version 1.15. I'm attempting to add the todo tasks extension and believe I have followed all the instructions, however when I add


to the LocalSettings.php file I get the following errors.

#0 /var/www/wiki/includes/MagicWord.php(244): Language->getMagic(Object(MagicWord))
#1 /var/www/wiki/includes/MagicWord.php(197): MagicWord->load('todo')
#2 /var/www/wiki/includes/parser/Parser.php(4034): MagicWord::get('todo')
#3 /var/www/wiki/extensions/SpecialTaskList/SpecialTaskList_body.php(18): Parser->setFunctionHook('todo', 'wfTodoParserFun...')
#4 [internal function]: wfTodoParserFunction_Setup()
#5 /var/www/wiki/includes/Setup.php(310): call_user_func('wfTodoParserFun...')
#6 /var/www/wiki/includes/WebStart.php(129): require_once('/var/www/wiki/...')
#7 /var/www/wiki/index.php(42): require_once('/var/www/wiki/...')
#8 {main}

I have attempted to search online for assistance on this error and haven't found much assistance. Any direction you can give will be appreciated.

I also have the same error, did you every resolve it?

There have been some changes that seem to depend on the Translate extension. Installing that would probably fix the error. I reverted the changes to fix the issue for me.

http://www.mail-archive.com/mediawiki-cvs@lists.wikimedia.org/msg10640.html has a diff of the changes.

Magic word 'todo' not found[edit]

After the first six steps, mediawiki claims "magic word 'todo' not found". I cannot proceed to create MediaWiki:TodoTasksValidProjects. Anything missing? I´m using mediawiki version 1.15

I've got exactly the same problem in MediaWiki 1.13.3, cannot solve it. 19:52, 30 November 2009 (UTC)


I also have Media wiki 1.15 and had similar issues. for some reason they removed code within the pluggin and it broke it. add the code back

Open the file called


at line 63 you should see:

 $wgExtensionFunctions[] = 'wfTodoParserFunction_Setup';

add line 64

 $wgHooks['LanguageGetMagic'][] = 'wfTodoParserFunction_Magic';


Open the file called


at line 19 you will see

 $wgParser->setFunctionHook( 'todo', 'wfTodoParserFunction_Render' );

add function below within the file.

function wfTodoParserFunction_Magic( &$magicWords, $langCode ) {   
    # Add the magic word   
    # The first array element is case sensitive, in this case it is not case sensitive   
    # All remaining elements are synonyms for our parser function   
    $magicWords['todo'] = array( 0, 'todo' );   
    # unless we return true, other parser functions extensions won't get loaded.   
    return true;   

Save it and the error should disappear.

To see more info on what they changed see:


click on DIFF for those 2 files and you will see further info on what I Mean.

Use the proper version (1.15.x of the extension for MediaWiki 1.15.x). See Special:ExtensionDistributor/TodoTasks. 'trunk' works with the current 1.16alpha version. When using 1.13.x, consider updating to 1.15.x. See Version lifecycle. siebrand 22:07, 6 December 2009 (UTC)

Changing a bit the automatic mail to asign the task[edit]


First let me say it's a great extension!

My question is about the automatic email - instead of the message:

Dear "user",
Someone has assigned a new Task for you on http://example.com/test/Main_Page.
To see your complete Task List go to http://example.com/test/Special:TaskList.
Your friendly "wikiname" notification system

I would like to receive:

Dear "user",
'''<Other User>''' has assigned a new Task for you on http://example.com/test/Main_Page with due date '''dd/mm/yyyy'''
To see your complete Task List go to http://example.com/test/Special:TaskList.
Your friendly "wikiname" notification system

Is there a way to achieve that?--Gregra 09:07, 22 January 2010 (UTC)

  • You will find all messages in the TodoTasks.i18n.php file. The Magic word {{REVISIONUSER}} (Help:Magic words#Technical metadata) will give you the current user name. Just insert it in the proper place.
  • AFAIK providing a due date is beyond the scope of this extension. --Nakohdo 17:39, 17 January 2011 (UTC)

Email notification[edit]


I've installed the extension and everything si running well, except the email notification. I've enabled email in the Localsettings.php and I have valid email addresses in the users properties page. But after saving a new ToDo task nothing happens. What could be wrong? Or waht is exactly to do to get email notification of this extension running? Thx for your help!

There are a few things that could be wrong:
  • Is your PHP installation able to send emails in general? Here's something to try
 $to = "recipient@example.com";
 $subject = "Hi!";
 $body = "Hi,\n\nHow are you?";
 if (mail($to, $subject, $body)) {
   echo("<p>Message successfully sent!</p>");
  } else {
   echo("<p>Message delivery failed...</p>");
  • Did you create the database table with the correct prefix? The code assumes that you created a table called $prefix_todo where the $prefix has to be the correct prefix that you specified in your LocalSettings.php
  • Is $wgEmergencyContact defined correctly in your LocalSettings.php?
  • Is the user that you specified in the TODO a valid user?
  • Can that user send emails? (it's one of the user's preferences to disable email sending)
  • Of none of these lead you anywhere, then take a look at the debug information (see mediawiki debugging howto for details)
Hopefully one of these will help you figure out what's wrong. --Gri6507 12:58, 5 May 2010 (UTC)

Tasks Appearing on User Page[edit]

Warning:Parameter 3 to ExtDynamicPageList2::dplTag()expected to be a reference, value given in /var/www/html/mediawiki-1.15.1/includes/parser/Parser.php on line 3243 is the only thing appearing at the top of my task list page, I am able to create tasks withut issue, but in my testing I cannot view my tasks on the specialpage Task List. I am not too familiar with coding anything, but it looks to me like it is trying to locate something at the directory listed above and that directory is non existant. Any help would be great. THanks --pimpvader08/18/2010 15:05 CST

Deadline or Priority[edit]

Ahoy, other "task managing software" has the ability to create a deadline or a priority for each task. That means, you can order the tasks in respect to their importance. Is such a feature planned? Or a simple way to activate it? I just read, that status changes can be implemented with medium effort. -- 18:21, 2 October 2010 (UTC)

Does TodoTasks currently work with Mediawiki 1.16?[edit]

Following the install instructions from this site, I don't think that TodoTasks fully works with a fresh install of Mediawiki 1.16.

There is a php error and also no formatting of the 'my tasks' page (see screenshot). Can anyone suggest a way forward? I basically used Mediawiki because of this plugin! I had this working on an older version of Mediawiki, is rolling back really the only option?


Best regards, --Boyfarrell 20:49, 12 December 2010 (UTC)

I do not have the error that you get, but i do have the same issue with the "task" not linking and getting the <html> link .. -Lars
Hi Lars, thanks for your reply. It seems then that Mediawiki 1.16 has broken support for TodoTasks, this is a great shame. I will attempt to contact the developer is probably a very easy fix looking at the nature of the error: the general functionality works but there is a slight error displaying results. I will report back any progress. --Boyfarrell 16:30, 18 December 2010 (UTC)
I got a similar error with some of my own DPL templates after upgrading to 1.16 so the error might be rather with that extension than with TodoTasks. It seems like DPL needs some more specific format settings in some cases. --Nakohdo 17:30, 10 January 2011 (UTC)
EDIT: The trunk version seems to work with 1.16 (though I haven't tested it thoroughly yet). --Nakohdo 18:57, 10 January 2011 (UTC)
Can confirm the error of the OP. --Nakohdo 10:28, 12 January 2011 (UTC)
EDIT: Using the trunk version of DPL seems to solve the problem, Special:ExtensionDistributor/DynamicPageList --Nakohdo 10:56, 12 January 2011 (UTC)

1.16 snapshot - incomplete[edit]

The current 1.16 snapshot (TodoTasks-MW1.16-r62678.tar.gz) doesn't seem to contain all of the files of this extension:

TodoTasks wrong filenames.png

The trunk version (TodoTasks-trunk-r77506.tar.gz) looks ok:

TodoTasks trunk files.png

--Nakohdo 17:48, 10 January 2011 (UTC)

That's because the 1.16 branch of this extension hasn't been updated in 10 months. The files in the TodoTasks directory have been renamed since the branching of MediaWiki 1.16. Since the change in filename could break some wikis, the important changes are documented in /trunk/extensions/RELEASE-NOTES. Reach Out to the Truth 15:28, 12 January 2011 (UTC)
So is there a solution to this problem? We can not get the current branch to run. What is the solution?--Clyman99 20:56, 15 February 2011 (UTC)
Just rename the files to match their former names, or update the include statement in LocalSettings.php to point to the new entry point. The latter is the recommended method. If that still doesn't work, then there is some other issue and I don't know the solution right now. Reach Out to the Truth 22:10, 15 February 2011 (UTC)

Template names case sensitve?[edit]

Depending on your wiki's settings, e.g. $wgCapitalLinks = false; the names of the templates might be case sensitive. Lower case names should be safe. --Nakohdo 10:17, 12 January 2011 (UTC)

Namespace avareness?[edit]

The extension does seem to recognize only tasks in the Main namespace, not in the Help or Talk namespace for example. The User namespace an subpages do work, though. Could this behavior be changed somehow? --Nakohdo 14:59, 12 January 2011 (UTC)

The emails are sent correctly, the tasks are only missing from the personal task list. Nakohdo 17:39, 12 January 2011 (UTC)
EDIT: The tasks seem to show up eventually so it might be more of a caching problem. --Nakohdo 09:58, 13 January 2011 (UTC)

Empty Task List[edit]

This is a great extension but we are still having some problems. We are able to setup and assign tasks. Emails are sent, but the "my task" list are empty. It is not being populated with the new tasks. The same holds true for the Task list by project page as well. I suspect that the problem may lay with the DPL extension but I have double checked it and can not find anything wrong. Any Ideas? --Clyman99 22:41, 15 February 2011 (UTC)

I can confirm this behavior. The "My task" list got populated at some time but never updated. Even worse, when I log in as another user I seem to get another user's task list, very strange indeed. DPL is up to date. --Nakohdo 09:29, 16 February 2011 (UTC)
I did a complete reinstall of the extension and still no luck getting the "my task" list to populate. Reading the discussion it appears that others have had problems with this but I do not see any solutions. Can anyone confirm that this is working for them? and if so did they have to do anything to get it up and going? Thanks!--Clyman99 23:42, 16 February 2011 (UTC)
I had it working when I first installed it some weeks ago. In the meantime I upgraded DPL to the latest trunk version so that might be the reason for TodoTasks not working. I don't have any further clues at the moment. --Nakohdo 07:28, 17 February 2011 (UTC)


I found that by removing the ampersand from the third parameter on line 865 in the DynamicPageList2.php file found in the Dynamic Page list extension folder the My Task list populated correctly. The list task by project also functioned as it should. I hope this helps! --Clyman99 22:05, 23 February 2011 (UTC)

Thanks for the hint. Will try asap and report back. --Nakohdo 07:29, 24 February 2011 (UTC)
I can't find the line in my DPL installation, probably because I'm using the latest trunk version. Could you post the relevant function with some context? TIA --Nakohdo 10:22, 24 February 2011 (UTC)
Here is the corrected function signature, public static function dplTag( $input, $params, $parser )
The orignal was, public static function dplTag( $input, $params, &$parser )
Hope this works for you.--Clyman99 22:41, 25 February 2011 (UTC)
Thanks. In my version that function is in the DynamicPageList.php file line 1280 and already looks so:
public static function dplTag( $input, $params, $parser ) {
    self::behaveLikeIntersection( false );
    return self::executeTag( $input, $params, $parser );

--Nakohdo 19:55, 28 February 2011 (UTC)

Empty Task List & Redirects to Main Page[edit]

I have just installed ToDo Tasks for MediaWiki 1.17.0. It basically works fine, adding ToDo-Items with User and projects, but I do have two problems that aren't new to this extension:

  1. My Special:TaskList page doesn't show any entires (Warning: No results.).
  2. Trying to view tasks by projects redirect me to the Wiki:Mainpage.

The above Solution won't work for me since the current version of DPL already has this code implemented. The redirect-solution didn't work either - or i placed the code at the wrong line.

Is there any other solution, maybe?

--Rob st 09:14, 24 October 2011 (UTC)

I think the error is somewhere in the TodoTasks_body.php - around line 313 you'll find:
$wgOut->addWikiText(sprintf(wfMsgTL('tasklistbyname'), $fullname));
$wgOut->addWikiText("<dpl> uses=Template:Todo\n notuses=Template:Status Legend\n include={Todo}.dpl\n includematch=/${fullname}/i\n </dpl>");
$wgOut->addWikiText(sprintf(wfMsgTL('tasklistbynameinprogress'), $fullname));
$wgOut->addWikiText("<dpl> uses=Template:InProgress\n notuses=Template:Status Legend\n include={InProgress}.dpl\n includematch=/${fullname}/i\n </dpl>");
I tried replacing includematch=/${fullname} with includematch=/${username}, which at least showed my current todo-items on the special page. But I'd like to display the user's full name. The other page (tasks by project) still doesn't work.
--Rob st 09:14, 24 October 2011 (UTC)
Darn! It seems that if a task is assigned to the username, it only displays when calling via username in TodoTasks_body.php - and vice versa.
So, I assigned my tasks to my username (which displayed my full name in the items correctly), but they only show, if the PHP calls the tasks by username.
--Rob st 09:14, 24 October 2011 (UTC)

Solution for empty Task list[edit]

I modified the code in TodoTasks_body.php around line 313 to:

$wgOut->addWikiText(sprintf(wfMsgTL('tasklistbyname'), $fullname));
/* Show Todo items assigned to full name */
$wgOut->addWikiText("<dpl> uses=Template:Todo\n notuses=Template:Status Legend\n include={Todo}.dpl\n includematch=/${fullname}/i\n </dpl>");
/* Show Todo items assgigned to username */
$wgOut->addWikiText("<dpl> uses=Template:Todo\n notuses=Template:Status Legend\n include={Todo}.dpl\n includematch=/${username}/i\n </dpl>");

/* Show tasks in progress */
$wgOut->addWikiText(sprintf(wfMsgTL('tasklistbynameinprogress'), $fullname));
/* Show in-progress items assigned to full name */
$wgOut->addWikiText("<dpl> uses=Template:InProgress\n notuses=Template:Status Legend\n include={InProgress}.dpl\n includematch=/${fullname}/i\n </dpl>"); 
/* Show in-progress items assgigned to username */
$wgOut->addWikiText("<dpl> uses=Template:InProgress\n notuses=Template:Status Legend\n include={InProgress}.dpl\n includematch=/${username}/i\n </dpl>");

--Rob st 09:14, 24 October 2011 (UTC)

I'm facing the same issue as you are, but the fix above is not solving it for me. Also, I don't have firstname + " " + lastname format for the user name. Just the firstname. So I had to add a test before it.
so with your modifications, I'm getting:
Extension:DynamicPageList (DPL), version 1.8.9 : AVERTISSEMENT : Aucun résultat !
Extension:DynamicPageList (DPL), version 1.8.9 : AVERTISSEMENT : Aucun résultat !
Extension:DynamicPageList (DPL), version 1.8.9 : AVERTISSEMENT : Aucun résultat !
and I'm still redirected to the main page when I try to see the tasks by project. Any idea what can be wrong?

--jmspaggi 22:12, 23 October 2011 (EST)

What happens if you assign the tasks to usernames only?
--Rob st 09:21, 24 October 2011 (UTC)
Yes, I do have an idea why we are redirected to the main page: it seems as if the title of the Special:TaslistByProject-Page is not correctly carried in the FORM-Data. The extension redirects to a page with the url
which should actually be:
I'm currently trying to find out where to change that issues. Because if you acces the URL manually (by typing it into your browser) the tasklist by project-list is shown (for me).
--Rob st 09:14, 24 October 2011 (UTC)

Solution for redirecting to homepage when displaying projects in Special:TaskListByProject[edit]

In the TodoTasks_body.php, you'll find at the end:

	function ValidProjectsForm() {
		global $wgOut;

		$titleObj = SpecialPage::getTitleFor( "TaskListByProject" );
		$kiaction = $titleObj->getLocalUrl();

		$validprojects = preg_split('/\s*\*\s*/', getValidProjects(), -1, PREG_SPLIT_NO_EMPTY);

		if( $validprojects ) {
			$wgOut->addHTML("<FORM ACTION=\"{$kiaction}\" METHOD=GET><LABEL FOR=project>" .
			wfMsgTL('tasklistchooseproj') . "</LABEL>");
			$wgOut->addHTML("<select name=project>");

			foreach ($validprojects as $vp) {
				$wgOut->addHTML("<option value=\"$vp\">$vp</option>");
			$wgOut->addHTML("</select><INPUT TYPE=submit VALUE='" . wfMsgTL('tasklistprojdisp') . "'></FORM>");

Just change the form method from GET to POST in line 362 (highlighted above) to:

			$wgOut->addHTML("<FORM ACTION=\"{$kiaction}\" METHOD=POST><LABEL FOR=project>" .

That works for me. I don't know how that issue does not affect more users, since the form-method is completely wrong?

--Rob st 10:05, 24 October 2011 (UTC) Hi Rob, it's working better now. Thanks for this fix. I'm no more redirected to the home page. But it's display empty lists. Here is what I have on a page:

{{todo|task 1|jmspaggi|project:Portail}}
{{todo|task 2|jmspaggi|project:Portail}}
{{todo|task 3|jmspaggi|project:Portail}}
{{todo|task 4|Fist Last|project:Portail}}
{{todo|task 5|jmspaggi|project:Portail}}
{{todo|task 6|Fist Last|project:Portail}}

jmspaggi is the username and First Last is the full name. I'm getting an error if there is no space on the full name, but I would like to use the username everywhere instead of the full name. When I save the page, I get

TODO: task 1 ( First Last )
TODO: task 2 ( First Last )
TODO: task 3 ( First Last )
TODO: task 4 ( First Last )
TODO: task 5 ( First Last )
TODO: task 6 ( First Last )

Which is correct. When I go to my task list, I get only the tasks #4 and #6, and when I go to the task by project I get

You actually have a little syntax-mistake which I think causes the problem of not showing any tasks in your tasklist by project.
Correct syntax for adding project would be
That should output:
TODO: projectname - Task ( First Last )
--Rob st 07:36, 25 October 2011 (UTC)
Oh! You're right! I did not catched that! :( I tried {{todo|task 1|jmspaggi|project=Portail}} and it's also working fine, I can see the project name. I also restored the TaskByProjects page and it's now working fine!
Thanks for that!
Jmspaggi 11:50, 25 October 2011 (UTC)
Extension:DynamicPageList (DPL), version 1.8.9 : AVERTISSEMENT : No results!

I have added the projects into MediaWiki:TodoTasksValidProjects

So here are few questions.

  • On the file TodoTasks_body.php, is that an issue if I comment this line?
list ($firstname, $lastname) = preg_split('/ /', $fullname);
  • How can I see the tasks on the project list.
  • How can I see tasks 1, 2 and 3 on my tasks list?
As stated above, the main problem is: When assigning tasks by using the Template:Todo, it checks for username and first+last name to be true and displayed in the taks / todo-item itself. But when displaying tasks in Special:Tasklist, only tasks assgined to the username are output. To overcome that, try using my solution above. Here the output for tasks assigned to first+last name are added. The outputs are documented as
/* Show Todo items assigned to full name */
/* Show Todo items assgigned to username */
look at the last bit of code in line (scroll to the right), here you'll finde the difference in variables.
--Rob st 07:36, 25 October 2011 (UTC)
The issue with that is that when there is no tasks assigned under that name, I get a message saying "Extension:DynamicPageList (DPL), version 1.8.9 : AVERTISSEMENT : Aucun résultat !". Is there a way to test if there is a result before building the output? Because I get 1 line with tasks, and 3 lines with a "No results" message. Also, users with no tasks at all will just see 4 error lines.
Jmspaggi 11:53, 25 October 2011 (UTC)


You're welcome :-) --Rob st 07:36, 25 October 2011 (UTC)

--Jmspaggi 12:46, 24 October 2011 (UTC)

can not edit any page anymore[edit]

After I installed new xampp 1.7.7 on m mediawiki I was surprised not to be able to edit any page anymore. After searching and searching for any causes, I started to switch off some extension of my wiki and I came to SpecialTaskList.

No idea why but if I comment out this following line in my LocalSettings.php, I can edit page again:

  1. require_once("$IP/extensions/SpecialTaskList/SpecialTaskList.php");

Just wanted to let you know User:thomoreau

Fatal error: Class 'SpecialPage' not found in .../extensions/TodoTasks/TodoTasks_body.php on line 268[edit]


I'm using mediawiki 1.19.1 and todotask 0.10.0. Everything is working well.

To synchronize ID/pass between the wiki and a joomla site (V1.7.3), I'm using JFusion Joomla Component. Unfortunately, I can't enable JFusion because an error (displayed when I enter into "configuration" menu of JFusion) : Fatal error: Class 'SpecialPage' not found in PathOfMyWiki/extensions/TodoTasks/TodoTasks_body.php on line 268

If I delete, in TodoTasks_body.php line 267 and 310, the "extends SpecialPage", JFusion works but obviously errors appear in mediawiki.

What should I do to make it work ?

Thanks for your answers --Plalemand (talk) 15:56, 17 November 2012 (UTC)

After browsing all the web (!), I found another website who had the same problem and fixed it by adding require_once("$IP/includes/SpecialPage.php"); just before the line class TaskList extends SpecialPage in TodoTask_body.php (line 267). Hope it may help. --Plalemand (talk) 19:19, 26 January 2013 (UTC)

Incorrect username problem[edit]

Hi, I'm running:

MediaWiki 1.19.2

PHP 5.3.19 (apache2handler)

MySQL 5.5.28-log

Seems to be doing most of the things correctly apart from listing 'Incorrect unsername' several times. It only seems to list the second assigned user several times. This is what I have in the page:

{{todo|What to do|Joanna Thomas, Debbie Rayner, Bob McIntosh|project=ed}}

but this is what its viewing:

TODO: FOR EDITING - What to do( Incorrect username, Debbie Rayner, Incorrect username, Debbie Rayner, Incorrect username, Debbie Rayner, Incorrect username )

It does show the correct names in mytasks though?

can you please assist me?



List is not displaying as it should.[edit]

Good day, I recently installed this plugin on mediawiki 1.20 and it's not showing like it does on the image.


What I get is the following: Task list Jump to: navigation, search Todo list for <dpl> uses=Template:Todo

notuses=Template:Status Legend include={Todo}.dpl includematch=//i </dpl>

<dpl> uses=Template:Todo

notuses=Template:Status Legend include={Todo}.dpl includematch=/Zangetsu/i </dpl>


<dpl> uses=Template:InProgress

notuses=Template:Status Legend include={InProgress}.dpl includematch=//i </dpl>

<dpl> uses=Template:InProgress

notuses=Template:Status Legend include={InProgress}.dpl includematch=/Zangetsu/i </dpl>

I also keep getting the following at the top of the page

Notice: Undefined offset: 1 in extensions\Todotasks\TodoTasks_body.php on line 297

German mediawiki Version 1.25[edit]

Installierte Software Software Version MediaWiki 1.25.1 PHP 5.5.9 (apache2handler) MySQL 5.6.16

The preview of a page looks ok. But it is not possible to save a page! Please assist --[[User:Bmrberlin| Bernd M.]] (talk) 13:39, 13 April 2015 (UTC) Six months later and no reply. Very disappointing! I get this errror message:

Catchable fatal error: Argument 1 passed to MailAddress::newFromUser() must be an instance of User, string given, \includes\User.php on line 4204 and defined in \includes\mail\MailAddress.php on line 59 When trying to save a page.--[[User:Bmrberlin| Bernd M.]] (talk) 05:30, 9 September 2015 (UTC)

User:Jamezp12 Edit: Have you tried the suggestions here at all: https://www.mediawiki.org/wiki/Extension_talk:Todo_Tasks#Email_notification

I have the same problem, it's something to do with the old way that MediaWiki used to send emails, something isn't defined any more but I can't put my finger on it.

They fixed the same error for a different extension here: https://www.mediawiki.org/wiki/Extension_talk:New_User_Email_Notification#Fatal_Error


The NotIF extension does not report any errors! I still get the same error as before: Catchable fatal error: Argument 1 passed to MailAddress::newFromUser() must be an instance of User, string given, \includes\User.php on line 4204 and defined in \includes\mail\MailAddress.php on line 59 --[[User:Bmrberlin| Bernd M.]] (talk) 07:40, 17 September 2015 (UTC)