Here’s what’s been going on recently, and where we’re heading.
Originally I had a long laundry list of changes slated for Form Tools 3.1:
- introduce React
- refactor the installation script
- allow users to choose the components they want from within the installation process (rather than the hardcoded suggested list of components like now)
- allow automatic upgrading of components from within Form Tools.
In retrospect, that was far too bold. Yet again I was falling into the “big bang” release mistake, where a single update would be very risky and take forever.
So instead, I’ve split the tasks up into pieces. Last week saw the release of 3.0.16. That refactored the installation script and introduced React into the codebase. This is an important milestone that lays the foundation for future work.
Next up is the main 3.1 release. This next change is significant enough to warrant the 3.1 version bump. It includes:
- refactoring the Form Tools CMS to change the way the component packages are stored. Now we’ll be relying exclusively on github’s pre-packaged zipfiles for components, and copying them over to a CDN-like location on formtools.org.
- Creating JSON feeds of all the various dependencies (i.e. core version X supports module version Y, Z etc.)
- Updating the Form Tools installation script to add a new page where you can select the components you want. That will ping the JSON feeds to find out what components are suggested (the defaults) and compatible for the Core versions you’re installing, and allow you to download them directly from the CDN, live.
- Dropping the Custom Build section of the website (yay!) since it’s no longer necessary.
What 3.1. will not include is refactoring anything with Form Tools application itself. Upgrading the Core, modules, themes and the API will all be done as before – manually (boooo).
Splitting it up like this will allow me to introduce these major changes piecemeal, which means quicker releases and more time to test out the new infrastructure. It really is a massive change and it needs to be tight.
I’m shooting for getting 3.1.0 released by the end of the year. Be sure to hold my toes to the fire if I don’t make this deadline – it should be doable.