Concrete5 version 5.6.2 was recently released. UPDATE: And 5.6.2.1 which fixes some bugs. What's new in this version? If you read through the changelog, you'll see a very long list of fixes and tweaks (especially in the area of internationalization), but not many user-facing features. There is however one big "invisible" change that has me very excited for the future of the platform. In this post I'll first go through the visible and under-the-hood changes, then I'll discuss what I think is really the best new "feature" of this so-called maintenance release.

Updated "Automated Jobs" Dashboard Page

The only thing an end-user would see as different from 5.6.1 is if they went to the "Automated Jobs" dashboard page...

screenshot of new "Automated Jobs" dashboard page in Concrete5.6.2

Notable improvements here are:

  • The interface has been polished up a lot (especially the ability to reset a "never-ending job" without resorting to manually changing fields in the MySQL database)
  • You can now have jobs triggered without having to set up a cron task -- instead they will be triggered by page hits to the site, thus replacing the functionality that was available in the Nontab Scheduler (but note that if you're capable of setting up cron tasks on your server you should still use that method as it's more efficient and predictable)
  • There is a new "Job Sets" feature which could come in handy if you have a custom package or addon with lots of different jobs that need to be run at different times (for example, I once wrote a custom job that checked for incoming photographs that were sent to a certain email address -- I wanted this job to run every 5 minutes, but I only wanted the other jobs to be run once per day).

screenshot of new "Job Sets" tab in the "Automated Jobs" dashboard page

Changes for Designers/Developers

I unfortunately don't have much experience with non-English sites, so I don't understand all the details... but it seems like there are a lot of fixes and improvements in the area of internationalization and localization. So if you run a non-English site (or your site contains translated content), it's probably worth upgrading for these improvements alone. UPDATE: Remo points out in the comments that the biggest change here is that attribute names and other useful strings in the core system are now translatable by default (prior to this you could only update them manually via the dashboard interface and you'd have to do this for every new site install -- but now they are automatically translated when sites are first installed via the language files included with the system).

There are also a few "under-the-hood" tweaks and fixes for designers/developers who are building sites for clients. In a future blog post, I'll dive into the details on two of these that I had a direct hand in working on (specifically, a new filterBySelectAttribute() method of the PageList object, and a change to the way JS and CSS assets are located by the system when overriding core or package blocks).

So what's the big deal?

Hmm... new Automated Jobs interface, some bugfixes, and wonky new programming features... doesn't really sound like that much has changed in this release, right? Well, there is one HUGE change which is a breath of fresh air: the core team has given more attention and resources to collaborating with the rest of the developer community.

With development efforts led by core team member Mike Lay (@mkly in the forums), the month or so leading up to this release saw a steady stream of questions, discussions, and responses to bug fixes and code contributions. This is markedly different from prior releases, where it was clear that Andrew (the lead developer) simply didn't have the time or bandwidth to respond to every request or contribution -- which is a completely understandable situation to be in (and one that I am quite familiar with myself). I think anyone who builds sites with Concrete5 knows what a fantastic job Andrew and the core team have done (and continue to do), but there are just only so many hours in a day. So it's really nice to see this delegated to someone who has the bandwidth to handle it.

And handle it he did! My own experience with the process left me very excited for the future. It was great to be involved in technical discussions about certain bugfixes or functionality tweaks that pertained to my area of work. It really engaged me in a way that makes me feel more a part of this community and this platform (which I of course already felt a big part of). I truly believe that having a healthy developer community that feels empowered to help improve the system will be a net win for everyone using Concrete5 because it will attract more advanced people that can bring outside experience to our little neck of the woods. This isn't to say that everything should be designed by committee (on the contrary -- I think many of the benefits of Concrete5 are due to its singular focus of vision led by the core team), but there are just so many aspects of the system that fall outside the "big picture" -- and these are the kinds of things that developers like myself are more than willing to roll up our sleeves and get dirty with. We just need someone to communicate with us about the technical details and respond to our efforts in a timely fashion.

So big thanks to Mike and the rest of the core team for doing a great job, and I hope this trend continues!