Table of Contents
WebCalendar is a PHP-based calendar application that can be configured as a single-user calendar, a multi-user calendar for groups of users, or as an event calendar viewable by visitors. MySQL/MariaDB, SQLite3, PostgreSQL, Oracle, DB2, Interbase, MS SQL Server, or ODBC is required. While still being maintained, there is not currently any active development of new features. There is some initial work starting on updating the UI (details here).
WebCalendar can be setup in a variety of ways, such as…
- A schedule management system for a single person
- A schedule management system for a group of people, allowing one or more assistants to manage the calendar of another user
- An events schedule that anyone can view, allowing visitors to submit new events
- A calendar server that can be viewed with iCalendar-compliant calendar applications like Mozilla Sunbird, Apple iCal or GNOME Evolution or RSS-enabled applications like Firefox, Thunderbird, RSSOwl, FeedDemon, or BlogExpress.
Overview of Features
- XHTML/CSS compliance
- Multi-user support
- 30 supported languages: Basque, Bulgarian, Chinese-Big5, Chinese-GB2312, Czech, Danish, Dutch, English-US, Estonian, Finnish, French, Galician, German, Greek, Holo-Big5, Hungarian, Icelandic, Italian, Japanese, Korean, Norwegian, Polish, Portuguese_BR, Portuguese, Romanian, Russian, Spanish, Swedish, Turkish, Welsh (see current list of translations here)
- Auto-detect user’s language preference from browser settings
- View calendars by day, week, month or year
- View another user’s calendar
- View one or more users’ calendar via layers on top of your own calendar
- Add/Edit/Delete users
- Add/Edit/Delete events
- Repeating events including support for overriding or deleting (exceptions)
- Configurable custom event fields
- User-configurable preferences for colors, 12/24 time format, Sun/Mon week start
- Online help
- Checks for scheduling conflicts
- Email reminders for upcoming events
- Email notifications for new/updated/deleted events
- Export events to iCalendar, vCalendar or Palm
- Import from iCalendar, vCalendar or Palm
- Optional general access (no login required) to allow calendar to be viewed by people without a login (useful for event calendars)
- Users can make their calendar available publicly to anyone with an iCalendar-compliant calendar program (such as Apple’s iCal, Mozilla Calendar or Sunbird)
- Publishing of free/busy schedules (part of the iCalendar standard)
- RSS support that puts a user’s calendar into RSS (WebCalendar 1.1+)
- Subscribe to “remote” calendars (hosted elsewhere on the net) in either iCalendar or hCalendar formats (WebCalendar 1.1+)
- User authentication: Web-based, HTTP, LDAP or NIS
- PHP 7.1 or later
- PHP support and access to one of the following databases:
- Microsoft SQL Server
- IBM DB2
- Access to cron for Linux/Unix systems (to send out reminders)
The following metrics from Ohloh show how much it would have cost to commercially develop WebCalendar.
- Codebase Size: 62,174 lines
- Estimated Effort: 15 person-years
- Estimated Cost: $818,972
- (As of 17-Aug-2020)
If you’d like to help support the costs of developing, maintaining and supporting WebCalendar, please consider donating.
WebCalendar is available under the GNU General Public License, version 2.
For more information on this license:
- System Administrator’s Guide
Introduction, installation instructions and FAQ
- UPGRADING (WebCalendar 1.3.0)
Provides instruction on upgrading to version 1.3.7 from an older version
- Database Design (WebCalendar 1.3.0)
Version 1.2.7 database schema
Most Recent Changes
Below are the most recent source code commits to github on the master branch.
- Issue #448: Fix for charset in translatationsby craigk5n on December 8, 2023 at 2:32 pm
Issue #448: Fix for charset in translatations Some translation files use ‘-‘ to indicate to use the same charset as English (iso-8859-1). This update just replaces ‘-‘ with ‘iso-8859-1’ in those cases.
- More PHP 8 warning fixesby craigk5n on December 7, 2023 at 9:38 pm
More PHP 8 warning fixes
- Update SQL to make sure cat_owner is NOT NULLby craigk5n on December 7, 2023 at 8:53 pm
Update SQL to make sure cat_owner is NOT NULL
- PHP 8 fixes, export bug fix, upgrade PHP Unit versionby craigk5n on December 7, 2023 at 3:14 pm
PHP 8 fixes, export bug fix, upgrade PHP Unit version – Upgraded PHP Unit to 9.6.15 – Fixed the “Export All” checkbox on the export page – Various PHP 8 fixes to avoid warnings – Changes to how event UID is generated for iCal exports – Added button in installer to view PHP details (version, modules, etc.) – Improvements to how server base URL is determined
- PHP session changes; Docker compose updatesby craigk5n on December 4, 2023 at 7:36 pm
PHP session changes; Docker compose updates – Updates the PHP session to use a name distinct to the install directory. This should allow for multiple webcalendar installs on the same server without causing login session conflicts. – Updates to the docker-compose yaml files to show how to use environment variables instead of settings.php.
- Downloads via Github: 16111
- Downloads via SourceForge:
- Calendar client applications – You can use the applications to view events stored in WebCalendar if you enable its publishing settings.
- iCalendar/ics download sites – These sites contain calendars for holidays, sports teams schedules, music converts, etc. You can import these files into WebCalendar.