Extension talk:TimelineTable

From MediaWiki.org
Jump to navigation Jump to search


Any chance of an example of the output? Even a screenshot would be nice...

Done! -- 06:15, 30 June 2010 (UTC)

Days possible?[edit]

Is it possible to create a more detailed timeline using days? e.g.

<timeline title="This is the title" footer="This is a timeline">
2010-12-15|2011-01-06|holyday|Mr. Smith

-- 20:52, 16 August 2010 (UTC)

I am currently working on it...

--Thibaultmarin 17:13, 31 August 2010 (UTC)

The new version can display timelines at a day-by-day level.

--Thibaultmarin 19:50, 1 September 2010 (UTC)

CSS does not work[edit]

I'm using modern skin. I already have copied the CSS sample into mediawiki:common.css. The only output is text - no lines, no color, no table.
Any fixes?

-- 12:07, 18 August 2010 (UTC)

Copying the CSS sample into the MediaWiki:Common.css seems to work fine on my server MW 1.13.0 (even when using modern skin). Could you paste the content of your MediaWiki:Common.css?

--Thibaultmarin 19:50, 1 September 2010 (UTC)

Doesn't work on mediawiki 1.16[edit]

So, it shows: Deprecated: Function split() is deprecated in ...\extensions\TimeLineTable\timeline.php on line 130

Deprecated: Function split() is deprecated in ...\extensions\TimeLineTable\timeline.php on line 138

Deprecated: Function split() is deprecated in ...\extensions\TimeLineTable\timeline.php on line 140

Deprecated: Function split() is deprecated in ...\extensions\TimeLineTable\timeline.php on line 141


And what to do?

Sorry for the delay, I'll try to fix this soon...

Thibaultmarin 17:35, 1 March 2011 (UTC)

Version 1.6 should fix this.

Thibaultmarin 05:56, 2 March 2011 (UTC)


I love this extension, but when I use anything other than a complete year, month, day, I get "Undefined offset: blah, blah" in the Process months section. Using MediaWiki 1.16.1, PHP 5.2.8, and 1.6 of TimelineTable.php. With the time span I need this is just too much to show on a page.

After I scroll down past all the error messages, I see that the table has in fact been nicely created, then more messages: "Warning: Cannot modify header information - headers already sent by (... blah blah ...TimelineTable.php"

I can't seem to reproduce the error, could you paste your <timeline> input?

Thibaultmarin 04:50, 14 April 2011 (UTC)


This is an example of what gives me the error. I've also tried it with months but not days. Interesting that I get a completely different set of errors here if I leave out the , but that looks like another extension tripping up. <nowiki> <timeline title="Availability Through Retirement" footer="Product life Timeline"> 1998|2015|this is an event|next generation hardwired will support V2 devices |color:red; 1998|2015|this is yet another event|next generation hardwired will support V devices 2005|2015|event number three |this includes the Wireless System |color:black; 2009|2020|something else|no comment 2009|2020|Perimeter Monitoring|more 2011|2021|whatever|next generation wireless </timeline>

The timeline table you provided is generated correctly (with no error) on the two mediawikis I have access to (MediaWiki 1.16.2, PHP 5.3.3-1 and MediaWiki 1.13.0, PHP 5.0.4). What extensions do you have enabled? Maybe switching other extensions off could help locate the problem.

Thibaultmarin 04:20, 15 April 2011 (UTC)

I tried disabling ALL the extensions I have installed but saw no changes in behavior. Puzzling.

Mickeyf 14:23, 18 April 2011 (UTC)

I just read that this error might be due to spaces (or empty lines) around the <?php ... ?> block. Does removing the extra space help?

Thibaultmarin 05:09, 22 April 2011 (UTC)

I did have a couple of empty lines at the end of the file and removed them, but the behavior did not change.

Version 1.7 might fix the problem (please let me know if it does).

Thibaultmarin 23:46, 20 May 2011 (UTC)

I have tried V 1.7 with the same sample used above. Now the only thing I get on the screen is "-1". It seems to be choking at "if ( isset($eventStart[1]) )"

I uploaded the wrong file, the updated version seems to be working with php error messages enabled. Thanks for your patience.

