Form Tools Core
This repo contains the source code for the Form Tools Core. The goal of the Core is to provide the minimum application code to run Form Tools on your server. At this point (Feb 2017), this is not the case: it also requires you to include the Core Field Types module. This will change: that module will be moved to the Core. It’s fine that it’s a separate component, but it belongs in this repo.
Where we’re at (Feb, 2017)
I’m returning to work on Form Tools after a long - 4 year - break. There have been a lot of changes made to PHP and the various code dependencies that Form Tools relies on. So, I’m NOT trying to rewrite everything - just provide a basic MVP (Minimum Viable Product) with the following requirements:
- Run on PHP 7.
- Upgrade Smarty (necessary for PHP 7 compatibility)
- include Composer (just the basics right now, but all modules, themes etc. may end up as composer components… not sure yet)
- move database interaction to use PDO.
The target version for these changes is 2.3.0. What you see in master is ongoing work towards that version. As such Master is not considered stable!
Please download the stable versions from the releases section.
PHP version compatibility
- Everything up to Form Tools Core 2.2.7 supported PHP 4.3 - 5.x.
- Form Tools Core 2.3.0 (ongoing) will require a different base version of PHP to run. I haven’t decided on which version yet, but I’m leaning towards 5.4.
Don’t install the code by itself. Download a main package from the https://formtools.org/download/ page.
If you want to run this repo as a standalone, right now you’ll need to manually download and install the core-field-types module (see above).
- Composer is great, but I still want to distribute Form Tools in packages and not require users to have to do any command-line nonsense to get the script running. As such, I’m going to commit the vendor/ folder with all dependencies and omit the composer.lock file.
- Any way to add in PSR-2 checking for code quality…? Maybe too early…?
- I’m going to start including all language files with the bundles. There’s really no value in NOT including them all.