Skip to content
This repository has been archived by the owner on Oct 18, 2022. It is now read-only.

Statement on Reasons 2, Matrix and Craft 3

M. Mikkel Rummelhoff edited this page Jun 22, 2017 · 8 revisions

Hi, I'm Mats, the author of the Reasons plugin for Craft CMS.

Craft 3 is on the horizon, and on that note I'd like to make a few things clear about the future of the plugin.

The gist: I am retiring Reasons. There's a few things that led to this decision, but most importantly: A few weeks ago, Brad Bell of Pixel & Tonic made it clear in the official Craft CMS Slack that field layout conditionals will, at some point, definitely make it to core. This is excellent news, but it does make Reasons redundant and as a consequence, I won't be spending the hours to get Reasons working on Craft 3.

To be clear, Brad didn't discuss the core feature's implementation, functionality, when it'll be available nor how it'll compare to Reasons. Hopefully, it'll be even better than Reasons, and a short wait.

I appreciate that there's probably a fair number of Craft sites out there currently using Reasons. Whenever the core feature is available in Craft 3, I'll definitely look into creating some sort of conversion script for existing Reasons conditionals. No promises, but I'd hate for Reasons to become one of those legacy plugins holding sites back from upgrading. If a conversion script isn't feasible, I'd hope that manually re-creating conditionals using the core feature will be a relatively quick and painless effort.

Going forward, I'll try to close a few, minor open issues, but I won't be picking up any more feature requests. Sadly, I also won't be finishing the still in-progress Reasons 2 with Matrix support. Aside from (maybe) a patch or two, the current version of Reasons is the final version. This Github repo will stay up indefinitely.

Some additional words on Reasons 2 and Matrix support

The number one feature request for Reasons since its initial release in November 2015 has been Matrix support. After a couple of failed attempts, I realised that in order to achieve solid Matrix support, I would have to basically rewrite the plugin from scratch. In December 2016, I felt so confident about the in-progress, completely reworked version (with Matrix support partially finished and really shaping up at that point) that I made some promises – specifically, I promised that Reasons 2 would be available around Christmas that year.

Unfortunately, that's not the way it went.

Around this time, I was forced to shift my priorities around a bit. It became harder to dedicate my (fairly limited) spare time to plugin development, and the Reasons rewrite in general and the Matrix feature in particular proved more time consuming than anticipated. At the same time, Craft 3 was beginning to come into focus, and I began to realise that porting all of this stuff over to 3 at some point over the next year would also require a substantial effort on my part. Finally, P&T's admission that Craft 3 will have conditionals in core at some point made it very clear to me that Reasons 2 was not going to happen after all.

I'm honestly very sorry about this – leaving stuff unfinished isn't really my schtick and more importantly, even though I don't feel that I owe any particular thing to anyone, as a rule in life I do generally like to follow through on promises. I also wish that I'd made this decision sooner, as I know a few people have been anticipating updates for a while. To be honest, I kinda just kept putting it off, thinking I'd get to it sooner or later.

In closing, I'd like to thank everyone who've displayed interest in this plugin over the past couple of years, to everyone who've submitted pull requests and bug reports, and those who have voted for the core feature request. Having conditionals in core will be a big win for Craft, and I take pride in the fact that the popularity of the Reasons plugin has probably (maybe) played some part in P&T's decision to add this feature to their roadmap.

Cheers!

Mats.

Clone this wiki locally