23 Aug


The Event Calendar module was developed to facilitate the display and creation of date-based content in SilverStripe from simple calendar announcements to complex events. Features include:

  • A highly configurable view that can display any date range fed through the URL
  • Robust UI tools including a dynamic calendar for browsing date ranges
  • Event filter form with an API
  • Repeating events for just about any regular pattern
  • Built-in microformat compliance
  • Built-in ICS generation for calendar readers including iCal and Google Calendar
  • Import static ICS files or link to live ICS feeds to include data from other calendar services
  • Built-in RSS feed generation
  • An expandable codebase that allows event, calendar, and date models to be customized for specific needs

SVN: http://bluehousegroup.svn.beanstalkapp.com/modules/trunk/event_calendar

14 Responses to “EventCalendar”

  1. Peter Lowish 21. Sep, 2010 at 4:40 pm #

    Aaron, thank you for this excellent module. We are using it in a new updated site at http://www.nick4nelson.co.nz – our client loves it


  2. Andrew 10. May, 2011 at 8:18 am #

    No download is working. I’m getting 0kb files.

  3. unclecheese 10. May, 2011 at 2:58 pm #

    Fixed! Thank you.

  4. Ron Ferguson 24. Jul, 2011 at 10:26 pm #


    I’m using your Event Calendar mod on a school web site and have come up with an issue. If i mark an event to only be viewable by certain groups, the event still shows on the calendar page itself. At first I thought maybe my organizationevent (subclass of calendarevent) was the problem, but the same thing exists on your demo site http://eventcalendar.bluehousegroup.com. Do I have to override the canView function(s) of my subclass(es) or should this work out of the box? I know the SS framework supports this feature.

    Thanks for the help!

  5. Ron Ferguson 24. Jul, 2011 at 11:43 pm #

    Disregard my last comment…i figured it out. I overrode the Events() function in my OrganizationEventHolder subclass and removed the events if canView returned false.

  6. Dan Stephenson 02. Oct, 2011 at 11:22 pm #

    Thanks so much for this Uncle Cheese! This is a fantastic module that I’ve been using and digging deeply into for a few projects I am working on.

    The one feature I am really missing is the ability to filter by a has-many field. Is this something you’re looking to add to it?

    • unclecheese 13. Oct, 2011 at 10:12 am #

      That one has been on the books for a while, Dan. At this time I don’t have the resources to add such a feature, but I’m hoping someone comes along with a pull request for it.

  7. Jack 03. Oct, 2011 at 6:09 am #


    I am using SilverStripe 2.4.5 and running through the Event Calendar tutorial at http://doc.silverstripe.org/doku.php?id=recipes:extending_the_event_calendar.

    I can get everything working, except for the Instructors. I’ve followed the tutorial, but no matter what I do, the “Staff Members” tab won’t appear.

    Any ideas?

    • unclecheese 13. Oct, 2011 at 10:14 am #

      Hi, Jack,

      That method of extending EventCalendar is actually pretty complex, and I think you might have more luck using a decorator.

  8. Martine 16. Oct, 2011 at 7:03 am #

    Hi UncleCheese,

    First of all, many thanks for the beautiful EventsCalendar module. I installed the one from https://github.com/unclecheese/EventCalendar/, so I hope that’s the right one. In that case I have a small issue. If this has already been reported/fixed somewhere else, or I’m using the wrong version, please forget I called…

    On creating an event with ‘All day’ checked, I receive the following:

    [Notice] Undefined index: Calendar
    GET /calendar/view/2011-10-19

    Line 97 in /xxxxxxxxxxx/www/event_calendar/code/CalendarUtil.php

    Firebug reports at that point the en_US.php file is not yet loaded. The error is fixed when the $customDateTemplates array in _config.php is enabled (note: missing comma’s). Would it be an idea to move the defaults as a static to the CalendarUtils class or someplace else – I was a bit confused at finding the templatenames in the lang file?

    Thanks, Martine

  9. Martine 16. Oct, 2011 at 9:48 am #

    oh… well, about the templates in the language file, I now get that! I guess I was confused about the use of the word ‘template’, I should have looked better, sorry about that! :-(

    As for the lang file not being loaded: it seems that’s because i’ve set the site locale to nl_NL and there is no nl_NL.php language file (I’ll have a go at it, if you like). I always thought SS would then load the en_US by default, but somehow not in time? Anyway, it explains why most people wouldn’t notice this…


  10. Micschk 17. Nov, 2011 at 6:08 am #

    Hi UC,

    I just sent you a pull request adding basic support for recurring events in .ics feeds (works for Gcal feeds).

    Cheers, Michael

  11. Jamie Totten 05. Sep, 2012 at 4:32 pm #

    Is this compatible with 3.0? I’ve used it pre-3 (2.4.7 i think) and it was great. Just about to start a new project and wondering.

    Many thanks,

    • unclecheese 05. Sep, 2012 at 4:32 pm #

      Yes, the master branch is 3.0.