r0 - 25 Jul 2006 - 10:46:26 - TWikiContributorYou are here: TWiki >  TWiki Web  > HolidaylistPlugin
Tags:
create new tag
, view all tags

HolidaylistPlugin

The HolidaylistPlugin handles the tag %HOLIDAYLIST% that inserts a vacation list on the current page. Smilies are used to indicate if a person is in work or on holiday.

The plugin creates a table filled with Smilies and today's date will be the first column. There is a row in the table for each person and each day is flagged as either: mad! (in work), thumbs up (a day off) or cool! (absent for some time), indifferent (not at work; used if you type a location). You can also use other smilies (like :skull:).

Example (image):

Example

Usage Examples

To insert vacations into the table, create a bullet list. Three spaces and then a *.

The syntax is described below (Syntax).

Example1: To list that John will be away on 1-July-2005

   * 01 Jul 2005 - John
Example2: To list that Mary will be away from 3-Sep - 9-Sep 2005
   * 03 Sep 2005 - 09 Sep 2005 - Mary 
Example3: To list that Jill will be in Paris from 10-Sep - 11-Sep 2005 and in Tokyo on 15 Sep 2005
   * 10 Sep 2005 - 11 Sep 2005 - Jill - Paris

   * 15 Sep 2005 - Jill - Tokyo
Example4: To list that Eve will be ill from 12-Sep - 20-Sep 2005 with her own 'smily'
   * 12 Sep 2005 - 20 Sep 2005 - Eve - is ill - :skull:
Example5: To list that Lisa will by not at work from April to June and the complete December 2005:
   * Apr 2005 - Jun 2005 - Lisa
   * Dec 2005 - Lisa

Example6: To list in all time table entries that anybody will be not at work on Christmas Day:

   * 25 Dec 2005 - Christmas Day @all

Example7: There are several attributes (see Attributes) like days (defaults to 30days) and tablecaption (defaults to null).

%HOLIDAYLIST{days="90" tablecaption="Planned Holidays"}%

Syntax

The syntax follows that of the CalendarPlugin. See TWiki:Plugins.CalendarPlugin for more details.

Entry type Syntax Example
Single entry  * dd MMM yyyy - name  * 01 Jul 2005 - Jane
 * dd MMM yyyy - name - location  * 01 Jul 2005 - Sarah - in Paris
 * dd MMM yyyy - name - location - icon  * 01 Jul 2005 - Eve - ill - :skull:
Interval entry  * dd MMM yyyy - dd MMM yyyy - name  * 01 Aug 2005 - 22 Aug 2005 - EvaMaria
 * dd MMM yyyy - dd MMM yyyy - name - location  * 02 Sep 2005 - 10 Sep 2005 - JohnDo - in London
 * dd MMM yyyy - dd MMM yyyy - name - location - icon  * 02 Oct 2005 - 22 Oct 2005 - Fred - is ill - :skull:
 * MMM yyyy - name  * May 2005 - Carl
 * MMM yyyy - name - location  * Jun 2005 - Sam - in Sidney
 * MMM yyyy - name - location - icon  * Nov 2005 - Lisa - is ill for a complete month - :skull:
 * MMM yyyy - MMM yyyy - name  * Jun 2005 - Jul 2005 - Lily
 * MMM yyyy - MMM yyyy - name -location  * Feb 2005 - Apr 2005 - Lisa - is not at work
 * MMM yyyy - MMM yyyy - name - location - icon  * Nov 2005 - Dec 2005 - Lola - is 2 month not at work - :yes:
Exception insert the following before the name field and after a date (range):  X { dd MMM yyyy, dd MMM yyy - dd MMM yyyy }  * Dec 2005 X { 5 Dec 2005 - 7 Dec 2005, 12 Dec 2005 } - Sarah - will be away for the complete december except between 5 Dec and 7 Dec and on 12 Dec 2005
Public Holidays just type '@all' in the name field  * 25 Dec 2005 - Christmas Day @all

Notes and hints:

  • At least one space character have to stay before and after a seperator ('-'). This allows you to use a '-' in names, locations or icons, e.g. if you have a composite name like Eva-Maria.
  • If you enable the compatmode (see Attributes) you can use all event types of the TWiki:Plugins.CalendarPlugin
  • If you change the default language ('lang' attribute; see Attributes) you can use your language specific month and day names or the abbreviations for any entry type (including TWiki:Plugins.CalendarPlugin event types).
  • If you change the month names or day names ('monthnames' and 'daynames' attributes; see Attributes) you can use it for your entries (including TWiki:Plugins.CalendarPlugin event types).
  • You can hide all calendar entries if you put them into HTML comments, e.g:
      %HOLIDAYLIST%
      <!--
         * 24 Dec 2005 - Sam - @home
      -->
  • You can put the entries to another topic and use the topic attribute, e.g:
      %HOLIDAYLIST{topic="TimeTableDataTopic" tablecaption="Planned Holidays (see TimeTableDataTopic)"}%=
  • You can hide '@all' in an entry if you put it into HTML comments, e.g:
      * 25 Dec 2005 - Christmas Day <!--@all-->

