a LuxSoft product

LuxCal Event calendar

Table of Content

  1. Introduction

  2. Managing the Calendar

    1. 2.1 Calendar Settings

    2. 2.2 Event Categories

    3. 2.3 Calendar User Groups

    4. 2.4 Calendar Users

    5. 2.5 Thumbnail Images

    6. 2.6 Calendar Database

    7. 2.7 User Import/Export (CSV File)

    8. 2.8 Event Import/Export (iCal File)

    9. 2.9 Event Import (CSV File)

    10. 2.10 User Interface Styling

    11. 2.11 Adding Your Logo to the Calendar

    12. 2.12 Side Panel in the Calendar Views

    13. 2.13 Logging Calendar Data

  3. Advanced Functions

    1. 3.1 Changing the Lay-out of Events

    2. 3.2 Adding Attachments to Events

    3. 3.3 Event Check Mark and To Do List

    4. 3.4 Proposing / Approving Events

    5. 3.5 Using the Drag and Drop Feature

    6. 3.6 Using a Predefined Venue List

    7. 3.7 Using Predefined Event Descriptions

    8. 3.8 Private Events

    9. 3.9 Using the Calendar to Book Events

    10. 3.10 Event Notification Messages

    11. 3.11 Sidebar with Upcoming Events or Todo List

    12. 3.12 Marking Calendar Days

    13. 3.13 Storing Birthdays in the Calendar

    14. 3.14 Color-coding of Events and Subcategories

    15. 3.15 Tailoring the List of Emojis

    16. 3.16 Importing Data from .sql Backup Files

  4. LuxCal Toolbox

    1. 4.1 PHP Installation Details

    2. 4.2 SMTP Mail Test Utility - smtptest.php

    3. 4.3 Database administration with phpLiteAdmin


Introduction

After the LuxCal calendar has been installed or upgraded, using the installation_guide.html, this Administrator's Guide is meant to help the calendar administrator to set up the more advanced functions of the LuxCal calendar and to maintain the calendar so that it's functionality meets the needs of the users in the best suitable way.

When logged in as administrator, the administrator functions can be accessed via the side menu (hamburger button) in the right upper corner of the calendar.

A good place to start in managing your calendar is to . . .

To familiarize yourself with the LuxCal calendar's capabilities, it is important to take note of the other function and possibilities described in this section.

Managing the Calendar

Managing the LuxCal calendar is the responsibility of the calendar administrator, who has all calendar access rights.

Managing event categories, user profiles and user groups can be done by either the calendar administrator, or users with 'manager' rights.

In order to change configuration settings, or use other administration functions, you must select Log In on the navigation bar at the top right corner of the screen. Enter the administrator name or email address and the password you specified during the installation, and log in. In the side menu (hamburger button top right) the administration functions will appear.

Calendar Settings

The Settings page in the administrator side menu (hamburger button top right) can be used to easily change the calendar's configuration settings which are stored in the settings table of the database. These settings, for instance, define the calendar title, the time zone, the language file to be used for the user interface, the default initial view when the calendar is started, the number of weeks/months displayed in the various views, the date and time format, etc.

IMPORTANT: Currently the TimeZone is set to "Europe/Amsterdam". If you are in a different time zone, change the TimeZone to your local time zone. See the PHP Supported Time Zones for possible values.

Event Categories

It is recommended to create a number of categories for your events, each with its own color. Adding categories with different colors - though not required - will greatly enhance the views of the calendar. Categories can be for example: meeting, important, holiday, birthday, etc.

The initial installation has only one category which is named "no cat". To manage categories, select Categories in the administrator side menu (hamburger button top right). This takes you to a page with a list of all categories where you can add new categories and edit or delete current categories.

When adding / editing events the defined categories can be selected from a pull down list. The order in which categories are displayed in the pull down list is determined by the Sequence field on the Categories page.

The field "Repeat" can be used to pre-define recurring events. A category "birthday" or "anniversary" can be set to repeat every year. If a repeat value is specified, all events defined in this category will repeat as specified. The repeat value specified here will overrule possible user 'repeat' settings. If the repeat field is set to "every year" then for events in this event category, which have a birthday year between parentheses specified in their description field, the age will be specified at the end of the event title.

