Compatibility with previous versions

Permalink 1 user found helpful
This is a question specifically for the add-on developers out there...

I'm working on making my add-on's (Advanced Forms and Data Display) compatible with 5.5, which is proving to be a little more time-consuming than I had hoped. This is fine and I certainly want to get this taken care of, but my question is, what are you guys doing about previous versions of C5? Are you maintaining compatibility with those too? Or as you update your add-ons (with say, new features) are you only applying those updates to the 5.5+ version of your add-on?

The reason I ask is because I already have enough trouble staying on top of feature and support requests. Having to maintain one version for pre 5.5 and one version for 5.5+ just seems like it would be a HUGE headache. Any thoughts?

jgarcia
 
jordanlev replied on at Permalink Reply
jordanlev
For my addons, I start out trying to keep a single version that works with both 5.4- and 5.5+. But the second I run into problems, I give up and fork it, so the people on 5.4- are stuck with whatever version and functionality existed as of the 5.5 release, while all new development going forward will be for 5.5+ only. In other words, if it requires any extra work to maintain 2 versions, I'm just abandoning the old version (I suppose if there was some security vulnerability or major bug discovered, I'd go back and fix that in the old version, but other than that I'm done with 5.4- unless it just so happens to work the same as the 5.5+ version).

All that being said, my addons are not as complicated as yours (except maybe Designer Content, for which I did the forking thing and will no longer be putting any work into the 5.4- compatible version).
JohntheFish replied on at Permalink Reply
JohntheFish
Nearly all my addons required none or only a few minor changes, mostly just adding css classes for 5.5 (leaving the 5.4.x classes in there) and they then worked in both. I also had to do some minor tweaks of JavaScript.

For Magic Heading I added 5.4/5.5 conditions that switched default scraping selectors between Plain Yougurt and Greek Yogurt.

For Zone Based Shipping the C5.5/eCom-2.5 shipping edit interface was not a big enough panel, so I moved the whole interface to its own dashboard page and made the eCom shipping interface a trivial 'See other page'.

All now have a single version for both forwards 5.5+ and backwards 5.4.x compatibility.

But then none of my addons have difficult interactions with C5 itself such as using scrapbooks or creating/modifying page types and pages.