I’m a little whiny today.

We’re two weeks out from going into beta with our new WordPress-driven website, on which approximately 500 events will be created per year. After much consideration of the plugin market for events and calendaring solutions, I was able to settle in with Time.ly’s All-in-one Event Calendar. After a painstaking migration, in which I learned more than I ever needed to know about the iCal format, I was able to successfully import over 6000 events into the calendar.

Everything seemed to be going well – we were working on a custom theme to help get it integrated, I was able to modify some of the code easily to change some presentation options (they’ve used MVC and have done a pretty great job with it), and it seemed like it was production ready. Then, I started receiving some very nasty yellow boxes across my entire admin interface – there’s a major update to the calendar plugin.

If you’re reading this because you updated and now everything is broken, let me just say that you can avoid this completely by instituting some sort of version control – whether it be Git, SVN, Mercurial, whatever – you NEED something like this in place for instances like this. Plugins or core updates always have the potential of going south (fast) and your first line of defense is version control. Don’t think that you can update blindly on your production server without testing first – it is a recipe for disaster, and I’m going to ding Time.ly for making this update seem like it was absolutely necessary by plastering it all over the admin interface, causing people to hastily upgrade (or feel like they needed to).

Now, onto the issues:

1. It’s spitting out foreach errors and warnings. Apparently this is an issue with “legacy” themes – you’ll see tons of notices and errors about that, but they’re pretty informative.

2. AJAX loading of events/slow loading times. With the new update, when you visit an event “post,” the event information is loaded via AJAX instead of the database. I’m not sure where the culprit is, but this caused a delay of 2-6 seconds on my local dev machine – and anything over 2 seconds is simply unacceptable. The AJAX call isn’t necessary in this particular case – if the system is loading a single, static event, that information should be pulled directly from the database FIRST. Widgets have the same issue. The Time.ly devs need to fix this.

3. CSS not loading/site crashing completely – we didn’t have this issue, but you’re probably going to need to revert. If you don’t know how, you might be in some trouble. First, look into disabling the plugin via the database. Second, revert if you have version control or find the legacy plugin to manually install.

We reverted the files back using version control and didn’t have any issues with databases, so with this particular plugin, you should be able to switch back without any issues. Hope this is helpful to someone, and I’ll update when a revision is posted.