If the "No overlap allowed" check box is checked, events within this category may not overlap. If a user tries to create an event in this category which overlaps with an existing event, an error message with the specified error text will be displayed. This feature can be used when you want to use this event category for booking events. For details on how to create a booking calendar, see Advanced Functions hereafter.

With the field "Default time period" you can specify the default duration of an event in case the user specifies a start time without an end time. This can be useful for instance when using this category for "booking" events which may not overlap (see above).

When the checkbox "Day color" has been checked, the full day cell in the calendar views will get the background color specified below. This may be useful to clearly mark for example holidays, birthdays, or other special days.

The field "Event needs approval" will activate the propose/approve feature for events in this category. For a detailed description, see "Proposing / Approving Events" in section 3 below.

A check mark can be activated which will be displayed in front of the event title for all events in this category. The user can use this check mark to flag events, for example, as "completed". Events in this category will appear in the ToDo list, which can be opened from the calendars navigation bar.

The fields "Text color" and "Background" define the colors used to display events in the calendar assigned to this category.

The field "Sequence" defines the location of this event category in the category drop-down menus.

Calendar User Groups

The initial installation has a User Group defined for each possible type of user permission. Each calendar user is assigned to one of the existing user groups. User groups can be edited, and new user groups can be added, by users with manager or administrator rights. Adding and editing user groups is done via the administrator side menu (hamburger button top right). A user group defines the user access rights of the users assigned to this group and the event categories available to the users in the group. The event categories available are spit in event categories that can be viewed and event categories that can be added by the users in this group. Note: if the event categories that can be viewed and or added are more restrictive than the event categories that can be viewed and or added by the users in user group "Read access", the "Read access" values will overrule! Furthermore a number of check boxes are available to specify whether users in this group may upload event attachments and may enter repeating events, multi-day events and private events. Via a color palette a background color can be selected for each group. On the admin's Settings page the administrator can specify whether calendar events should be displayed with the color of the event category or the color of the group to which the creator of the event belongs.

Possible access rights:

Calendar Users

Via the administrator side menu (hamburger button top right) users with manager rights or the calendar administrator can add and edit user profiles. Per user the name, e-mail address, password, the user group and more can be specified. As described above, the group determines the access rights, and the available event categories. It is important to specify a valid email address for the user to be able to receive email notifications of due dates of events. When defined users log in to the calendar they can specify their default user interface language. Thereafter, when a user logs in, the user-interface will be displayed in the specified language. In their profile users can also specify which message services should be used for notification messages, e.g. email, Telegram or SMS.

The initial installation has two users defined. One is the Public Access user, who initially is assigned to the "Read access" user group and the other is the calendar administrator, who is assigned to the "Admin" user group and has all access rights.

Unless the calendar administrator has given "View" access (via the "Read access" user group) to Public Access users, users must log in to use the calendar using their name or email address and password. Depending on the group to which a user has been assigned, a user can have different access rights.

If the administrator has enabled user self-registration on the Settings page, users can register themselves via the Login page. Self-registered users will automatically be assigned to the user group for self registered users specified by the administrator on the admin's Settings page and consequently will have the access rights specified for that user group.

Thumbnail Images

By adding an image file name to the event's description field or one of the extra fields, a user can add thumbnail images to events. These thumbnail images must be located in the thumbnails folder and can be managed on the Thumbnails page. Thumbnails are shown in the calendar views and in email and Telegram notifications.

On the Settings page, in the section Views, the administrator can enable / disable the thumbnails in the calendar's month view and in the section File Uploads the administrator can specify various settings related to the use of thumbnails. On the User Groups page the administrator can specify what rights calendar users have to use, upload and delete thumbnails. The allowed thumbnail size in particular is important. Thumbnails which are too high will for instance stretch the day cells in month view and can cause undesired effects. And the use of many large thumbnails with a big file size may slow down the loading of the calendar pages.

Calendar Database

The Database option in the administrator side menu (hamburger button top right) allows the calendar administrator to start the following functions:

User Import/Export (CSV File)

