create new tag
, view all tags

TimeTablePluginDev Discussion: Page for developer collaboration, enhancement requests, patches and improved versions on TimeTablePlugin contributed by the TWikiCommunity.
• Please let us know what you think of this extension.
• For support, check the existing questions, or ask a new support question in the Support web!
• Please report bugs below

Development discussion for TimeTablePlugin

First thanks for the great work! But there is one point in placing the day entries...

Is it possible to divide a day in i.e. 3 columns and place a entry in one of this columns?


  • 12 Dec 2007 - column2 - Meeting in Room 2 - 14:30-17:00,black,red
  • 12 Dec 2007 - column3 - Meeting in Room 3 - 15:00-17:00,black,red

would place the "Meeting in Room 2" in column 2 and the "Meeting in Room 3" in column 3, so column 1 would be free

-- TobiasVonDerKrone - 06 Dec 2007

Planned features/improvements:

-- DanielRohde - 18 May 2006

Thanks Daniel for sharing this with the TWikiCommunity! Release early and often is the open source spirit.

I made a few changes to the Plugin topic, please feel free to roll that back into the next release.

Could you verify the TWiki version it is tested on? The topic format suggests Sep 2004.

Also, at a later time, how about measuring and documenting the PluginBenchmarks?

-- PeterThoeny - 18 May 2006

