[ EN ]    [ DE ]    [ NL ] 
kOOL Logo HomeAboutDownloadDocumentation

  The Event Module

Events and event groups and calendars

Each event, which takes place on a defined date at a certain time, belongs to an event group. The event group defines the type of event, e.g. youth service, prayer meeting etc. which is also used as the title for the events belonging to this event group.

The event group defines a starting and an end time as well as a location, in which the events take place. When creating a new event this data is used as defaults. They can however be changed for each individual event. The only connection between an event group and its events is the name.

Event groups may further be grouped together in calendars. This makes it easier to access a certain event group in the itemlist selection or when entering a new event, as the list of eventgroups might grow quite long over time.

User permissions

Four different authorization levels may be set for each user for each event group:

  • view
  • edit with moderation
  • edit without moderation, event groups
  • moderate

Each authorization level contains all permissions from lower levels.

On the first stage (View) events may be viewed, i.e. they appear in the list or in the calendar, however they can not be changed or deleted.

The second stage (Edit with moderation) gives the user the right to add, edit or delete events for this event group. But if the event group is set to be moderated, these changes will have to be confirmed by a moderator first.

The next stage (Edit without moderation) allows the user to delete and add events for all event groups without moderation, even if moderation is activated for certain event groups. If the "ALL" right is set to level 3 the user may add, edit and delete event groups and calendars.

The last stage (moderate) permits all actions listed above. Additionally a user with access level 4 (moderate) will be the moderator for new, changed or deleted events.


Depending on the general setting "Define access rights for event module by" you may assign these user rights per Login for all event groups and/or calendars. If you wish to be able to group event groups in calendars but still be able to set different access rights for event groups within the save calendar, you'll have to change the above setting to "event groups only".


The events can be filtered, making it easier to find the ones that are required. For example:

  • Show all events which start in or after the current month (i.e. do not show events in the past). This is the default setting.
  • Show events during the summer holidays (July and August).

If you have authorization stage 4 (moderator), you can save a filter globally. This means that users of kOOL, who may only view events (i.e. only has stage 1), can only see the events within the defined period. In Addition you may apply this filter manually to logins or login groups by setting the flag 'Force global time filter' in the settings page of the login or login group.

This can be useful, if you want to modify the events for the next year. Since they are likely to change, they should not be made public until they are finalised. A global filter may be defined to the end of the current year. As soon as the events are definite, change the filter to allow people to see them.


The events may be shown in a list. This list can be sorted in ascending or descending order by any column. The events may also be shown in a calendar format. The calendar can be displayed in yearly, monthly, weekly and daily views. More details follow below.

Events may be filtered by group, e.g. showing only youth events. To save setting up the same filters every time they are needed, they can be saved as presets. These presets can be used to filter events in the list view as well as in the calendar view.

Month view

Each event is shown as a colored bar with the color of it's eventgroup. Depending on the settings the title of each event will either be it's eventgroup's name, it's title or both (see settings). If an event spans more than one day it will appear spanning all the days in the calendar.

To add a new event just click on one of the days and add all data. You may also drag the mouse over several days to create an event lasting several days. To later move an event from one day to another just drag and drop the event on the calendar. The same holds for changing the end date, just drag the end of the event's box to the new end date. Of course these operations are only available if the user has enough rights.

Use the blue arrows above the calendar to display the next or previous month or use the double arrows to move a whole year in either direction. The rectangle in the middle brings you back to the current month.

Clicking on the PDF Icon labelled "Create PDF" creates the month view as a PDF file for Download.

The week view

The weekly calendar behaves similar to the monthly view.

Each event is again shown in it's color but this time the start and endtimes are visible as well. Allday events will show in the top row. To move an event to another day or to change it's start time just drag and drop the event to appropriate time slot on the calendar. The end time of an event may be changed by dragging it's lower part (marked with an "="). Clicking on a day adds a new event. You may also select a time range with your mouse to define the duration of the new event.

Click the "Create PDF" icon to create a PDF calendar of the current week view. This creates the PDF file, and a link to it will appear. Click on the link to download the file.

Create New Events

A user with sufficient permissions may add new events. An event must always belong to a group. If there are events which do not fit into any particular group, a miscellaneous group should be created to contain them.

