Latest Release
Feb. 17, 2005
Latest Pre-Release
Release Candidate
Home Documentation Download Forums Report Bugs Project Site
VTCalendar is a web-based event calendar that allows for decentralized data input and includes an approval mechanism. It supports calendar hosting for individual organizations and the forwarding of events from these calendars to the main event calendar. It was originally developed in an effort to reduce the number of event calendars at Virginia Tech.
Announcements  RSS Feed

April 8, 2009 - Release Candidate of VTCalendar 2.3.0

  • A release candidate is considered free of all known bugs. While it is considered ready for production, it should not be used in mission-critical environments.
  • See installation guide for important notes and installation instructions.
  • Changes since second beta:
    • manageeevents.php was mostly rewritten to correctly display events.
      One-time and reoccurring events are now displayed separately.
      Moved some human-readable text into the language file.
      The drop-down list now shows totals for only the sponsor and not the whole calendar.
    • Bug [2722268]: Added backwards compatibility for http_build_query, which is not available prior to PHP 5.
    • Bug [2714647]: Added error message for when an event's ending time is before the starting time. While this was being checked, it was not being reported to the user.

February 11, 2009 - Second Beta 2.3.0 Rev. 541 Released for Testing

  • This is the last beta release. The release candidate will be released mid-March.
  • See the change log for a detailed list of changes.

November 12, 2008 - First Beta 2.3.0 Rev. 505 Released for Testing

  • 2.3.0 is now considered to be feature complete.
  • Major changes since the third alpha:
    • Added 'RSS Feed' links to the 'Subscribe & Download' page.
    • The database upgrade script now supports PostgreSQL for fresh installs, and PostgreSQL 8+ for upgrading an existing database.
    • RSS and iCal files are now cached in a completely different way.
  • See the change log for more changes.

October 16, 2008 - Third Alpha 2.3.0 Rev. 382 Released for Testing

  • This is a small, but critical, fix to the second alpha.
  • Changes since second alpha:
    • Bug fix: Database upgrade script now properly inserts the records for the default calendar when doing a fresh install.
    • Renamed images/Go.gif to images/go.gif for case sensitive file systems.
    • Made sure all TIMESTAMP columns are NOT NULL since it they cannot be NULL in MySQL. Was confusing the database upgrade script.

October 15, 2008 - Second Alpha 2.3.0 Rev. 375 Released for Testing

  • Changes since first alpha:
    • Converted most DB columns from 'text' to more specific types (i.e. varchar, timestamp, int, etc)
    • Revamped exporting with new export types including RSS 2.0, HTML (optionally wrapped with document.write) and JavaScript.
    • Fixed bug where an event's end time could be before the begin time.
    • Added RSS <link> in the <head> to allow browsers to detect the calendar's RSS feed.
    • Timezone setting changed to use PHP's built in TZ variable to adjust the calendar's time.
    • Better support for PostgreSQL (based on testing with version 8.3)
    • When main admins login, VTCalendar will check to see if a new version is available.
    • Links added to update.php to the forums, mailing list, etc.
    • Moved a lot of inline text to the $lang array.
    • The english language file is now always included. If LANGUAGE is something besides 'en' then that file will also be included. Other language files will only need to override what is translated, and will not need to include everything from en.inc.php.
    • Pear::Mail can now be used to send e-mail via SMTP. The sendmail() function can also be overridden to use any other method of sending e-mail.
    • Added Swedish as an available language [1440229]. Thanks Björn Wiberg!
    • HTML can now be included before/after the header and before/after the footer from static files. This allows for standard headers and footers throughout all calendars. Does not apply to the default calendar.
    • The number of years that events can be added to is now customizable.
    • Added new "view authentication" mode that allows any successfully authenticated user to view the calendar.
    • Table names can now be prefixed with something like 'public.' to allow for use of multiple schema in PostgreSQL.
    • Improved print view when a sponsor is logged in.
    • Bug fix [1421279]: Sponsors can now view the calendar regardless of what users are entered into the box under "Login required for viewing the calendar?".

October 1, 2008 - Alpha 2.3.0 Rev. 215 Released for Testing

  • See change log for list of changes in this release.

September 24, 2008 - Development of VTCalendar Resumes

  • Andre Mekkawi has taken over development of VTCalendar.
  • A new version, 2.3.0, is being developed. See the "Features" section below.
    It is currently in pre-alpha and is available in the SVN repository.

See older announcements in the archive.


Upcoming features in 2.3.0:

Note: The list below is a work-in-progress.


  • New "Upcoming" tab that shows all un-expired events in the next 365 days (can be modified in config.inc.php).
  • Most styling has been moved to CSS.
  • New admin screen for colors, with greatly expanded control over the calendar's colors.
  • HTTP authentication (if you have a script somewhere that does some sort of custom auth).
  • Export completely revamped. Includes RSS 2.0 and two ways to include event listings on Web sites without any server-side programming. See http://www.howard.edu/calendar/public-export/instructions.php for an early version.
  • A wizard upgrades the database as necessary between versions (including 2.2.2 to 2.3.0).
  • E-mail can now be sent via SMTP using Pear::Mail.


  • Friendly error messages displayed for DB errors and missing external components (e.g. DB.php).
  • "My Submitted Events" screen now shows events for one month at a time, avoiding a huge list of all events.
  • "Manage Calendars" screen can now show total events for each calendar. Also shows total upcoming events, to determine if a calendar is not being used.
  • No longer necessary to re-login when switching calendars.
  • Main admins no longer need to be sponsors in order to view a calendar.
  • Main admins can become any sponsor for a calendar on-the-fly.
  • More user-friendly admin screen and add/edit event form.
  • Mini-calendar column can be toggled to be on left or right. Having it on the right helps users with low resolutions.
  • More fine grained control of LDAP authentication.
  • New weekday repeating event choices (e.g. every sunday).
  • Forced 'calendarid' in links to make sure calendar the right calendar is displayed when multiple calendars are being used by one person.
  • "ROBOT" meta-tag added to header to so that spiders only index the event pages, and not the day/week/month views.
  • The page title (<title>) now includes specific information about the page. For example, when looking a day's events, it will read "Day: Wednesday, September 10, 2008" rather than just "Day". Events will include the event title.
  • Page title can now have a string appended to the beginning and end for all calendars.
  • Duration of the event now appears with the start time in day/week view.
  • Events now fade to gray when their end-time has passed, or if the next day is reached in the case of "all day" events.
  • Added message to approval page that the event will also be submitted to default calendar (if applicable).
  • When a new calendar is created, only one category is created named "General".
  • Mini-calendar now uses AJAX call to avoid refreshing the entire page when clicking the small << >> buttons next to the month name.
  • Added Swedish language (thanks Björn Wiberg!)

See also: Screenshots of Key Changes in 2.3.0 Alpha

Features of 2.2.2:

  • Day/week/month view
  • Search for events
  • Show events filtered by category
  • Miniature calendar for navigation
  • Event submission/approval mechanism
  • Handling of recurring events
  • User authentication via internal database and/or external via LDAP
  • Customizable layout (header, footer, colors)
  • Customizable event categories
  • Customizable event templates
  • Customizable search engine (featured keywords, synonyms)
  • Import/Export events in several formats (RSS, custom XML)
  • vCalendar support (for exporting to other calendars like MS Outlook or iCal)
  • Support for multiple calendars (e.g. separate departmental calendars)
  • Calendars can be public or private (restricted to certain users)
See also:
Screenshots of Key Changes in 2.3.0 Alpha