CSV (Comma Separated Values) text files with user account data can be imported into the LuxCal calendar. This function can for instance be used to import a CSV file with user account data created by the administrator or exported from a different LuxCal calendar. The LuxCal calendar can also export user account date into a CSV file, which can be downloaded by the calendar administrator. The dialog to import/export user profile files is opened by selecting User Import (iCal file) / User export (iCal file) from the administrator side menu (hamburger button at the top right).

The CSV file contains one line per user profile and each line contains a number of fields each separated by a comma (or any other unique character). The order of the fields in each line of the CSV file is: user group ID, user name, email address, phone number, language and password".

When exporting user profiles, the password field will contain the md5-encrypted password as stored in the calendar database. This password can not be decrypted!

When importing user profiles, the user name and email address fields are mandatory. If the user group ID field is left blank, the specified default user group ID is taken. If the language field is left blank, the default language specified on the Settings page will be taken. If the password field is left blank or is omitted, the specified default password is taken. Password fields may contain a legible password (e.g. "CathyD-42") or an md5-encrypted password (e.g. from an exported user profile file). User names and email addresses must be unique, so when importing, the calendar will check if user names and email addresses in the CSV file are already present in the calendar and if so, highlight the user name and email addresses concerned. When the "Replace existing users" check box has been checked, all users, except the public user and the administrator, will be deleted before importing the users from the selected file. When importing, the first line of the CSV file can be used for column descriptions and if so, this line is ignored by the import function.

Sample User profile CSV files can be found in the !luxcal-toolbox/ folder of the LuxCal Calendar installation and has the file extension ".csv".

Event Import/Export (iCal File)

Events from iCalendar files can be imported into the LuxCal calendar. The content of the iCal file to be imported must meet the [RFC5545 standard] of the Internet Engineering Task Force. The LuxCal calendar can also export events into an iCal file which can be downloaded by the calendar administrator. The dialog to import/export iCal files is opened by selecting Event Import / iCal export (iCal file) from the administrator side menu (hamburger button top right).

This function can for instance be used to back up the events of your LuxCal calendar, or to exchange events with other calendars, e.g. to import public holidays available in iCalendar format on the internet. Please note that some LuxCal event fields are not supported in the iCalendar format (e.g. private event, notify, email addresses) and consequently are not copied to the iCal file. Some iCal event repetition rules are not supported by the LuxCal calendar; these events will be displayed and earmarked as such, but will not be added to the calendar.

Various sample iCal files can be found in the !luxcal-toolbox/ folder of the LuxCal Calendar installation and have the file extension ".ics".

Event Import (CSV File)

CSV (Comma Separated Values) text files with event data can be imported into the LuxCal calendar. This function can for instance be used to import a CSV file with event data exported by MS Outlook. The dialog to import CSV files is opened by selecting Event Import (CSV file) from the administrator side menu (hamburger button top right).

The CSV file contains one line per event and each line contains a number of fields each separated by a comma (or any other unique character). The order of the fields in each line of the CSV file is: title, venue, category id, date, end date, start time, end time and description. The first line of the CSV file is ignored by the import function and can be used for column descriptions (default in MS Outlook exports).

Sample CSV files - with different date/time formats - can be found in the !luxcal-toolbox/ folder of the LuxCal Calendar installation and have the file extension ".csv".

User Interface Styling

The UI Styling page in the administrator side menu (hamburger button top right) allows the calendar administrator to tailor the styles (text and background colors, fonts family and sizes, etc.) of most elements of the calendar's user interface.

The Styling page opens in a separate window, which makes it possible to preview style changes in the calendar pages, by browsing the calendar, while the Styling page remains open.

Buttons and drop-down menu at the top of the page:

Since calendar styles are saved in the calendar database, in case of multiple calendars, each calendar has its own styles.

Adding Your Logo to the Calendar

On the administrator's Settings page, in the section General, you can specify a path and name of a logo image, which will be permanently displayed in the left upper corner of the calendar pages. The image should be small, maximum 70 x 70 px. Once the image has been uploaded to the server and the path and name have been specified on the Settings page. The buttons on the navigation bar will shift right the required number of pixels to make place for the logo. The logo will also be displayed in the left upper corner of possible email messages sent by the calendar