Can you please elaborate a little more about what this plugin is about? I think I have an idea (it's to present a "Weekly Planner" on a topic), but it's better to have the information from the source smile

-- RafaelAlvarez - 18 May 2006

Thanks for contributing this plugin, Daniel. Seems to work OK with Dakar as well. Lots of interesting uses!

-- SteffenPoulsen - 18 May 2006

Rafael, this plugin is a working week view like it Outlook or other calendar applications does, but without date limitations yet. I've planned a date format like CalendarPlugin to create a date based week view.

-- DanielRohde - 19 May 2006

Hello! I've published the first BETA release. The new version is available on SVN and on the TimeTablePlugin topic.

The most bugs are fixed:

  • event conflicts (correct rendering)
  • unknown parameter handling

Some new features are added:

  • colorized events (text and background)
  • most colors and some table formatting parameters are configurable

-- DanielRohde - 22 May 2006

Hello again! I've commited a new revision to SVN. The SVN version supports all TWiki:Plugins.CalendarPlugin event types in a compatibility mode. There are some features that I'm implementing yet so take this SVN release as a preview for the upcoming BETA.

-- DanielRohde - 23 May 2006

The published release V1.003 (24 May 2006) is ready for productional use. All major bugs are fixed, the compatiblity mode works (including exception handling) and the conflict rendering works fine. The Apache error log and the TWiki warnings are clean.

-- DanielRohde - 24 May 2006

Cool, thanks for bring this to production use. And thanks for offering the Plugin also to Cairo users.

-- PeterThoeny - 25 May 2006

Excellent work Daniel!

-- FranzJosefSilli - 25 May 2006

Yes, very good work.

I have a problem with the french months abreviations, the same for june et july :

  • june -> juin -> jui
  • july -> juillet -> jui

For writing, i would prefer that abbreviation are not case sensitive (Jan, JAN or jan).

-- ThierryPasquier - 09 Jun 2006

Hi Thierry, the TimeTablePlugin should be compatible with CalendarPlugin and HolidaylistPlugin. I doesn't know about the new developer versions of CalendarPlugin but it cannot use case insensitive month or day names and maybe has the same problems.

The TimeTablePlugin and the HolidaylistPlugin can use self-defined and language specific month and day names. You can set it with following plugin setting (or use it in the tag %TIMETABLE{lang="Franšais"}%):

   * Set LANG = Franšais
Then you can use it for events:
   * 21 juillet 2006 - french entry 12:00-14:00,yellow,red
The same procedure for self-defined month names (Set MONTHNAMES=...)

-- DanielRohde - 09 Jun 2006

... and you can redefine the table header format (headerformat and/or cmheaderformat). Just replace %b with %B in the default/example definitions (you can do that with a plugin setting or with a %TIMETABLE% attribute).

-- DanielRohde - 09 Jun 2006

Thanks Daniel

-- ThierryPasquier - 09 Jun 2006

This Plugin is great! Thanks alot for writing it Daniel. One request would be to have support for different timezones. This would be especially useful when sourcing events from different pages and could be accomplished by either:

  • a tag in the topic setting the default timezone
  • a tag added to an event (I expect this would be of limited use though)
  • an offset added to the topic attribute (e.g. %TIMETABLE{topic="SourceTopic1+10,SourceTopic2-3" ... }%

I also found a bug - midday should be 12pm and midnight 12am, but the plugin gets this backwards.

-- BenWatts - 14 Jul 2006

Hi Ben, thanx for your bug report and your feature request. I will be on holiday for the next two weeks and I will implement and submit the next release after my holiday. I think your first suggestion with a tag in the topic is easier to integrate than the others.

-- DanielRohde - 15 Jul 2006

After thinking through the timezone feature a bit further, I think that the timetable tag will also need an option to determine what timezone to display the time in (in addition to a tag added to the topics to set the timezone of the events).

-- BenWatts - 20 Jul 2006

Hi Ben, I added the time zone feature and fixed some major bugs (midday/midnight ...).

You can use the new tag %TTTOPICSETUP% on a topic to setup a default foreground/background color and a time zone.

In the topic attribute you can add a :<hour offset> (e.g. topic="MySourceTopic:-2" ) to a topic name to setup a time zone that overwrites the timezone attribute of a %TTTOPICSETUP% tag.

It is also possible to use the timezone attribute in the %TIMETABLE% tag that works together with the other time zone features.

-- DanielRohde - 02 Aug 2006

Hi, I've commited a new revision to SVN. I fixed some bugs related to the time zone feature and I added some new features:

  • usage of standard time zone abbreviations
  • usage of a duration instead of an end time in a time range

I will publish the new release next week.

-- DanielRohde - 04 Aug 2006

Thanks Daniel - You rock!

-- BenWatts - 04 Aug 2006

I've published the next release. I've fixed a minor bug (duration feature) in the release. If you use the last SVN revision you don't need to upgrade.

-- DanielRohde - 07 Aug 2006

Hm, if we had an enhanced CalendarPluginAddEventCommentPluginTemplate supporting this plugin, we already had a pretty comfortable time planer application. All that's missing is some import/export/compatibility mode to an established calendar/event format like iCal, right?

-- FranzJosefSilli - 13 Nov 2006

Yes, it would be nice if you write a new ICal import/export plugin that converts all CalendarPlugin, HolidaylistPlugin and TimeTablePlugin events wink

-- DanielRohde - 15 Nov 2006

Unfortunately I'm no perl programmer at all, but a quick cpan-search for iCal returned the following two packages that would help implement such thing:

I may not be a real developer, but I sure recognize the value of standardization. smile

-- FranzJosefSilli - 15 Nov 2006

I like this plugin a lot. I like the colors.

I do have a few enhancement requests that would make things nice (I think)

  • I don't see a way to specify table cell (column) widths. I would love to be able to set minimum width of columns. I can use descrlimit but it's not really yhe same.

  • I would be happier if the plugin either a) accepted a break character or b) only broke words at a space. Having one letter move the next line is disturbing.

  • I would like this plugin to support the TABLEATTRIBUTES variable from TablePlugin.

  • Given that the result is a "table" and the plugin is called TIMETABLE, please consider adding support for | as a column/field separatot

  • I would LOVE more tooltip support so that larger/longer descriptrions could be in tooltips

  • I would like to be able to "hide" parts of the list. The list is great, but I don't think it needs to show the color names to everyone viewing the page. :-(

  • I would love to be able to add "extra descriptive text" in the list which doesn't show up in the table, maybe an additional column.

-- VickiBrown - 09 Feb 2007