Attributes

Attribute Comment Default / Example
Behavior
compatmode if set to "1" all TWiki:Plugins.CalendarPlugin event types are supported (related: compatmodeicon) compatmode="0"
daynames costum daynames (a list separated by a '¦' and starting on Monday; overwrites lang attribute) daynames="M¦T¦W¦T¦F¦S¦S"
days number of days to show days="30"
enablepubholidays enables/disables public holidays (bullet list entries with a @all in a person field; related: showpubholidays, pubholidayicon) enablepubholidays="1"
lang language (related: daynames, monthnames) lang="English"
month set a month (e.g. Jan, Feb ... or 01, 02, ... 12 ) or a month offset (e.g. +0, +1, -2,...) Note: If you use this month attribute the days attribute will be ignored (days will be set to the duration of the month). month="+1"
monthnames custom month names (a list separated by '¦' and starting on January; overwrites lang attribute) monthnames="J¦F¦M¦A¦M¦J¦J¦A¦S¦O¦N¦D"
navdays defines the days to navigate to (default: value of the days attribute) navdays="30"
removeatwork set to "1" to remove persons without calendar entries from table removeatwork="0"
showpubholidays show public holidays as separate lines (rows) in table (related: enablepubholidays, pubholidayicon) showpubholidays="0"
showweekends show weekends if set to 1 showweekends="0"
startdate a start date (e.g. '1 Oct 2005') or a day offset (e.g. '10', '+30' or '-30') startdate="+0"
topic a comma separated list of source topics topic="%TOPIC%"
week set a week (1..53) or a week offset (-1, +0, +1, +2, ...) week="+0"
year set a year (e.g. 2005, 2006 ...) or a year offset (e.g. +0, +1, -1, ...) year="0"
Icons
adayofficon a day off icon adayofficon=":ok:"
compatmodeicon icon used for TWiki:Plugins.CalendarPlugin event types (only used if compatmode is enabled) compatmodeicon="8-)"
holidayicon holiday icon holidayicon="8-)"
notatworkicon not at work icon (only used if you type a location) notatworkicon=":-I"
pubholidayicon public holiday icon (related: enablepubholidays, showpubholidays) pubholidayicon=":-)"
workicon in work icon workicon="&nbsp;"
Table Formatting
border table border border="1"
cellpadding table cell padding cellpadding="1"
cellspacing tabel cell spacing cellspacing="0"
daynames costum daynames (a list separated by a '¦' and starting on Monday; overwrites lang attribute) daynames="M¦T¦W¦T¦F¦S¦S"
headerformat table header format of a day; a subset of strftime conversion specifiers is supported (only date not time specificiers; see manual page or TWiki:Codev.ConvergeDateTimeFormattingModels) headerformat="<font size=\"-2\">%b<br/>%a<br/>%e</font>"
lang language (related: daynames, monthnames) lang="English"
monthnames costum month names (a list separated by '¦' and starting on January; overwrites lang attribute) monthnames="J¦F¦M¦A¦M¦J¦J¦A¦S¦O¦N¦D"
name header content of the first cell header name="Name"
navdays defines the days to navigate to (default: value of the days attribute) navdays="30"
navenable enable/disable navigation (1 - enabled; 0 - disabled) navenable="1"
navhome navigation button to the start date (%d will be replaced with page x days) navhome="%d"
navhometitle title text (tooltip text) for the navigation button to the start date navhometitle="Go to the start date"
navnext navigation button to the next navdays days navnext="&gt;¦"
navnexthalf navigation button to the next navdays/2 days navnexthalf="&gt;"
navnexthalftitle title text (tooltip text) for the navigation button to the next navdays/2 days (%n will be replaced with the half number of days to show) navnexttitle="Next %n day(s)"
navnexttitle title text (tooltip text) for the navigation button to the next navdays days (%n will be replaced with the number of days to show) navnexttitle="Next %n day(s)"
navprev navigation button to the previous navdays days navprev="<br/>¦&lt;"
navprevhalf navigation button to the previous navdays/2 days navprevhalf="&lt;"
navprevhalftitle title text (tooltip text) for the navigation button to the previous navdays/2 days (%n will be replaced with the half number of days to show) navprevtitle="Previous %n day(s)"
navprevtitle title text (tooltip text) for the navigation button to the previous navdays days (%n will be replaced with the number of days to show) navprevtitle="Previous %n day(s)"
nwidth cell width of the first column nwidth="120px"
tablebgcolor table background color tablebgcolor="white"
tablecaption table caption tablecaption="&nbsp;"
tablecaptionalign table caption alignment (top, bottom, left, right) tablecaptionalign="top"
tableheadercolor color of the table header tableheadercolor="%WEBBGCOLOR%"
tcwidth width of the icon table cells tcwidth="33px"
todaybgcolor background color for today cells (usefull if you use startdate attribute) todaybgcolor="white"
todayfgcolor foreground color for today cells (usefull for a dark todaybgcolor) todayfgcolor="black"
weekendbgcolor background color of weekend header and data table cells weekendbgcolor="%WEBBGCOLOR%"
width width of table in pixels or percent width="100%"