If on the Settings page, in the section General, also a link to a parent page has been specified, then the logo will become the hyperlink to the parent page.

In the same section of the Settings page you can specify a path and name of a larger logo image, which will be displayed on the calendar's log in page, just below the log in dialog box.

Side Panel in the Calendar Views

On the administrator's Settings page, in the section Views, with the setting "Side panel in calendar views" you can select to show a side panel right next to the main calendar page with one or more of the following items:

For each item you can specify in which calendar views it should be shown. The side panel will not be shown if for the view no side panel items are selected on the settings page or when the calendar is viewed on a narrow width display, like a mobile phone.

The sub-folder "samples" of the "sidepanel" folder contains several sample images and a sample info.txt file. To see the effect of side panel images and info messages, these files should be copied from the samples folder to the "sidepanel" folder and these items should be activated on the Settings page.

Logging Calendar Data

On the administrator's Settings page, in the section General, you can specify which data shall be logged by the calendar. Logged data is stored in text files in the calendar's "logs" folder. The calendar can log the following data:

IMPORTANT:

Advanced Functions

The normal day-to-day use of the calendar is explained in the help file which can be viewed by opening the side menu (hamburger button top right) and selecting 'Help'. There are however a number of more advanced functions which can be enabled / configured by users with manager rights or by the calendar administrator.

These advanced functions are described hereafter.

Changing the Lay-out of Events

On the Settings page, the admin can specify which fields of the event body are in use and in which order they will be displayed in the various views. This can be done in the section Views via the 'Event templates' by specifying a sequence of numbers in the range 1 - 8, where each number represents an event field.

Possible fields in the event body:

1: Venue field

2: Event category field

3: Description field

4: Extra field 1

5: Extra field 2