Hi Vicki,

  • There is no way to specify a table cell or a column width because the rendering algorithm of the TimeTablePlugin does not allow this yet. I had to calculate the complete table width but there are many ugly browser dependencies (paddings, spaces, font sizes ...). I don't know how to solve this yet.
  • The TimeTablePlugin uses HTML tables to render the timetable. If I allow TextFormattingRules or break characters it is unable or very expensive (bad performance) to calculate the row count.

  • A | for a column/field separator conflicts with TWiki's table rendering.

  • You can hide a complete list by putting it to another topic or comment it out, e.g:
    %TIMETABLE{topic="AnotherTopicWithTableEntries, %TOPIC%"}%
       * Mon - 12 - 13 - lunch

  • A better tooltip support allows a "extra descriptive text". Maybe I will implement it.

-- DanielRohde - 14 Feb 2007

Hi again, take a look at SVN. I've published a new revision (SVN Rev >=12865) with some new features:

  • new tablecolumnwidth attribute
  • tooltips (HTML and TextFormattingRules are allowed now in the description field)

-- DanielRohde - 14 Feb 2007

I've published a new release (v1.010) with a tablecolumnwidth and a tabledatacellwidth attribute. A better tooltip support is also integrated (JavaScript + CSS). A complete rendered text is shown if the mouse is over an entry but there is a problem with different skins (tooltip is shown left or right of the entry) therefore I've added two new attributes (tooltipfixleft and tooltipfixtop) to fix this problem.

-- DanielRohde - 19 Feb 2007

After editing a topic with WYSIWYG on a IE7 browser I am unable to view the page. The page has been updated though and the following line has been inserted at the start of the file.

<LINK href="/twiki/pub/TWiki/KupuContrib/kuputwiki.css" 
type=text/css rel=stylesheet>
<SCRIPT language=javascript 

Following some test disabling the TimeTablePlugin solves the problem. Why would this plugin effect the editor in such a way?

I have the latest version of the plugin on TWiki 4.1.2

-- PeterJones - 25 Apr 2007

Hi Peter, I cannot reproduce your problem. I've tested it with TWiki 4.1.2, IE7 and Kupu (WYSIWYG).

Do you use mod_perl or a special TWiki skin?

-- DanielRohde - 26 Apr 2007

... or a special Kupu version? Maybe your problem is a Kupu bug.

-- DanielRohde - 26 Apr 2007

Hi Daniel, We just made a prototype for a kind of group calendar - and we really like your work! The Calendar works like that. Each group maintains an individual list of events in their own web. In the global web we bring all the lists together into one timetable. For the recognition of the group, it would be very nice to have the default background color of each entry set according to webcolor of origin web. The individual lists would be easier to maintain. In the timetable you could immediately see, where the entry came from.

-- RetoGantenbein - 30 Apr 2007

Hi Reto, there are some solutions for your problem:

  1. use the %TTTOPICSETUP% in conjunction with the topic attribute:
    1. simply put a %TTTOPICSETUP% tag with the preferred colors to your event topics, e.g: %TTTOPICSETUP{eventfgcolor="white" eventbgcolor="green"}%
    2. put a %TIMETABLE% tag to your global web, e.g: %TIMETABLE{topic="EvenTopic1,EventTopic2"}%
  2. add the colors to every event, e.g:
          * Mon - Fri - 12 - 13 - Lunch - yellow,red
          * 1 May 2007 - field day %TTCM{"14-17,white,green"}% 
You can simplify the second variant if you use CommentPlugin templates to create event entries.

-- DanielRohde - 01 May 2007

Hi Daniel, there seems to be a small bug in the file TimeTablePlugin.pm at line 1165. I saw a lot of warnings like

Undefined subroutine &TWiki::Plugins::TimeTablePlugin::TimeTable::readTopicText called at .../lib/TWiki/Plugins/TimeTablePlugin/TimeTable.pm line 1165

after fix the call from &readTopicText to &_readTopicText it works without warnings

<         my $text = &_readTopicText( $theWeb, $theTopic );
>         my $text = &readTopicText( $theWeb, $theTopic );

-- JoachimRahn - 10 May 2007

Hi Joachim, thank you for the bug report. I've submitted a new revision to SVN.