Once a group is selected the defaults are filled in. They are: Room, time, rota and reservations. These defaults may be overridden as required for this particular event. The comment is a free text field which can be saved on creation and changed later as required. Reservations are also defaulted from the group, and may be changed as required. An event may be repeated while it is being created, so that regular events do not have to be entered individually. The repeats may be:

  • Daily (every n days, e.g. "every 3. Days")
  • Weekly (every n weeks, e.g.. "every 2. Week")
  • Monthly (every n weekday, e.g. "every third Sunday")
  • Monthly (every n months at the same date, e.g. "every 2 months on the 15th." meaning every other month on the 15th)

If an event is to be repeated, the last date should be given (This does not have to be exact, no events are created after this date). Alternatively the number of events (Iterations) may be specified. Once the repeated events have been saved, they may be edited individually. The start date of the event is taken as the first date of the repeating pattern. It is possible to repeat multi day events. To create all day events, leave the start and end time blank.


You may want to exclude repetition dates during holidays. If so you may select the eventgroup holding the holidays when creating a new repeated event "Exclude repetitions colliding with events from this event group".

Moderated events

Each event group may be set to be moderated. If a user with access level 2 (edit with moderation) adds a new event for such an event group, it will not be saved immediately, but the moderators for this event group (having access level 4) will have to approve or reject the event. The event is only saved if the moderator approves it. The same holds when such a user edits or deletes an event of an moderated event group - the change must first be accepted by a moderator.

Users with access level 3 for the given event group may add, edit or delete events directly. If the moderator still likes to know if new events have been added or edited by level 3 users, he may set the option "Receive confirmation email for events of level 3 users" in his layout settings in the admin module. Then an email will be sent, if new events of moderated event groups have been added by a level 3 user.


A moderator sees open requests as a list by clicking "moderation (x)" in the events submenu. They also appear in the calendar with dashed lines. Logged in users can only see their own open requests, which they may also delete again.

Editing Events

If the user's permissions allow events to be edited or deleted, the user may click on the appropriate symbol to do so. These functions are available in the list and the calendar views. If an event has reservations, these may be changed as well. Reservations are deleted, if their event is deleted. This only applies to reservations which were created with the event. Reservations which were created using the reservation module are not assigned to an event, and so are not deleted. In the list view you can use the "Edit this column for all selected rows" icon to allow a column to be edited for multiple rows. The rows are selected using the tick box at the left of the column. A click on the tick box at the top or bottom of this column will reverse all selections in the column.

Creating New Event Groups

