This repo contains the source code for the Form Tools Core. The Core provides the minimal code needed to run Form Tools on your server.
- The
masterbranch contains the latest work being done on 3.1.masteris not production ready. 3.0.xcontains the tip of the 3.0 releases. This is entirely for bug fixes.
Form Tools 3 (2018) was a complete rewrite of the application. Form Tools started back in 2004 and this was the third (and hardest!) rewrite. The goal was to modernize the script: to run on PHP 7, use PDO, update all lib dependencies, introduce tests and pave the way for upcoming changes and features.
Form Tools 2 was the production version from 2010-2018. I took a long, 4-year break during that time to work on other projects, but returned to the Form Tools world in 2016 to revamp the site and code. Form Tools 2 is entirely functional code; FT3 converted everything to object-oriented.
- Everything up to Form Tools Core 2.2.7 supports PHP 4.3 - 5.x.
- Form Tools Core 3.0.0 supports PHP 5.3 and later.
3.1- rewriting the installation/upgrade code so that there's no longer hardcoded bundles of the Form Tools script including those modules/themes we choose, but instead you select whatever components your want during the installation, or later on.3.2- revamping the UI. Totally new design, upgrading all the front-end code (i.e. moving to React)3.3- revamping the user permissions to make it roles-based and not have hardcoded "admin" and "client" accounts like now.
3.1 will be introducing a few changes that anticipate 3.2. A lot of the UI is a very old, using jQuery and jQuery UI to provide interactivity. 3.1 is adding in React, Redux, and a standard node build process using webpack. At this stage I'm not totally sure how much of the interface will be converted to use React, but I do want to have it available for the (many!) pages in the interface that are interaction heavy.
Up until now, the packaging process for Form Tools has been pretty much a simple matter of removing the odd file, then it up. This will change with 3.1. Now we're adding in source code that needs bundling, minification - i.e. a modern build process - the packaging process will be handled by webpack. Again, I'm not 100% sure about what form this will take at this moment, but I have some ideas.
Check out TESTS.md. Still in its infancy, but we're getting there.