-- DanielRohde - 10 May 2007

I have trouble getting events shown right from 20:00 and out. I wish to use this in a RFC calendar and sometimes work is scheduled for evenings and nights. I have compatmode="1" and the times are from a SEARCH, all is fine except from 2000 hours. I have tried changing starttime and endtime. The wrong entries seem to be split so that they span over to the next day..or something. Example times:

  • 15 may 2007 - 15-19:30 - webserver upgrade (this is ok)
  • 16 may 2007 - 18-20 - mailserver upgrade (this is not ok)

-- LarsEik - 15 May 2007

Hi Lars, thank you for the bug report. You can check out a fixed release from SVN or apply following patch:

--- lib/TWiki/Plugins/TimeTablePlugin/TimeTable.pm      (revision 13761)
+++ lib/TWiki/Plugins/TimeTablePlugin/TimeTable.pm      (working copy)
@@ -237,7 +237,7 @@
         $bulletdate_rx = "$bullet_rx$date_rx\\s*-";
         $bulletdaterange_rx = "$bulletdate_rx\\s*$date_rx\\s*-";
-       $hour_rx = "([01]?[0-9]|2[0-4])";
+       $hour_rx = "((2[0-4])|([01]?[0-9]))";
        $minute_rx = "[0-5]?[0-9]";
        $am_rx = "[aA]\\.?[mM]\\.?";
        $pm_rx = "[pP]\\.?[mM]\\.?";

-- DanielRohde - 16 May 2007

patch worked, thanks

-- LarsEik - 16 May 2007