6: Notification data (only if sending a notification has been requested

7: Date/time added/edited and the associated users

8: Attached pdf, image or video files as hyperlinks

Fields (numbers) which are not specified, will not be visible in the calendar views. Extra fields 1 and 2 are extra fields for which the admin can specify a dedicated label on the same Settings page under Events. If the these fields have been specified, the field label as well as the content will be displayed. In the calendar views active fields which are empty will not be shown. The Event window will of course always show all active fields, including the empty fields.

Example: Event template "43126", with the label for Extra field 1 set to "Department", will for instance result in the following event body lay-out (explanation between brackets):

 Department: Sales (extra field 1 with label "Department")
 Emmett Brown will be working on-site for the BTTF project. (description)
 Venue: Hill Valley (venue)
 Category: Absent (event category)
 (Notify: 4 day(s)) (This line is not displayed, because no notification was requested)

On the Settings page, the fields 'Event fields - general hover box' under Events, 'Event fields - mini calendar hover box' under Mini Calendar and 'Event fields - sidebar hover box' under Stand-Alone Sidebar can be used by the admin to specify the event fields to be displayed in the various hover boxes. The sequence of the fields in the hover boxes depend on the event template described before.

Adding Attachments to Events

Users belonging to a User group for which File Upload is enabled, can add pdf, image and video attachments to events. Adding and removing attachments to events can be done in the Event window when adding or editing events. The actual attachment file is stored in the calendar's subfolder "attachments" and the link from the event to the file is saved in the event record in the calendar database. Uploaded attachments will be shown as hyperlinks in the event data in the various calendar views. When clicking these hyperlinks, the attachment will open in a new window.

When an attachment file is stored in the attachment folder, its file name is prefixed with the current date and time. E.g 20210127203557Agenda.pdf.

On the administrators Settings page, under Views, in the Event templates it can be specified if and at what position within the event data hyperlinks to attachments should be displayed in the various calendar views.

Event Check Mark and To Do List

On the admin's Categories page, when adding/editing an event category, if you select "Check mark" and specify a label and a check mark, events in this category will have a check mark displayed just in front of the event title in the various views. For the owner of the event and users with "manager" rights this check mark is a hyperlink and, when clicked, will result in checking/unchecking the check mark. This feature can be used for instance to mark an event as "complete" or "done". Events with a check mark will show up in the To Do list, which - when enabled by the administrator - can be selected from the calendar's side menu (hamburger button top right).

Proposing / Approving Events

On the admin's Categories page, when adding/editing an event category, if you select "Events need approval", users with post rights can - in this category - create events which are not visible to other users until a user with at least "manager" rights has approved the event. Until the event has been approved, no user other than the event owner and users with manager rights will see the event and no notification messages can or will be sent for this event. The owner and users with manager rights will see the proposed event in the various views displayed with a red bar in the left margin. Once a user with "manager" rights has approved the event, the event owner will receive a notification message and the event will become visible to all users. Thereafter the event will be locked and cannot be edited anymore by the originator. A user with at least manager rights can still edit the event. Of course, if you don't like the words "proposing" and "approving", you change them in the language files.

Using the Drag and Drop Feature

Drag and drop functionality has been added to the Year and Month view pages, so that events can easily be re-arranged without losing the calendar oversight. With this feature the mouse can be used to drag events from one day cell to an other day cell. Normal events, multi-day events and repeating events, can be dragged and dropped. Dragged and dropped events will also have their "edited date/time" and "edited by" fields updated. If the ctrl-key is pressed while dropping the event, the event will not be moved, but a copy of the event will be dropped. If the side panel with the mini calendar is displayed, the drag and drop functionality is also present for this mini calendar and between the mini calendar and the year and month calendar. This makes the drag and drop feature very powerful. In Month view for example, one can select in the mini calendar one of the next months and drag events from the current month to the selected next month and vice versa. Day markings can also be dragged and dropped. They should be dropped in the event area of the day cell and not in the header area of the cell.

In addition to the drag and drop feature described above, in a multi-calendar setup a user with at least manager rights can also copy events from the current calendar to the other calendars. This works as follows: When the user drags an event from the Month view page, the Year view page, or the mini-calendar (in the side panel) and drops it on the calendar's top bar, a dialog box opens where the destination calendar(s) can be selected. If thereafter the Copy Event button is pressed, the event will be copied to the selected calendar(s). Because the other calendar(s) most likely will have different event categories, the category of the copied event will be set to "No cat". To copy events from one calendar to an other calendar, the user doesn't have to be logged in the target calendar.

Using a Predefined Venue List

When in the Event Add window pre-defined venues are used, the calendar's 'files' folder must contain a file called venues.txt, UTF-8 encoded, with a venue on each line. On the Settings page, in the section Events, the administrator can specify whether the user should enter the venue by typing it, by selecting it from a drop-down menu, or can choose either.

The files folder contains a file called venues.txt.sample with examples of predefined venues.

Using Predefined Event Descriptions

When the calendar's "files" folder contains a file called "descriptions.txt", with predefined descriptions for one or more event categories, then when in the Event Add window a user selects an event category, while the event description field is still empty and the description.txt file holds a predefined description for the selected category, this description will be copied to the events description field.

This can be useful to remind users who can add events to provide certain data, e.g.

Name:
Address:
Phone:
Email:

The HTML tags <b><i><u> are allowed in the description.txt file texts.

The files folder contains a file called descriptions.txt.sample with examples of predefined texts.

Private Events

When adding/editing events, if the "Private" check box is checked, the event will only be visible to the user who created the event and to the administrator. For obvious reasons private events can only be created by logged in users.

On the Settings page, under Events, the administrator can set "posting of private events to disabled, enabled, default and always with the following meaning:

The creation of private events can also be enabled/disabled per individual user group (see Calendar User Groups above). If for a calendar user group private events have been disabled, this will overrule the "Posting of private events = always" setting on the admin's Settings page.

Using the Calendar to Book Events

Event categories of the calendar can be set up for booking events with event overlap checking. The idea is to let users create events which may not overlap with already existing events in the same event category or with events in any category. If a user tries to create an event which overlaps, an error message will be displayed. Single-day, multi-day and recurring events are checked. Private events are not checked. The overlap check is performed when a new event is added to the calendar or an existing event is edited. The overlap check starts from the first date until the end date of the event and for recurring events without end date, the check will continue until two years after the actual date. Optionally a minimum time gap which should be respected between two events can be specified.

How to set up a booking system, is illustrated by the following example.

Billiard table booking example:

In this example we will set up a booking system for three billiard tables.

Create a new event category and give it the name "Billiard table 1", check the "No overlap allowed" check box for the same category, specify a time gap required between two bookings and specify the error text that will be displayed when trying to create an event which overlaps with an existing event; e.g."Billiard table 1 in use, choose an other time or table". If desired, a default or fixed event duration can be specified, which - when creating / editing an event - will automatically be added to the start time of an event. Give this category a color (text/background) which belongs to table 1.
Create two more categories for the other two billiard tables in a similar way but with a different name, error text and color.
Now a user group can be created, for instance with the name "Billiards" for those users who can book one of the three billiard tables. For this user group the three categories created for the billiard tables should be selected and the check box "May post private events" should be unchecked. Because the billiard tables can only be booked for a limited time, the check box "May post multi-day events" can also be unchecked. So now if a user in this group add/edits an event, the Event window will be simplified and will contain no "Private" check box, no "End date" field and no "Repeat" feature.
On the Settings page, under User Accounts, "Self registration" can be enabled and the "Self registration user group" should be set to the user group "Billiards" created in the step above.

In the above example, users can register themselves and will be part of the "billiard" user group; they will have access to the three categories "Billiard table 1", "Billiard table 2" and "Billiard table 3" and will only be able to book a billiard table which is free.

Note: For a booking system for chalets for instance, in the user group the check box "May post multi-day events" should remain checked, to allow for booking the chalets for several days.

Event Notification Messages

The calendar has an event notification service which can send notification / reminder messages to calendar users and other people. The possible notification services are: email, Telegram messages and SMS messages. The following event related notifications can be sent:

In all cases a semicolon separated recipient list can be specified, which can contain user names, email addresses, Telegram chat IDs, phone numbers and names of .txt files with recipients. The name (without type) of files with recipients must be enclosed in square brackets. The recipients can be typed in the "To" field or, when clicking in the icon right of the "To" field, can be selected from a list displayed as an overlay. In this overlay recipients list one can select list files from the reciplists folder, registered calendar users and public recipients which are specified in the special "+recipients.txt" file in the reciplist folder. The .txt files with recipients should be located in the folder "reciplists" and should have one recipient per line. On each line of these files text starting with a #-character will be treated as comment and will be flushed.

For recipients that are registered users, independent of how the recipient was specified, the calendar will look up in the user profile the data required for the notification service. For external recipients, the email address, the mobile phone number or the Telegram chat ID should be specified for the email , SMS or Telegram notification service respectively.

If correctly set up and if more than one notification services has been enabled on the Settings page, the calendar users can specify in their profiles which notification services they prefer to use. If available, they can subscribe to multiple services. For example if a user subscribes to email and Telegram, each notification will be sent both by email and Telegram.

Setting up the notification services

• General

To be able to send automatic reminder notifications a specified number of days before an event is due, on the calendar server a cron job needs to be defined, which starts the script lcalcron.php in the calendar root directory daily at around 2am. Details can be found in the header of the file lcalcron.php. If you are not familiar with cron jobs, you could contact your provider's Helpdesk for help.

• Email notification service

For email notifications, on the Settings page under Reminders, the Email section should be completed. For small numbers of emails per day, the PHP mail will be sufficient. Some providers have disabled the PHP mail function; in this case, or if you need to send large numbers of emails per day, you can select SMTP mail. In this latter case you should ask your provider for the required parameters. No further set up is required. Now you can enable the Email message service on the Settings page, at the top of the Reminders section and save the settings.

IMPORTANT: Notification emails are sent from the calendar email address specified on the Settings page (section General). For the sending of emails to function, some providers require that this calendar email address is an address created on their server (in cPanel).

• Telegram notification service

To set up a Telegram notification service, you should follow the steps below:

  1. Download the Telegram app on your mobile phone. In addition it will be very useful to also install the Telegram web application on your desktop computer (https://desktop.telegram.org/).
  2. Create a Telegram bot with a meaningful name, related to your calendar name, and obtain a Bot Token. For further details see https://core.telegram.org/bots/tutorial. A Telegram token consist of two parts separated by a colon and will look something like this: 4839574812:AAFD39kkdpWt3ywyRZergyOLMaJhac60qc
  3. Enter your Telegram token on the calendar's Settings page, section Reminders, in the Telegram token field and enable the Telegram message service at the top of the Reminders section and save the settings.

Telegram recipients are identified by a so-called chat ID, which is a number of some 10 digits. You can find your own chat ID by sending in your Telegram app a short message to "userinfobot". When you forward an other user's message to "userinfobot" you will get the chat ID of the other user.
Now it's time to populate the calendar user profiles with Telegram chat IDs, via the admin's Users page, or ask your calendar users to update their calendar profile with their chat ID.

IMPORTANT 1: Before the calendar can send a Telegram message to a recipient, the recipient must subscribe to the calendar bot you created by sending a short message to the bot!

IMPORTANT 2: For Telegram notification messages to work, in the php.ini file "allow_url_fopen" must be enabled (=On)!

• SMS notification service

To set up an SMS service you will need a subscription to an email-to-SMS provider, which you can find on the Internet. Please note that there will be cost involved; normally a few cents per sent SMS. To reduce cost, it is best to find an email-to-SMS provider in your own country. There are many providers around, with various user interfaces. We have chosen for a simple SMS carrier template interface, which means that to send an SMS, an email will be sent to an SMS carrier and the email address to use may look something like: #myunmypw@sms.gway.net, where # is the recipient's mobile phone number and myunmypw is the username and password you received from the provider. Often the email subject field can be used to specify the sender's mobile number, which in the calendar's case can be a dummy number.
When selecting a provider take care that they use the above described SMS carrier template interface. Because making SMSes work can be tricky, before taking a subscription you should always ask the provider for a number of free SMSes (e.g. a free deposit of at least 1$), so that you can test the service before taking a subscription.

To make it all work, on the Settings page in the section Reminders fill in the SMS section with the data you received from the email-to-SMS provider, enable the SMS service at the top of the Reminders section and save the settings.

Notification services - pros and cons

• Email notifications are nicely styled with colors and use other HTML text decorations. Images in the event description are shown and attachment links can be selected to download the file. URL links and email links are supported. Maximum message length: many MBs. Email notifications contain the full event text. The email service does not depend on third party applications.

• Telegram notifications don't support color, but allow for a number of basic HTML text decorations. The first image in an event description will be shown and if there are more images, there will be hyperlinks which can be selected to show the images. URL links and email links are supported. Maximum message length: 4096 latin characters. Telegram notifications contain the full event text. Telegram notifications depend on the free Telegram application, which currently (end 2023) has over 800 million monthly active users. Telegram claim: "Private messaging on Telegram is free and will stay free — no ads, no subscription fees, forever.".

• SMS notifications support no color nor any other HTML text decoration and images are not shown. The message length is limited to 160 latin characters, or 70 unicode characters and therefore in SMS notification messages the calendar will only send a header, the event date and time, the event title and the venue. So the event description will not be send. An advantage of SMS notifications may be that to receive them no internet connection is needed.

Sidebar with Upcoming Events or Todo List

A stand-alone sidebar with upcoming events or a Todo list (see above) can be integrated in your web page. An advantage of the sidebar, compared to embedding the calendar in an html iframe, is that the sidebar is displayed in a <div> container and can be freely styled to match the style of your web page. A second advantage is that the hoverbox with many event details is not clipped by iframe boundaries. Further detail on how to add one or more stand-alone sidebars to your web page can be found in the installation_guide.html. Examples of what a sidebar can look like can be found on the LuxSoft Demo page .

Marking Calendar Days

Day cells in Year and Month view can be marked by coloring and optionally specifying a text for the top line of the day cell. Marking calendar days can for instance be useful to highlight holidays, closing hours of shops, important days, etc.

Users with administrator rights or higher can mark one or more day cells by clicking the top line of a day cell. This will open a "Day Marking" window, where a marking color and optionally a marking text can be specified. Day markings can be specified for multiple days and for repeating days. When a marking already exists for a certain day and the top line of this day cell is clicked, the Day Marking window will open in edit mode. If a marking text has been specified, in month view this text will be shown in the top line of the days concerned; in year view however, this text will pop up when hovering the top line of the days concerned.

Day markings are stored in the calendar database as an event with event type 1.

Storing Birthdays in the Calendar

To store birthdays in the calendar, you should create an event category "Birthdays" and set the repetition for this category to yearly. When thereafter events are created for the Birthday category, they will automatically repeat every year.

The birth day calendar layout can be tailored in the file "configs/pdfbc.cnf".

Color-coding of Events and Subcategories

When defining user groups, for each group a background color can be specified and when defining event categories, a text color and a background color can be specified for each category. On the admin's Settings page, under Events, the admin can select whether on the calendar pages the color of the event titles in the various views should correspond to the color of the user group to which the originator of the event belongs or to the event category to which the event belongs.

When adding/editing event categories a check box "Day color" can be checked. If this check box is checked, in the various calendar views, if an event in this category is displayed for a certain day, the background of the whole day will take the color of the event. This can for instance be useful to make special events, like holidays or birthdays, more visible.

On the categories page, for each event category up to four subcategories can be specified. Each subcategory has a name and optionally the text color and background color can be specified. If one or more subcategories have been specified, in the event add/edit window a drop-down menu will be displayed from which the user can select a subcategory. When the subcategory has been selected, in all calendar views the event concerned will take the text and background color of the selected subcategory and the subcategory name will be added to the event details. When specifying subcategories on the categories page, the text/background color fields can also be left blank; in this case the events in this category will take the normal category colors. It may be useful for instance to specify a subcategory "None" without colors, which - when selected in the event add/edit window - will behave as if no subcategory has been selected.

Tailoring the List of Emojis
Tailoring the List of Emojis

The emojis used by the emoji picker in the Event window are stored in the file '/common/emojis.js'. This is a JavaScript file which contains two objects, emojiCats and emojiObj. The first object defines the emoji categories and the second object defines all emojis (orginized by category). You can edit this file to add or remove emojis. When you remove a complete category of emojis, don't forget to also remove the category from the emojiCats object. Be careful not to violate the JavaScript syntax.

Don't forget to keep a backup copy of your changes, so that you don't lose them after a calendar upgrade.

Importing Data from .sql Backup Files

There are different ways to import calendar data of previous LuxCal versions, back to LuxCal version 2.7.2. If you want to import data of a LuxCal version less than 2.7.2, read the Upgrade Instructions in the Release Notes (release_notes_xxx.html, where xxx = the LuxCal version).

When in doubt if your calendar database is up to date, you can at any time upload the upgradexxx.php file to the calendar root folder on your server and launch it. The script will verify, and if necessary upgrade, the database schema of your calendar(s).

LuxCal Toolbox

The toolbox contains several tools and utilities, which can help you set up and manage your calendar. Below you will find a short description of each of the tools / utilities.

PHP Installation Details

On the admin's Settings page, in the General section, under Versions, just after the PHP version, there is a "Show info" link. Clicking this link will display all details of the PHP installation on your server in a new window. The PHP installation details can be useful when a PHP related problem is encountered.

SMTP Mail Test Utility - smtptest.php

When you prefer to use SMTP mail, rather than PHP mail, for your email reminders and cron job reports, you can select SMTP mail on the admin's Settings page of your calendar. Before doing so you can use the SMTP Mail Test Utility "smtptest.php", in the smtpmail folder, to test your SMTP mail and its parameters. The smtptest.php file should be uploaded to the calendar's root folder on your server. Before launching it via your browser, you should start the calendar and specify the SMTP parameters on the admin's Settings page, under Reminders.

Database Administration with phpLiteAdmin

In the phpliteadmin folder you will find phpLiteAdmin, an easy to use web-based SQLite database admin tool written in PHP. details on how to use this free tool can be found here.

In the associated phpliteadmin.config.php file, you should at least set the following variables:


 - End of Administrator's Guide -

© 2025 - powered by LuxSoft