is giving me an issue at this time though... but
works just fine!)
* you can default all events to your style preference by using the '''style="..."''' preference. However, individual keyword event styles override the global default.
=== Time Tracker ===
You can keep simple time tracking of events by formatting the event as below. This will track any dynamically created event in a simple table below the calendar in full mode only. The event is triggered by prefixing (2) colons followed by the event then (1) colon or (1) dash followed by a numeric value to add.
::Vacation: 8 or ::Vacation -8
::Team Project 1 - 3
::Sick : 4
Note that events created using the 'add event' link only track time for that month. If you want to track a years total, you need to enable and use month templates ('''usetemplates''')
== vCalendar (iCal) Support ==
The calendar supports the basic importing of vCalendar formatted files. The import utility is enabled by adding '''ical''' or '''ical=overwrite''' to your parameter string or ''config'' file settings.
The calendar accepts the following vCalendar formats
:DTSTART
:DTEND
:SUMMARY
:DESCRIPTION (not with RRULEs though)
:RRULE
The RRULE evaluates basic calendar event logic only... nothing complex like "every 3rd Monday of every-other month". It does handle typical repeats like Thanksgiving, Mothers Day, etc that required logic like "the 4th Thursday of November" or "the last Monday of March" kinda logic. Basically, it should capture most repeating events like birthdays and holidays.
The RRULE (repeating) events are stored in a subpage called '''recurrence'''. Basically, in the following format ''page/calendarname/recurrence''. You can manually edit or delete these as needed. If you use the ''ical=overwrite'' option, it deletes the data before writing in the new ical data.
Imported single day events, without the RRULE, are created in the calendar as normal pages in the -Event 0 page for the respective day.
== Internationalization (i18n)==
The calendar months and weekday names will display in any MediaWiki language selected in the user preferences. However, the custom buttons and other calendar specific information has only been converted to French (fr), Spanish (es), German (de), Hungarian (hu),Polish (nl) and Finnish(fi).
If any other languages are required, new messages structures will have to be created in the ''calendar.i18n.php'' file as needed by the user. It's not hard really, just copy an existing message structure in that file and update the required translations. It would take all of 15 minutes to add additional languages. The calendar logic is coded as such that any new message structures added will auto-load and be available right away! If you '''post''' the newly created language to the '''google issue tracker''', I'll add it into the language file below.
I update the trunk code everytime someone posts a language translation. Please check here for the latest [http://code.google.com/p/mw-calendar/source/browse/trunk/calendar.i18n.php calendar.i18n.php] file.
== Quick Sheet ==
method |
example |
results |
repeating event (add event method) |
5#Vacation |
Creates 5 repeating event days |
repeating event (template method) |
5-10#Vacation |
Creates event days starting on the 5th continuing until the 10th |
create a reoccurring yearly event (add event) |
##My Birthday |
Creates this event on this day every year |
create multiple events for one day using one page |
== event 1 == == event 2 == |
Creates two events on one page |
== Tips/Tricks! ==
* Create a new calendar event and use '''
#REDIRECT[[page]]''' to forward the new event to a new non-calendar page!
* Click "add event", create the event title on line one and use '''
{{:page}}''' to copy a remote page into a calendar event body!
* have alot of calendar preferences...? Use the ''
'' option and move all your preference to the config page instead!
== Installation ==
The following are details of the administrator installation of this calendar extension. If you dont have any custom Namespaces, then 100 and 101 are fine, if you do have existing custom Namespaces, just bump the numbers up accordingly. See [http://www.mediawiki.org/wiki/Help:Namespaces Help:Namespaces] for more information. The $wgNamespacesWithSubpages values must match the values assigned to the $wgExtraNamespaces.
The default date format is '''M-D-YYYY''', please change this if needed with the '''$wgCalendarDateFormat''' override below before you go live with your calendar.
'''Recommended Folder Path:''' /extensions/Calendar
'''Localsettings.php:'''
''Simple'':
require_once("$IP/extensions/Calendar/Calendar.php");
''Recommended'':
require_once("$IP/extensions/Calendar/Calendar.php");
// Puts events into their own namesspace/group (not included in 'main' searches... etc)
$wgExtraNamespaces[100] = "Calendars";
$wgExtraNamespaces[101] = "Calendars_talk";
//''Note: 'Calendars' is an example, please feel free to use whatever name you wish''
// Puts the events into Subpages (allows a quick link back to primary calendar)
$wgNamespacesWithSubpages[100] = true;
$wgNamespacesWithSubpages[101] = true;
$wgCalendarForceNamespace='Calendars'
The additional namespaces move all the events outside the "main" group... should clean the mess up some. If you have custom namespaces installed already, make sure you bump up the [100][101] values up accordingly.
==== Optional LocalSetting.php Settings ====
{| border=1 width=75%
!Override
!Description
!Version
|-
| nowrap | $wgRestrictCalendarTo = 'sysop';
| You can put the whole wiki site into ''Calendar Lockdown'' with the following entry. The value can be any defined group in your wiki site.
|
|-
| nowrap | $wgCalendarURLPath="/w/extensions/Calendar";
| if for any reason, the calendar CSS file path is invalid, please set the calendar root URL manually
|
|-
| nowrap | $wgCalendarDisableRedirects=true
| disables calendar event redirects globally
|
|-
| nowrap | $wgCalendarForceNamespace='Calendar'
| only allow calendars to be created in the required namespace
|
|-
| nowrap | $wgCalendarDateFormat=YYYYMMDD
| use YYYY, MM, DD, M, D, SM, LM in any format
''(SM D, YYYY --> Jul 1, 2009)''
(''YYYYMMDD --> 20090701)''
'''Note:''' Previous events will not display if you change date formats.
| 3.8
|}
== Date Conversion Tool (v3.8.1) ==
'''Please
'''TEST''' using a test calendar before using on a LIVE calendar.'''
* Used in conjunction with global '''$wgCalendarDateFormat=YYYYMMDD'''
This tool allows admins to convert all wiki calendar pages from MM-DD-YYY to a custom user defined format. This only converts from the legacy date format to the custom format so technically can only be used to convert one time. The new format can be used in any manner or order.
This tool finds the original calendar events and moves the to new pages using the newer date format.
require_once( "$IP/extensions/calendar/dateConverter.php" );
'''Parameters:'''
*'''newformat''': (YYYY MM DD M D SM LM) SM=short month, LM=long month (default: YYYYMMDD)
*'''pagename''': wiki pagename including namespace as needed
*'''calname''': name of the calendar (default: Public)
*'''redirect''': add redirect link to old original event pages. (default: no redirect links, old page is removed)
The following examples do not convert the wiki title/pages; its more of a "test" run...
-- 20090805
-- Jul 1, 2009
Once you test the script, you MUST add ''''go'''' to the tag to acutally convert the events to the new format
== Troublehooting ==
* If you have an issue with the calendar display, try setting '''
$wgUseTidy = false;
''' in LocalSettings.php.