Help:Recurring events
From Edge of Darkness Wiki
A recurring event is any event that occurs more than once, according to a pre-defined rule: examples are weekly meetings, anniversaries and birthdays. In Semantic MediaWiki, the dates for a recurring events are defined using the #set_recurring_event parser function, which is placed on the page that represents the event. This function takes the following arguments, in any order:
- property - the Date property that is being set to all the values
- start - the first date of the series
- end - the last date of the series (optional)
- unit - the time unit for the event's frequency; options are 'year', 'month', 'week' and 'day' (optional - default is 'day')
- period - the number of time units between one occurrence and the next (optional - default is 1)
- week number - if the unit is set to 'month', this parameter indicates that the event happens on a certain numbered day of the week in each month, like the 1st Thursday of every month. A negative value (anything from -1 to -4) indicates that the event happens on the nth last such day of the month, such as the 2nd-to-last Monday. The actual day of the week is defined by the start date. Note: using this option requires version 1.5.0.a or greater of SMW.
- include - any additional dates to include in the series, separated by semicolons (;) (optional)
- exclude - any dates to exclude from the series, separated by semicolons (optional)
If no end date is set, a fixed number of dates is simply saved; this number is defined by the variable $smwgDefaultNumRecurringEvents
, which has a default value of 100. There is also a maximum number of dates that can be saved using this function, regardless of the start and end date specified. This number is set by the variable $smwgMaxNumRecurringEvents
, which has a default value of 500. Both values can be modified in one's LocalSettings.php file.
Examples
The following call would define the set of all Mondays between January 4, 2010 and June 8, 2011, with the exception of March 15, 2010 and March 22, 2010, both of which are replaced by the following Tuesday:
{{#set_recurring_event:property=Has date |start=January 4, 2010 |end=June 8, 2011 |unit=week |period=1 |include=March 16, 2010;March 23, 2010 |exclude=March 15, 2010;March 22, 2010 }}
The following call defines all birthdays of a person, starting with his or her date of birth; it is done by picking up the date entered on a page for the defined "Property:Has date of birth":
{{#set_recurring_event:property=Has birthday |start={{#show:{{PAGENAME}}|?Has date of birth}} |unit=month |period=12 }}
If such a call were placed in a template, and the date of birth were entered as a template field, the code could be made even simpler:
{{#set_recurring_event:property=Has birthday |start={{{Date of birth|}}} |unit=month |period=12 }}