A user with sufficient permissions may create a new event group. The following data can be entered: "Name", "Room", "time", "description", "colour" and "use in rota". These values (except description and colour) are used as defaults for new events, which are assigned to this group. Reservation objects can be selected to be reserved at the same time as events from the group. The "Combined Reservations" option increases the clarity of the calendar. Since an event may use many reservations, this option defines that these reservations are represented in summary form in the calendar. For this to work the appropriate option must be set within the settings of the reservation module. Description and colour are used only to more easily identify the event groups. All events from the group are shown using that colour in the calendar. The colours are defined using Hex Triplets (e.g. #FF0000 for red). The colour can be selected by the mouse by clicking on the colour bar to the right of the field. If a dark background is selected the text will change to a light colour so it can still be seen.

Editing Event Groups

A user with the correct permissions (level 3 for all event groups/calendars) may edit or delete event groups. Only changes to the name of the group are transferred to the events within the group. Times, room, and "Use in rota" are not transferred, because these are assigned to the individual events. If an event group is deleted, all events in the group are also deleted, since events must be in a group. Therefore an event group should not be deleted without careful consideration.

Importing Calendars by ICal

By clicking "Add ICal import" you can include any calendar into kOOL. The imported calendar is handled as an event group in kOOL. You may assign it a name, a calendar and a color. Copy the ICal URL into the assigned field and choose an update interval. The calendar is then updated in the chosen interval.

In kOOL, these imported events are saved and shown as an event group, but cannot be edited or deleted.

With this import it should be possible to import any ics feed, whether it be from Google Calendar, Apple iCal or any other ics source.


As an example, it is also possible to import reservations from the kOOL-module into the events module. This may be useful for school holidays - enter them once in the reservation module and import them then to the events module so that they are shown there too.


Another application is to create a new calendar from merging imported and kOOL-calendars and then export them via ICal Export f.e. to your smart phone.

Include Google Calendars

This is the deprecated way of importing events, as it has many disadvantages compared to the above mentioned iCal import.


It is possible to include a Google calendar in kOOL. All the events from the Google calendar will be shown in the calendar (month, week and day) but are not editable.

Click "Add google calendar" to create a new google calendar which is handled as an event group in kOOL. You may assign it a name, a calendar, a color and the xml url. The first three work the same as for event groups, the xml url you must copy from google calendar by opening this calendars options and find the XML button. If it is a public calendar you may choose the calendar's address but you may also include your calendar in kOOL without making it public in Google. To do so just use the calendars private address. Just right click on the XML button and copy the link's target into kOOL's field "XML URL for Google Calendar".


One possible application is to include your personal calendar into kOOL to overlay it with the official events from kOOL or share it with other kOOL users. You may synchronize your personal calendar from your iPhone, Android, Outlook, Apple's iCal, Mozilla's Sunbird etc with Google Calendar and from there include it in kOOL.

» Howto for Outlook

» Howto for Mozilla's Sunbird and Apple's iCal

Event Reminders

You can create reminders for events, event groups, calendars and event group presets. Reminders are emails which are sent to the specified recipients. There are three types of recipients:

  • groups: If you want to send the reminder to all members of a certain group, you can add this group to the list of recipients
  • persons: You can add single persons from the people module as recipients
  • mail addresses: You may also just add plain mail addresses. You have to seperate multiple addresses using a comma.

You have to set a deadline for the reminder. As example: if you are creating a reminder for an event group and you set the deadline to '1 day later', the reminder will be sent 24 hours after an event in the chosen event group has ended. Analogously, if you set the deadline to '1 day before', the reminder will be sent 24 hours before an event starts.

The subject and message text may contain several placeholders. Those placeholders will be deleted from messages which are sent to recipients defined by mail address. There are three types of placeholders:

  • event related: structure: '###e_something###'. For example: '###e_title###' is replaced with the event's title
  • recipient related: structure: '###r_something###'. For example: '###r__salutation_formal###' is replaced with a formal salutation
  • sender related: structure: '###s_something###'. For example: '###s_vorname###' is replaced with the your firstname

To get an impression of how the email will look, you can send a test reminder to yourself by clicking the 'Send Entry' button in the list of reminders.

Event notifications

If you want to send automatic notifications when an event is beeing added, changed or deleted you may edit an eventgroup and choose a group to send a notification email to. In the list of event groups this notification will be shown with a comment icon next to the event group's name. If you move your mouse over it you'll see the group's name, which will receive the notification emails.


Events may be exported as Excel spreadsheet. The user may choose the events to be exported using the drop down list, "all", "shown" or "selected".

"All" means that all events that take place in the selected period (filter), and belong to one of the selected event groups are exported.

"Shown" exports only the dates currently on the screen. These can be controlled using the various settings and filters.

If "selected" is chosen, only the events marked with the tick box are exported.

Events may also be exported in PDF format. In principle each conceivable layout is possible, e.g. fliers for individual events, monthly or week lists for certain or all event groups etc.

Export as PDF

The calendar view may be exported as PDF. While there are set standard exports (day, week, month, 12 months, half a year, year), you can also create your own formats with Presets - Create New Export (e.g. you need the dates of a school semester which starts in August and ends in January). Choose a name for your new export and select the basic layout.

These exports will be saved under Presets and can be used by all users. Once created they can be edited by clicking Edit Exports.


Settings for current user

  • Default view: Select the view you'd like to get to upon clicking "events" in the main navigation.
  • List: Number of events per page: number of events shown on one page
  • Number of months in year view: The year view may show 3, 4, 6 or 12 months on one page
  • start of day in calendar: First hour to be displayed in PDF export.
  • end of day in calendar: Last hour to be displayed in PDF export.
  • Monthly calendar: Use this as title: Choose the title for the events in the monthly calendar
  • Maximum number of characters used for title in monthly calendar: The event title will be truncated to this number of characters on the calendar screen. Titles longer than the width of the day will continue on second line.
  • Highlight Sundays in list view: Select this option to make the reservations that appear on a Sunday stand out in the list view.
  • Show birthdays in event calendar: A birthday icon is displayed on somebody's birthday.
  • Don't show calendars in eventgroup submenu: When set to yes, the events in the event group submenu are listed alphabetically instead of grouped by calendars
  • Show events's reservations in calender tooltip: Move the mouse on an event in the calendar. In the tooltip that appears the corresponding reservations are shown
  • Only use rooms of future events to prefill room select: When entering a new event the select holding all rooms is populated with all rooms ever used in any event. If you set this option to yes, then only rooms of future events are shown in this select.
  • Should times be shown in the PDF calendar?: The month view PDF exported calendar may contain times. If it does not, there is more space for the description in the calendar.
  • Always use shortname in PDF export: The short name you defined when you added the event group ist being used in the PDF export
  • Week calendar (PDF) starts with this day: You may change the day of the week the weekly PDF export should start with.
  • Number of days for week calendar (PDF): Select the number of days you would like to have exported in the weekly PDF export.
  • Include color legend in PDF exports? This will add a legend above or below the exported calendar with all the used event groups and their color.
  • iCal export: Show events in the past: Here you may choose how far back events will be included in the iCal export. Defaults to 0, which means only future events will be exported.
  • Receive confirmation email for events of level 3 users: If a user with access level 3 or higher stores an event for a moderated event group it will be stored without moderation. If this option is set and you are a moderator for this event group, you will receive an information email.
  • iCal export: Use these fields as description: In iCal there is but one description field. So here you may choose which information is to be used as description in iCal.

Global settings (access level 4)

  • Create group subscription subgroups in this group: Choose the parent group under which new event subscription groups should be created.
  • Default role for new group subscriptions: This role will be added for any newly created subscription group. New subscription will by default be assigned to this role.
  • Available roles in new subscription group: These roles will be available in any newly created subscription group.
  • Show open moderation requests to all users? If set to "yes" all users may also see the events that are placed but the moderators haven't worked on yet.
  • Allow changes to moderated events for these fields without moderation Choose the fields which the user may change without need of another moderation (f.e. to correct a spelling mistake)
  • Define access rights for event module by: The mode "event groups only" lets you define access rights for kOOL logins by event group. With the other option "calendars and event groups" access rights for event groups of the same calendar are set only once for the calendar.
  • Select an event group for the holidays: Holidays may be summed up as a group.
  • Mandatory fields for new event: Select the fields which a user is compelled to fill out when creating a new event.

Import events to Sunbird, iCal or Outlook

The events in the kOOL database can be imported into a calendar program using an iCal feed. All events stored in kOOL will be published. By default only future events will be shown, but this can be changed by the setting "iCal export".

There are different options to define the events you want to show up in your own iCal feed:

  • Only get certain events: When you click "iCal links" in the event module of kOOL you will be presented with a list of links. You may use any of them to get a different iCal feed containing only the desired events. E.g. you may use the event groups specified in one of your presets or even single event groups. This way you can create different calendars in your calendar application to show/hide them on demand.
  • Get all events: Use the URL YOUR.KOOL.DOMAIN/ical (e.g. kool.church.org/ical) to get all events. This URL will present you a password dialog. If you enter your kOOL login and password you will get all events you have access to in your feed. If you cancel this dialog you will get all publicly available events.
  • Get desired events in one feed: You may create a preset containing the desired event groups which you call "ical". If you use the url YOUR.KOOL.DOMAIN/ical as feed url only events from these event groups will show up in your feed.
  • Get public events only: If you only wish to get the publicly visible events in your feed, then you may use the url YOUR.KOOL.DOMAIN/ical/?ko_guest (e.g. kool.church.org/ical/?ko_guest).

Older versions of outlook do not support iCal very well. It is best to use Outlook 2003 or even better, Outlook 2007 or newer.

The freeware application ICS4OL enables all versions of Outlook starting with Outlook 2000 to include online calendars from kOOL.

There is a plugin for use with Outlook 2003, which simplifies the administration of remote calendars: remotecalendars.sourceforge.net

Further information on iCal may be found on Wikipedia: en.wikipedia.org/wiki/ICalendar

Display kOOL events on your smartphone / iPhone

If your mobile device supports ics calendars directly you can just use the iCal links given in kOOL to display your kOOL events on your mobile device.

Otherwise an easy way to get your kOOL events unto your mobile device is by using your google calendar. Just register with google to create a calendar account and add a new calendar with the URL given by kOOL. On android devices this google calendars may be displayed without any further steps and for other devices there is Google sync.

To import the URL link easily, use the displayed QR-Codes. Click on it so you can photograph it.


Website Settings (TYPO3 only)

The TYPO3 extension kool_daten allows events to be published on the website. This means that the calendar is always up to date. It can be configured using Flexforms in the TYPO3 back end. The following types of displays are available; Monthly Calendar, List, Sortable list, monthly list and teaser.

©Renzo Lauper, CH-5000 Aarau, All rights reserved