Hints:

  • You can use TextFormattingRules for some attribute values: tablecaption, name, holidayicon, adayofficon, workicon, notatworkicon, compatmodeicon, pubholidayicon
  • Every attribute of %HOLIDAYLIST% can also be used as plugin setting. You only have to use capital letters.

Example

 
Name
|<
<>>|
Jun
We
1
Jun
Th
2
Jun
Fr
3
  Jun
Mo
6
Jun
Tu
7
Jun
We
8
Jun
Th
9
Jun
Fr
10
  Jun
Mo
13
Jun
Tu
14
Jun
We
15
Jun
Th
16
Jun
Fr
17
  Jun
Mo
20
Jun
Tu
21
Jun
We
22
Jun
Th
23
Jun
Fr
24
  Jun
Mo
27
Jun
Tu
28
Jun
We
29
Jun
Th
30
Alice            12 Jun 2005 - 14 Jun 2005 - Alice - Paris12 Jun 2005 - 14 Jun 2005 - Alice - Paris                
Bill       08 Jun 2005 - Bill                      
Bob         10 Jun 2005 - 15 Jun 2005 - Bob  10 Jun 2005 - 15 Jun 2005 - Bob10 Jun 2005 - 15 Jun 2005 - Bob10 Jun 2005 - 15 Jun 2005 - Bob 17 Jun 2005 - Bob - is ill - :skull:             
Jane                              
Jill's Motherhood            13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood 13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood 13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood 13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood 13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood   13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood 13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood 13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood 13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood 13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood   13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood 13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood 13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood 13 Jun 2005 - 12 Jun 2006 - Jill's Motherhood
Mary10 May 2005 - 01 Jun 2005 - Mary                             

Plugin Settings

  • One line description, is shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Create a table with a list of people on holidays

  • Days to show (default: 30)
    • # Set DAYS = 30

  • Language (default: English - see manual page of Date::Calc perl module, e.g: English, Deutsch, Français, Español, Nederlands, Dansk, suomi, ...).
    • # Set LANG = Deutsch

  • Content of the first cell (default: Name):
    • # Set NAME = Name

  • Set work icon (default: &nbsp; - old behavior: :mad: ):
    • # Set WORKICON = mad!

  • Set compatibility mode (default: 0; disables all TWiki:Plugins.CalendarPlugin event types) and icon (default: 8-))
    • # Set COMPATMODE = 1
    • # Set COMPATMODEICON = cool!

  • Set unknown parameter message (default: %RED% Sorry, some parameters are unknown: %UNKNOWNPARAMSLIST% %ENDCOLOR% <br/> Allowed parameters are (see TWiki.HolidaylistPlugin topic for more details): %KNOWNPARAMSLIST%)
    • # Set UNKNOWNPARAMSMSG = Following parameter(s) is/are unknown: %UNKNOWNPARAMSLIST%

  • Enable/Disable public holiday support (default: 1; public holiday support is enabled), show public holidays as separate lines in table (default: 0; public holidays are not shown as separate rows in table); public holiday icon (default: :-))
    • # Set ENABLEPUBHOLIDAYS = 1
    • # Set SHOWPUBHOLIDAYS = 0
    • # Set PUBHOLIDAYICON = smile

Note: Every attribute of %HOLIDAYLIST% can also be used as plugin setting. You only have to use capital letters.

Plugin Installation Instructions

  • Install required CPAN modules (e.g. perl -MCPAN -e "install Date::Calc" and perl -MCPAN -e "install HTML::Entities")
  • Download the ZIP file from the Plugin web (see below)
  • Unzip HolidaylistPlugin.zip in your twiki installation directory. Content:
File: Description:
data/TWiki/HolidaylistPlugin.txt Plugin topic
lib/TWiki/Plugins/HolidaylistPlugin.pm Plugin Perl module
pub/TWiki/HolidaylistPlugin/example.gif Example image
  • Test if the plugin is correctly installed: Copy the example above into a new topic and change the year number to the current year.

