ScheduleWidget 2.4 Released

Tags: ScheduleWidget

For anyone new to ScheduleWidget it is a .NET scheduling engine that handles recurring events for calendars. I was influenced by Martin Fowler's white paper "Recurring Events for Calendars" in which he describes the broad software architecture for a recurring events scheduling engine.

The main project page is here:

Regarding v2.4, a big shout out goes to Raghav Khunger who contributed a pull request that added stability around frequency types, back dates, and how the engine calculates date ranges for certain types of events. This version also has a new feature to get the last occurrence date from a Schedule object:

    var schedule = new Schedule(aEvent);
    DateTime? endDate = schedule.GetLastOccurrenceDate();

If you're wondering where to begin with ScheduleWidget there's a complete and comprehensive sample project that exercises it. The sample project is checked into the github repo under Clone it on your workstation and fire it up. Click on any day on the calendar to create new events. The sample project shows you how to store events in the database and how to display them on the javascript FullCalendar control.

I'm on twitter (@squarewidget) or feel free to email me at james DOT still AT gmail DOT com if you have any questions. I'm on multiple projects right now so I can't guarantee I'll get back to you right away but I do appreciate any and all feedback that will make the project better.