Thibaultmarin 01:41, 25 May 2011 (UTC)

Does not seem to be working with MW 1.16.1 and php 5.2.8 (apache2handler) on local Windows Hosted wiki, but is now working with MW 1.16.1 and php 5.2.17 (cgi-fcgi) on ISP's linux hosted wiki, which is the one I care about - Thanks! And I can certainly be patient when I am benefiting from the generosity of someone else who's taken the trouble to write and debug a useful extension!

Mickeyf 21:25, 25 May 2011 (UTC)

Any chance for years only?[edit]

Is there a chance, or maybe a quick ('n' dirty) fix to show only years? For some timelines the months and day's are too much. (for example: the evolution of the internet)

I am currently working on it...

Thibaultmarin 17:35, 1 March 2011 (UTC)

Version 1.6 allows use of years only

Thibaultmarin 05:56, 2 March 2011 (UTC)

Changing name of extension to avoid conflict name[edit]

The name of the tag used by this extension <timeline> conflict with an other one (the one wich have a link in the bottom of the page) : « (easy)timeline » (using ploticus and so on).

So, I'm using both of them and I rename this one to use the tag <timelinetable></timelinetable> in my personal wiki.

I change the line 115 of timelinetable.php :

$wgParser->setHook( 'timelinetable', 'efTimelineRender' );

with «timelinetable» instead of «timeline».


--Vincent.vaquin 13:22, 28 October 2011 (UTC)

Thanks for pointing that out, I have updated the tag to 'timelinetable'.

Thibaultmarin 05:47, 11 November 2011 (UTC)

Undefined index error[edit]

To avoid errors if any of the parameters is missing change the following lines:

$title = $args['title'];
$footer = $args['footer'];


if(isset($args['title'])){  $title =  $args['title']; } else {  $title = ""; }
if(isset($args['footer'])){ $footer = $args['footer']; } else { $footer = ""; }

/MikaelLindmark 22:42, 10 February 2012 (UTC)

Rounded Corners[edit]

How do I get rounded corners in the second example? --WhiteTigerItaly (talk) 09:57, 7 October 2012 (UTC)

The '-moz-border-radius' lines in the CSS classes were setting a firefox-specific property to do this. This is now replaced by the standard (CSS3) 'border-radius' property. If you update the appropriate section of your mediawiki:common.css, rounded corners should be enabled (on most recent browsers).

Thibaultmarin (talk) 16:57, 7 October 2012 (UTC)

OK! Thanks.
--WhiteTigerItaly (talk) 07:04, 8 October 2012 (UTC)

Is it possible to display only months?[edit]

I'd like to essentially show a renewal timeline, and was wondering if it is possible to display only the months (no years or days). Thanks!

It is not currently possible, but I'll have a workaround soon (once I know where to host it).

Thibaultmarin (talk) 04:41, 8 May 2013 (UTC)

An update has been submitted for review to mediawiki. In the mean time (this might take a while), version 1.8 temporarily available at https://bitbucket.org/thibaultmarin/timelinetable/get/v1.8.zip includes a workaround: the following should display only months (no years or days):
<timelinetable title="This is the title" footer="This is a timeline" noyears=1>
2008-01|2008-06|event1|some comment
2008-12|2008-07|event2|something else

Hope it helps. Thibaultmarin (talk) 02:46, 15 May 2013 (UTC)

Days of the week?[edit]

Will there be support for days of the week? Sun/Mon/Tues/Wed/Thurs/Fri/Sat

