Extension:Calendar (Kenyu73)/Readme

Setup

 * It's recommended to create a custom calendar type Namespace, like CalendarEvents, but can be whatever Namespace defined in LocalSettings.php, however it's not required. It is recommended so seaches in the main wiki do not included calendar events.
 * The easist way is to enter "CalendarEvents:My Calendar Name" in the search box to create the main base calendar page.
 * Add a extension tag to the newly create page (or existing page)
 * Add parameters as required (see below listing)

Note: You can have more then one calendar per page. It's fun to find unique combinations of how to use "full" calendar view and "day" only view. Don't forget, since this is a tagged extension, you could always wrap the calendar in a table to scrink it down or justify it...

The calendar has many advanced features; below is a simple basic way to setup the calendar. This calendar will create a standard calendar named "Public" if no name parameter is given, but it's recommended that, at minimun, you create a 'name' parameter. This will give you a good all around full featured calendar. Read and use the advanced parameters at you own risk! :) 

Important: To gain the ability of Parent/Subpage linking, place the calender in a "CalendarEvents:" namespace (Help:Namespaces). Create a wiki page as shown above and then add your calendar extension tag to that page. This will populate a "quick" shortcut link back to the calendar after the event is entered and saved. The calendar will still work fine if not added to the "CalendarEvents:" namespace, but you will not get a "quick link" back to the main calender page.

The following are examples of how the (Page/Name/EventDate) event will look:

 CalendarEvents:Acme Company/Sales/12-1-2008 -Event 1

 CalendarEvents:Acme Company/Support/12-1-2008 -Event 1

You can also "share" or subscribe to other calendars by using the "subscribe" or "fullsubscribe" parameter. This will create a calendar of your own, but you'll also have all the events listed from "Sales". Remember to use the full "wiki page/calendar name" format  or if namespaced 

Events
Events can be entered either by the "add event" link or via the "template load" button (if enabled). Both work together seemlessly, but clicking each of them will bring you back to the respective method of creation. Once you save the event, you can easily go back to the calendar via the Subpage/Parent link right above the page body.

Events are listed on the calendar with the information on the first line of the page if created via "add event".

In this example, Summer Picnic will appear on the calendar. Summer Picnic Our department will be holding a summer picnic at the park. Bring your families and your appetites!

Multiple Events
In this example, two calendar events are created using the same page. The == event == can be used to create these mulitple events per page. However, you can still create new page events by clicking Add Event.

In this example, Picnic and Party will show up on the same day.

Picnic
Bring food!

Party
Bring drinks

Template Events
The template button (if enabled) allows users to add a bunch of events into one page. Only one template is created per month/year. This can be used along with all other event types.

The day and the event must be seperated by an '#' as shown in the example. You can also create duplicated days. The days do not have to be in order

1# Vacation 2# Holiday 7# Election Day 7# Office Closed 31# Half Day 19# Appointment

Repeating Events
To scheduled a repeating event, you need to enable templates by adding the (usetemplates) parameter. You can then add a repeating event using the following syntax to schedule the 1st to the 10th as a vacation: 1-10#Vacation

Colors
You can prefix events as shown in the examples to add custom colors to the calendar events: syntax:  Standard Event: red::Eric's Vacation Template Event: 1-10# red::Eric's Vacation Multi Event: == red::Eric's Vacation == == green::Christmas ==

You can also create text background as follows: Standard Event: red::green::Eric's Vacation Template Event: 1-10# ::green::Eric's Vacation (default text color) Multi Event: == red::green::Eric's Vacation == == ::green::Christmas == (default text color)

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 Help:Namespaces for more information. The $wgNamespacesWithSubpages values must match the values assigned to the $wgExtraNamespaces. Folder Path: /extensions/Calendar Localsettings.php: require_once("$IP/extensions/Calendar/Calendar.php"); // Puts events into their own namesspace/group (not included in 'main' searches... etc) $wgExtraNamespaces[100] = "CalendarEvents"; $wgExtraNamespaces[101] = "CalendarEvents_talk"; //Note: CalendarEvents 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; 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 overrides $extensionPath = "/var/www/extensions/Calendar/"; or $extensionPath = "c:\extensions\";