Plugin Info

Plugin Author: TWiki:Main.PeterJones, TWiki:Main.DanielRohde
Plugin Version: v1.020 (21 Sep 2006)
Change History:  
v1.020 (21 Sep 2006) TWiki:Main.DanielRohde: added week attribute requested by TWiki:Main.JanFilipsky; added tooltip to day headers;
v1.019 (7 Aug 2006) TWiki:Main.DanielRohde: improved navigation; fixed %ICON% tag handling bug reported by TWiki:Main.UlfJastrow;
v1.018 (25 Jul 2006) TWiki:Main.DanielRohde: fixed periodic event bug; added navigation feature
v1.017 (31 May 2006) TWiki:Main.DanielRohde: fixed minor bug (periodic repeater)
v1.016 (27 Apr 2006) TWiki:Main.DanielRohde: fixed some major bugs: deep recursion bug reported by TWiki:Main.ChrisHausen; exception handling bug (concerns Dakar)
v1.015 (9 Feb 2006) TWiki:Main.DanielRohde: added class attribute (holidaylistPluginTable) to table tag for stylesheet support (thanx TWiki:Main.HaraldJoerg and TWiki:Main.ArthurClemens); fixed mod_perl preload bug (removed 'use warnings;') reported by TWiki:Main.KennethLavrsen
v1.014 (23 Jan 2006) TWiki:Main.DanielRohde: incorporated documentation fixes by TWiki:Main.KennethLavrsen (Bugs:Item1440)
v1.013 (8 Nov 2005) TWiki:Main.DanielRohde: added Perl strict pragma;
v1.012 (5 Sep 2005): TWiki:Main.DanielRohde: added public holiday support requested by TWiki:Main.IlltudDaniel; improved documentation; improved forced link handling in alt/title attributes of img tags; fixed documentation bug reported by TWiki:Main.FranzJosefSilli
v1.011 (11 Jul 2005): TWiki:Main.DanielRohde: improved performance; fixed major periodic repeater bug; added parameter check; fixed flag parameter handling; allowed language specific month and day names for entries; fixed minor repeater bugs; added new attributes: monthnames, daynames, width, unknownparamsmsg
v1.010 (5 Jul 2005): TWiki:Main.DanielRohde: added exception handling; added compatibility mode (new attributes: compatmode, compatmodeicon) with full CalendarPlugin event type support; added documentation
v1.009 (29 Jun 2005): TWiki:Main.DanielRohde: fixed major bug (WikiNames and forced links in names) reported by TWiki:Main.KennethLavrsen; fixed documentation bugs; added INCLUDE expansion (for topics in topic attribute value); added name rendering
v1.008 (23 Jun 2005): TWiki:Main.DanielRohde: added new attributes (nwidth,tcwidth,removeatwork,tablecaptionalign,headerformat); performance fixes; allowed digits in month attribute
v1.007 (17 Jun 2005): TWiki:Main.DanielRohde: personal icon support; new attributes (month,year); icon tooltips with dates/person/location/icon; fixed '-' bug
v1.006 (16 Jun 2005): TWiki:Main.DanielRohde: added new features (location support; today(fg/bg)color)
v1.005 (16 Jun 2005): TWiki:Main.DanielRohde: added new features (start date support; weekendbgcolor); fixed documentation bugs;
v1.004 (14 Jun 2005): TWiki:Main.DanielRohde: some performance improvements; code cleanup; documentation
v1.003 (13 Jun 2005): TWiki:Main.DanielRohde: fix plugin preference handling; rename some subroutines
v1.002 (13 Jun 2005): TWiki:Main.DanielRohde: renders some options; fixes some documentation bugs and a white space bug
v1.001 (10 Jun 2005): TWiki:Main.DanielRohde: A complete reimplementation with many bug fixes and some new features.
v1.021 (01 Jun 2005): TWiki:Main.PeterJones: Initial version
CPAN Dependencies: required: CPAN:Date::Calc
optional: CPAN:HTML::Entities
Other Dependencies: SmiliesPlugin
Perl Version: 5.0 and up
TWiki:Plugins/Benchmark: GoodStyle 94%, FormattedSearch 98%, HolidaylistPlugin 86%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/HolidaylistPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/HolidaylistPluginDev
Appraisal: http://TWiki.org/cgi-bin/view/Plugins/HolidaylistPluginAppraisal

Related Topics: SmiliesPlugin, TWikiPlugins, TWiki:Plugins.CalendarPlugin

-- TWiki:Main.PeterJones - 01 Jun 2005
-- TWiki:Main.DanielRohde - 10 Jun 2005

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History:  | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.HolidaylistPlugin