Im really getting close to a nifty RFC (change management) application with twikiforms, flowcontrol and now calendar. I really love it. (If someone would like example just ask)

  • daynames="Mandag|Tirsdag|Onsdag|Torsdag|Fredag|L°rdag|S°ndag" (norwegian days) doesnt give more than two characters. It gives one if one is given but stops at two if two or more. This would be pretty and readable. Im no hacker but think it is line 1109 which substr 2 characters. I dunno if its easy to make full length?
     my %tmap = (
                            '%a'    => substr($t_dow, 0, 2), '%A'   => $t_dow,
  • Tableborder, is there av way to make one?
  • Is it possible to not have hours on the right side?
  • Im trying also to get an initial easy view, e.g. showing the weekdays without the times and somewhere to click to a more detailed view. I guess using a variable for setting timeinterval="variable". Another option could be clicking on the day in the table header would change zoom (days="1")

-- LarsEik - 16 May 2007

Hi Lars,

  • you can change the cmheaderformat attribute or put following setting to your Main.TWikiPreferences:
       * Set TIMETABLEPLUGIN_CMHEADERFORMAT="<font title=\"%A - %d %b %Y\" size=\"-2\">%A<br/>%e</font>"
  • if you change the twiki.css you can use the #timeTablePlugin class name to change table attributes
  • use the attribute showtimeline="left" or a Set TIMETABLEPLUGIN_SHOWTIMELINE = "left"
  • TimeTablePlugin does not support URL parameters (yet) but if you create special topics and reference them with links ... take a look at following attributes: name, cmheaderformat, tooltipformat, clicktooltip, clicktooltiptext

-- DanielRohde - 16 May 2007

I got the cmheaderformat and showtimeline (one obvious there), super. But could you elaborate a bit on the twiki.css? BTW, showtimeline="off" seems to work, now I only need pretty borders smile

-- LarsEik - 16 May 2007


  • %TTCM{"9:30-12:00,yellow"}% results in: 09:30 00:12

Feature requests:

  • be able to set the width of the table, for instance "100%"
  • be able to set the column widths in percentages

-- ArthurClemens - 18 May 2007

Hi Arthur, I cannot reproduce your problem. Do you use the latest release or the latest SVN revision?

  • Ah, I found out that the problem is in fact in the CalendarPlugin calendar when there is no TIMETABLE tag on the page.

You can stretch the table if you use the tablecolumnwidth attribute, e.g. %TIMETABLE{tablecolumnwidth="14%"}%

  • That requires me to count the number of columns, and divide it by 7 (or 9?) to get a correct percentage. Of course the plugin could save me from head calculations...

Lars: I cannot explain CSS (Cascading Style Sheets) at this point. Take the class timeTablePluginTable to change table attributes. Maybe you can use the StylePlugin or modify the skin dependent style sheets on file level (take a look at templates/ or pub/TWiki/<Your Skin>/ of your TWiki installation).

-- DanielRohde - 18 May 2007

Hi Arthur, I've published a new revision to SVN. The TTCM bug is a TimeTablePlugin bug and does not depend on CalendarPlugin.

-- DanielRohde - 19 May 2007

Hi all, I've published a new version to SVN (Rev >=13801):

  • added URL parameter support: all attribute values can be overwritten by URL parameters like ?ttp_days=30;ttp_tableborder=10
  • added new attributes: tableborder, tablewidth, tablecellpadding, tablecellspacing

-- DanielRohde - 19 May 2007

Thanks for fixing. One more thing: I notice that text in wide columns is force-wrapped to a small text column:

(the right column should say: "Homepage begin")

Perhaps the text cells assume 14% width? Note also the gap at the left. I have set the columnwidth="100%".

-- ArthurClemens - 19 May 2007

Hi Arthur, I have to wrap text manually because the rendering would fail if the web browser does the text wrapping (entries after an entry could move down, timeline doesn't match with entries ...). You can increase the unwrapped text with the descrlimit attribute and the text size with fontsize.

If you use the tablewidth attribute the surrounding table gets the width attribute. Therefore I've implemented the tablecolumnwidth and tabledatacellwidth attributes.

The TimeTablePlugin should work with most web browser (Firefox, IE6/IE7, Opera, Konqueror, ...) so I have to make a compromise because HTML table rendering is uncalculable for me.

-- DanielRohde - 19 May 2007

I've forgot ... a tablecolumnwidth="100%" makes no sense because this parameter adjust a single column ...

-- DanielRohde - 19 May 2007

Instead of setting a wrapping, why not let the browser solve it? In TextWrapTest I have created a test that seems to work ok.

-- ArthurClemens - 19 May 2007

Hi Arthur, the problem is not the width of a text or how to break a word. The problem is: How can I control the number of lines within a table cell? I have to define a row count of an entry and if the line number of the text is larger than this row count all entries below that entry (=table cells below that entry) are moved down by the browser. That means the timeline and all other entries beside of that doesn't match.

-- DanielRohde - 20 May 2007

You can set the height of the container and set overflow:hidden to prevent the cells to expand downwards.

-- ArthurClemens - 20 May 2007

I've no idea how to calculate a height. If you define a fontsize or increase the text size with your browser the HTML table rendering fails again.

-- DanielRohde - 20 May 2007

Ok if I use em units for width and height it seems to work but I've to test it for a while.

-- DanielRohde - 20 May 2007

I've used TimeTablePlugin with CalendarPlugin to produce a combined monthly/week calendar. I've posted my notes on how this was done in HowToIntegrateWeekAndMonthCalendar.

-- LynnwoodBrown - 08 Jun 2007

I would like to understand "%LONGDESCRIPTION%" better. The tooltipformat attribute is described thusly

format of a tooltip (substituted variables: %DATE% - date (see tooltipdateformat attribute), %TIMERANGE% - time range, %DESCRIPTION% - description field, %LONGDESCRIPTION% - complete entry)
but I cannot find any documentation for %LONGDESCRIPTION%.

I have had a co-worker request the ability to have "extra notes which show up on the hover of the mouse".

Such "extra notes" would be an impressive feature!!

-- VickiBrown - 13 Aug 2007

Hi Vicky, the %LONGDESCRIPTION% will be expanded to the complete entry line from the topic. A "extra notes" features does not exist (yet). I'm thinking about that but I have no idea howto integrate extra notes into the event line. It should be syntactical easy but powerfull ... ideas are welcome.

-- DanielRohde - 14 Aug 2007

would anyone else find a "rotate" mode to be useful? One of my co-workers made up a timetable in a TWiki table with times along the top (under the day) so that time is columns and events are rows. I'd like to be able to replicate this with TimeTable.

  • example of a rotated timetable:

-- VickiBrown - 14 Mar 2008

re: I have had a co-worker request the ability to have "extra notes which show up on the hover of the mouse".

   * 11 Mar 2008 - 12 Mar 2008 - %TTCM{08:00-10:00,Khaki}%  Meeting  -  more things to say about the meeting

The "more things..." part appears in the long description but doesn't appear in the time table.

-- VickiBrown - 18 Mar 2008

Hi Vicki, nice idea - I will implement the rotated timetable. The "long description" problem is not really easy to implement because the TimeTablePlugin cannot identify colors (after a short text follows backround and/or foreground color). But you can try the ToolTipPlugin but I've not tested it yet.

-- DanielRohde - 19 Mar 2008

No, Daniel, you misunderstood (I didn't phrase it properly). This "long description" thing isn't a problem. It works now :-)

The co-worker asked the question in Aug 2007. I recently discovered that TimeTablePlugin already supports this!.

If you make an entry of the form

   * 11 Mar 2008 - 12 Mar 2008 - %TTCM{08:00-10:00,Khaki}%  Meeting  -  more things to say about the meeting

The "more things..." part does appear in %LONGDESCRIPTION% but TimeTablePlugin ignores it as part of the event.

-- VickiBrown - 20 Mar 2008

Speaking of ToolTipPlugin, I've been seeing some weird behaviour between TimeTablePlugin and ToolTipPlugin -- see Support.TimeTablePlusToolTips. Has anyone else seen this?

I used the trick I show just above - that extra last field - to work around the problem.

-- VickiBrown - 20 Mar 2008

Is there any way to get a single day view? I am using the options tablecolumnwidth="100%" days="1" forcestartdate="1" startdate="13 Jun 2008" and I only get monday displayed. Is this the expected behavior?

-- JoeGainey - 13 Jun 2008

Hi Joe, the forcestartdate option works only in conjunction with compatmode="on" .

-- DanielRohde - 16 Jun 2008

Thank you! Did I miss this in the documentation?

-- JoeGainey - 16 Jun 2008

Hi Vicki, please checkout the latest TimeTablePlugin revision from SVN to get the "rotated timetable" feature:

= svn co http://svn.twiki.org/svn/twiki/trunk/TimeTablePlugin =

An example: %TIMETABLE{rotatetable="on" days="2" timeinterval="60" compatmode="on" forcestartdate="on" startdate="+0" tableborder="1"}%

-- DanielRohde - 08 Jul 2008

Is there a way to suppress time display for whole-time events in TTCM in the CalendarPlugin ? Most of our events are full day events and displaying the time is superfluous (and makes the event name longer, stretching the calendar). I took a stab at including displaytime set to zero - %TTCM{"whole-time,green"displaytime="0"}% but that didn't do the trick.

-- StevenCorfman - 01 Dec 2008

Hi Steven. I do not really understand your problem. You do not need TTCM tags for full time events. Do you use it to setup colors? Okay, please check out the latest revision from SVN and use the hidettcm attribute, e.g. %TTCM{",green" hidettcm="yes"}%

-- DanielRohde - 05 Dec 2008

ALERT!ALERT! TWiki:Main.SphanShewale changed the package files and uploaded very old docs and plugin files (I don't know why) . Workaround: check out my latest revision (r17771) from SVN.

-- DanielRohde - 11 Dec 2008

Sopan realized the mistake, he will build from trunk instead of 4.2 branch.

-- PeterThoeny - 11 Dec 2008

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng timetable_width_bug.png r1 manage 13.4 K 2007-05-19 - 10:44 ArthurClemens Text is forced to smaller width
JPEGjpg vlb-screenshot.jpg r1 manage 37.5 K 2008-03-14 - 16:15 VickiBrown example of a rotated timetable
Edit | Attach | Watch | Print version | History: r72 < r71 < r70 < r69 < r68 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r72 - 2008-12-11 - PeterThoeny
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.