<timelinetable title="This is the title" footer="This is a timeline" noyears=1>
Mon|Fri|event1|some comment
Sat|Sun|event2|something else
Thurs|Sun|event3|cookie time
Mon-Tues|Thurs-Fri|event4|I really wish it could do this (Multiple ranges on a single line)
A partial solution is available with v1.8.1 (https://bitbucket.org/thibaultmarin/timelinetable_public/get/v1.8.1.zip): the "daynames" option enables display of day names in headers (the day number is also displayed if the table spans more than a week).
<timelinetable title="This is the title" footer="This is a timeline" daynames=1>
2008-01-03|2008-01-06|event1|some comment
2008-01-04|2008-01-10|event2|something else

<timelinetable title="This is the title" footer="This is a timeline" daynames=1 noyears=1 nomonths=1>
2008-01-03|2008-01-06|event1|some comment
2008-01-04|2008-01-04|event2|something else

Parsing day names in the input, and allowing multiple events per line require larger changes. It will be part of a longer term effort (months?).

Thibaultmarin (talk) 19:36, 25 May 2013 (UTC)

Version 2.0rc0 (https://bitbucket.org/thibaultmarin/timelinetable_public/get/v2.0rc0.zip) allows multiple events per line and is more flexible with the input dates (it supports what is supported by [1]). See the extension wikipage.

Thibaultmarin (talk) 03:27, 2 June 2013 (UTC)

Is it possible to do weeks?[edit]

A week is a common unit for planning in a project, so itwould be nice to have the option to show by weeks. The simple soultion would be to have week numbers 1 thru 52, but it would be nicer if the dates could be shown as well. The user would have to specify which day of the week to show. Thanks. Bill Johnson (talk) 13:55, 23 May 2013 (UTC)

I will look into this. This may not have a simple solution, so it might take some time.

Thibaultmarin (talk) 19:47, 25 May 2013 (UTC)

Version 2.0rc0 (https://bitbucket.org/thibaultmarin/timelinetable_public/get/v2.0rc0.zip) is a first attempt at this. See the extension wikipage for details.

Thibaultmarin (talk) 03:24, 2 June 2013 (UTC)

Error: Mutiple Events in one Line[edit]

There is an error, when I set two directly following events in one line, although there are not overlapping:

<timelinetable title="Title" depth=day headers=Y/M/W/D-D>
2013-03-01|2013-03-24|event 1|comment 1#2013-04-19|2013-05-07|event 2|comment 2#2013-05-08|2013-05-09|event 3|comment 3

Error message is: "Fatal error: Call to a member function format() on a non-object in /mnt/web7/b2/46/52072046/htdocs/cms/wiki/extensions/TimelineTable/TimelineTable.DateDiffHelper.php on line 57"

Thanks for reporting this, I'll get to this in a few days.

Thibaultmarin (talk) 04:23, 7 June 2013 (UTC)

Version 2.0rc1 should fix this (https://bitbucket.org/thibaultmarin/timelinetable_public/get/v2.0rc1.zip). Please let me know if it doesn't.

Thibaultmarin (talk) 03:33, 10 June 2013 (UTC)

Hi Thibault. Thank you. But unfortunately, there is still the same error message. I run MediaWiki 1.20, PHP 5.3.22 (cgi-fcgi). Do you have any further idea or can make it woking? Thanks a lot, Epic.

Interesting, the above table renders correctly on my installation (MediaWiki 1.20.3, PHP 5.4.4-15 (apache2handler)). I will try to get a debugging version of the extension to gather more information sometime soon (in mean time, if you could double check that you are running the latest version, that would help, thanks).

Hi Thibault, sorry, my mistake: I uploaded the old version. It is functioning now. Thank you very much! Best, Epic.

no longer working after mw upgrade[edit]

I just upgraded from 1.16.1 to 1.21.1 (php 5.3.26 cgi-fcgi) and upgraded timelinetable to 2.0 - it was working fine in 1.16.1.

After upgrading, I changed my tags from <timeline> to <timelinetable>, but still all I see is text. I can change to color of the text itself, but the css does not seem to be doing anything. I did update and double check my MediaWiki:Common.css, and made sure -moz-border-radius was now border-radius. (I fact, I pasted in the css from here.) The formatting looks fine, just no css colors, borders, etc. in effect. Cleared the cache of course. What might I be missing?

I will look into this as soon as I can (hopefully in a few days).

Thibaultmarin (talk) 04:31, 24 July 2013 (UTC)

OK i quickly tried to install 1.21.1 (default options for everything I think). I installed the extension (copied the files and added the 'require_once ...' line in LocalSetttings.php), the tables were rendered without borders (as expected). I then edited the mediawiki:common.css and pasted the content of the TimelineTable.style.css file. It worked (table borders and background colors rendered properly) so it may be some configuration thing. A few things to try:
  • See if changes to common.css (not related to the timelinetable entries) affect the wiki (I haven't tried yet but redefining H1 tags maybe be easy to do for instance). This would help determine if the problem comes from the extension or the wiki configuration.
  • See if using the user CSS page results in something different (http://www.mediawiki.org/wiki/Common.css). I think this can be done by adding the CSS content to User:Example/common.css (instead of mediawiki:common.css) and enabling $wgAllowUserCss in LocalSettings.

I'll try to reprodruce the issue with different settings. Thibaultmarin (talk) 05:04, 24 July 2013 (UTC)

Sorry for the (long) delay. Was this issue solved? If not:
  • Could you post the content of a problematic <timelinetable> tag?
  • Does adding other entries to the MediaWiki:Common.css seem to work? For instance, try adding the following to MediaWiki:Common.css:
 color: red;
The second level section titles should appear in red, do they?
  • Could you check the Special:Version page for the Mediawiki and TimelineTable versions?

For what it's worth I had no problem during my upgrade to 1.21.2 (did you run the update script?) Thibaultmarin (talk) 03:17, 4 October 2013 (UTC)

time possible[edit]


would it be possible to also use time, something like :

2014-09-01 10:10:00|2014-09-01 12:10:00|event 1
2014-09-01 11:10:00|2014-09-01 11:30:00|event 2
It is not currently possible but it shouldn't be too hard to add. I'll look into it.

Thibaultmarin (talk) 03:53, 10 September 2014 (UTC)

I have some provisional support for tables with hour/minute/second depth and headers. It is available at: https://bitbucket.org/thibaultmarin/timelinetable_public/get/v2.1alpha0.zip. It is not fully tested, but it should be able to render things like the following (you can post here if you encounter issues):
<timelinetable title="Title" depth=minute headers=H>
2014-09-01 10:10:00|2014-09-01 12:10:00|event 1
2014-09-01 11:10:00|2014-09-01 11:30:00|event 2 # 2014-09-01 12:05|2014-09-01 14:30 | event 3
2014-09-01 11:30:00|2014-09-01 12:30:00|event 4
<timelinetable title="Title" depth=minute headers=H/i>
2014-09-01 10:50:00|2014-09-01 11:10:00|event 1
2014-09-01 10:49:50|2014-09-01 11:00:10|event 2 # 2014-09-01 11:05|2014-09-01 11:08 | event 3
<timelinetable title="Title" depth=second footers=s headers=H/i/s>
2014-09-01 10:59:40|2014-09-01 11:00:02|event 1
2014-09-01 10:59:40|2014-09-01 10:59:58|event 2 # 2014-09-01 10:59:59|2014-09-01 11:00:02 | event 3

Thibaultmarin (talk) 05:08, 17 September 2014 (UTC)

Error if I don't use noyears[edit]

<timelinetable title="Title" noyears=1>

If I use this example I see a timeline in the preview.
But if I delete noyears because I'd like to see the year, than I see no preview, only a white page.

Best regards

I can't seem to reproduce the issue (the table is rendered correctly with and without the 'noyears' option). Which version of the extension (and of mediawiki) are you using?

Thibaultmarin (talk) 00:05, 15 October 2014 (UTC)

MediaWiki 1.23.5 & TimelineTable 2.0
TT 2.0 because I need the function "multiple events per line"

Best regards
I have tried different versions from https://bitbucket.org/thibaultmarin/timelinetable_public/downloads (Tags tab). I had issues with v2.0rc0 which resulted in:
Fatal error: Call to a member function format() on null in mediawiki/extensions/TimelineTable/TimelineTable.DateDiffHelper.php on line 57
The other versions worked fine on your example (and on some variations of it). Do you know exactly which file/version you have downloaded? I would recommend v2.0 (https://bitbucket.org/thibaultmarin/timelinetable_public/get/v2.0.zip). If you already have v2.0, then I'm puzzled. It may have something to do with the mediawiki version (I'm using 1.23.1, I'll try to upgrade over the weekend). It may also be useful to turn on php messages (https://www.mediawiki.org/wiki/Manual:How_to_debug#PHP_errors - I usually add the two lines in LocalSettings) if possible and try to reload the page (you can modify the table content to make sure the page is re-generated). Thibaultmarin (talk) 03:48, 17 October 2014 (UTC)
I upgraded to MW 1.23.5 and tried the e3e6626810a9 file (v2.0rc1) and I still can't reproduce the issue. Would it possible for you to:
  1. enable php debugging on your installation, add the table, then save the page and report the error (and warning) messages,
  2. try v2.0 (https://bitbucket.org/thibaultmarin/timelinetable_public/get/v2.0.zip) which include a minor fix (although I don't think it will fix the issue)
  3. try the following tables and report any error or warning messages you may get
<timelinetable title="Title" depth=day headers=Y/M-M/D>

<timelinetable title="Title" depth=month headers=Y/M-M-2/D>

<timelinetable title="Title" depth=month headers=Y/M-M-2/D>

memory_limit 64MB

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 8388608 bytes) in /.../extensions/TimelineTable/TimelineTable.Table.php on line 365

I tried memory_limit 128MB

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 99 bytes) in /.../extensions/TimelineTable/TimelineTable.Table.php on line 364

I tried memory_limit 256MB

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 101 bytes) in /.../extensions/TimelineTable/TimelineTable.Table.php on line 364

I think it's no problem of my memory.

Best regards

  1. Is this still with v2.0rc1 (e3e6626810a9 file)? Also could you please post the exact table tested?
  2. How did you increase the memory size?
  3. Would it be possible to disable other extensions (to make sure this is the culprit) and put the table in an empty page?
  4. Could you try this simple table?
<timelinetable title="This is the title" footer="This is a timeline">
2008-2|2009-06|event1|some comment#2009-10|2010-06|second
2008-12|2009-07|event2|something else

  1. Yes, I used the e3e6626810a9 file
  2. I used my server control panel
  3. Without all other extensions and ...
  4. ... whit your simple table I got ...

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 79 bytes) in /.../extensions/TimelineTable/TimelineTable.DateDiffHelper.php on line 49

Thanks, I'll try to instrument the code to log more information and force some memory cleanup for debugging. What version of php are you using?
current PHP 5.3.3 (cgi-fcgi) & MySQL 5.5.40
In 2 Weeks get my OS PHP 5.4
I have uploaded a test version with extra logging (https://bitbucket.org/thibaultmarin/timelinetable_public/get/debug_memory.zip). Please download/install it, setup a log file for the extension by adding in your LocalSettings: $wgDebugLogGroups = array( 'TimelineTable' => '/tmp/debug_tlt.log' ); (you may change the log file path /tmp/debug_tlt.log to something else) and reload the page (you can change the title of an event to make sure the table is rendered and not obtained from the cache). If you could report here the input table and the corresponding log, that may point us to the right direction. Thanks.
I used $wgDebugLogGroups = array( 'TimelineTable' => '$IP/extensions/TimelineTable/debug_tlt.log' ); But where is the log?
Some hours later: I've the choice of 5 PHP versions.
5.3.3 -> 5.3.29 works if I disable caching. I think that's it. I can see the created timetable. :-)
5.3.3 -> 5.4.34 doesn't work. I think the old LocalSettings is responsible.
For the log, $IP won't work, you need to give a path on the filesystem (maybe /var/www/html/mediawiki/... or /var/log/ or /tmp/, anywhere as long as the web-server user has permission to write there). I think, there is a memory leak in the code, although I'm surprised that small tables lack enough memory to run out of 256MB. If you could post the log along with the input table when you get it, that may help understand. Also, where did you disable caching? Thanks

Any way to display the table downward instead of across?[edit]

I am trying to display a table of events over a lifespan of a person (80 years), but it goes off the page. I would prefer to display the table downward with ticks for different events. Is this a feature that can be implemented in this extension?

I just tried to implement this. It seems to work on the examples I tried: https://bitbucket.org/thibaultmarin/timelinetable_public/get/v2.1alpha1.zip. You need to pass an extra argument vertical=1 to the table, e.g.:
<timelinetable title="Title" caption="Caption" depth=month vertical=1>
Thibaultmarin (talk) 05:14, 22 October 2014 (UTC)

Timeline table with WYSIWG extension is causing Mediawiki to break[edit]

I've installed Mediawiki 1.23 and using Timelinetable extension version 2.0rc1.

Also I've tried to install the latest WYSIWYG.

So when I try to edit a page where Timlinetable is used,it is causing the Mediawiki to break. When I try to debug, I get the below error

"Argument 4 passed to TimelineTableHooks::efTimelineTableRender() must implement interface PPFrame, none given" on /extensions/TimelineTable/TimelineTable.Hooks.php on line no - 57

Can anybody know any fix for this?

FYI, When I try to edit the same page (which is having timelinetable) with wikieditor, there is no problem.

Hi, v2.1rc0 fixes the error message (https://bitbucket.org/thibaultmarin/timelinetable_public/get/v2.1rc0.zip). Tables can apparently be edited from the WYSIWYG editor, but it seems to mess the wiki source up (it converts the timeline input to an equivalent raw html table), so coming back to the regular editor breaks the table. I am not sure if and how this can be fixed. At some point, I'll try with VisualEditor to see if it works better with tags.

Thibaultmarin (talk) 04:03, 7 November 2014 (UTC)



is there any change to get this as a parser tag?


Hi, this is currently not supported but it looks like it should be possible to support. Is this what you have in mind?
{{#timelinetable_parserfunc: [options] | event 1| event 2}}
Since I am not too familiar with parser functions, and I don't know in which context this would be used, there are a few items I am unsure about:
  1. What would be a typical case where a parser function would be preferable to a tag?
  2. How would the change to a new line be determined? Maybe by a double pipe? e.g.
    {{#timelinetable_parserfunc: [options] | Line 1 event 1| Line 1 event 2||Line 2 event 1}}
  3. It is unfortunate that the default delimiter within event in the TimelineTable tag is the pipe character, this seems to suggest that we would need different delimiters for tag and parser modes, which is not ideal.
  4. Alternatively, would a syntax like the following work?
    {{#timelinetable_parserfunc: [options] | 2007-12-25 | 2008-01-03 | event | # | 2008-01-5 | 2008-01-10 | event2 | something else | <SOMENEWLINEDELIMITER> | 2008-01-2 | 2008-01-12 | event3}}
    with the equivalent tag version:
<timelinetable title="This is the title" footer="This is a timeline" depth=day headers=Y/M/W/D-D>
2007-12-25|2008-01-03|event#2008-01-5|2008-01-10|event2|something else

(that looks a little bit tedious to me, but is arguably more consistent with the tag mode)

Thibaultmarin (talk) 02:08, 27 October 2015 (UTC)

any way to get it to work with semantic mediawiki?[edit]

For example:

<timelinetable title="Milestone Schedule Overview" depth=week>
  [[relates to page::{{FULLPAGENAME}}]]
  |?has short name=Milestone|?has date#-F[Y-m-d]=Date
  |template=TimelineTable Milestone

where "Template:TimelineTable Milestone" is something like:

Hi, unfortunately, I am not using this extension (or mediawiki) anymore and I have never used Semantic Mediawiki. On casual inspection, it looks to me that one could use the "ask" API (https://www.semantic-mediawiki.org/wiki/Help:API:ask) on the input string to build a timelinetable compatible string before parsing (https://github.com/wikimedia/mediawiki-extensions-TimelineTable/blob/afbeff4d2e771559099d3b2aa8854aecd235aa8f/TimelineTable.Event.php#L46).

Thibaultmarin (talk) 02:30, 22 October 2018 (UTC)

Hi Thibaultmarin, .. I'm happy to report that I did get it working with SMW. I was trying to get this and Mermaid going for a side-by-side comparison. The same thing that worked for Mermaid will work for TimelineTable, namely:
  • add |import-annotation=true to the ASK statement, and
  • add a CR/LF at the beginning (not the end) of the task item template called by the ASK statement.

ref: https://www.mediawiki.org/wiki/Extension_talk:Mermaid

Thanks! -Rich