NEWS

News

Checking in

Hey folks,

Since my last post I’ve relied heavily on twitter to announce the day-to-day goings on, but perhaps it’s time for a more formal post.

Work continues on Form Tools 3.1. This version moves the upgrading and installation code to within your Form Tools installation itself, so now when you first install the application you can choose whatever components you want, and after installation, adding or upgrading your application should be just a matter of point-and-click. No more manually FTPing files! It should be simpler for everybody.

Work has gone pretty slowly to be perfectly honest. Form Tools is a very large application and really deserves a full time team working on it. Instead you’ve got me, working in my spare time. ūüôā Still, it’s coming along. I posted a short demo of how the new installation process will work, and the upgrade process is getting closer and closer.

Most excitingly (for me) Form Tools 3.1 introduces a number of great new code/infrastructure improvements:

  • React + Redux for the new highly interactive sections of the pages
  • Proper build process using Grunt + Webpack
  • Revising bundling process for actual production files.
  • Better integration with Travis (our CI) to detect and throw build errors if anything’s amiss.
  • FINALLY adding in a slew of tasks to improve the quality and consistency of the lang files.
  • Improved CMS steps and process to export and expose specific component packages for download by your application.

Anyway, it’s coming along! Once it’s functional I think I’ll have a sizeable amount of work still to do to revise and improve all the error handling. I don’t find this a particular difficult problem to solve, but it above all it must be solid and easy to identify any problems that arise.

Well it’s a bit early, but since I won’t make another post until the new year, Merry Christmas y’all!

– Ben

Posted in News | 2 Comments

Form Tools 3 released!

Hi all,

Form Tools 3 is finally out of beta! The download page now offers the latest and greatest download package and the old Form Tools 2 code (some 4 years old!) has been removed. All the code is still found on github, but it’s time to only push the latest version.

The forums have been closed and you’ll see a “Help” navigation link in the header that replaces the old “Forums” link. Times they are a changin’!

So now what? Well, I’ve started work on Form Tools 3.1 which will greatly simplify the installation and upgrade functionality, but I’ll be continuing to maintain Form Tools 3 and the modules to patch whatever issues come up, and even add smaller features here and there.

As always I’ll continue to update everyone of my progress via Twitter and make large announcements here in the main blog.

Ben

 

Posted in New Releases | Leave a comment

Form Tools 3 final release

Hi all,

Quick announcement. Sometime around April 15th I’ll be making Form Tools 3 the standard build, and dropping Form Tools 2 from the download page. The code will always be available at its home on github, but it’s time for all new installations to use the newer code. (Form Tools 2 is ooooold now!)

As mentioned in earlier posts, I’ll be closing the Form Tools forums will also be closing. All questions and support for the Form Tools script and modules will be moved to the appropriate location here:¬†https://github.com/formtools. When the forums are offline I’m going to sit down for a day (or two) and clean out the spam posts and update the site to remove it from the main header & put a link in the footer of the site. For the foreseeable future, people can always browse the old forums for information – there’s a lot of good information there – but in the coming months as Form Tools changes, the information will get out of date & be less useful.

Oh – and I’m heading out of town on a brief holiday for the first 2 weeks of April. See you when I get back.

Ben

Posted in Alpha / Beta Versions, Important!, Maintenance, New Releases | 1 Comment

Upgrade script online

After a long vacation, the upgrade script is back online. Yeah! Now when you click on Update from within your Form Tools interface, you’ll be directed to the Form Tools site where you can generate a¬†zipfile¬†containing whatever specific components you want upgraded.

Even though Form Tools 3¬†is still in Beta it’s looking pretty robust. But if you do choose to upgrade to v3, please follow the upgrade instructions and back up your files and database first. It’s a pain, but worth it.

For the next little while I’m going to be working on reviewing the entire documentation (starting with the outdated Module Development section), working on any bugs that get reported with the Beta, and patching lower priority issues that have been reported on the site.

I’ll be making Form Tools 3 the standard build whenever I feel comfortable the rate of bugs is minimal. So more feedback the better!

Getting Help / Questions

Posted in News | Leave a comment

End of an era: forums closing

Hi all,

In order to keep¬†things growing, sometimes you need to do some pruning. So once Form Tools 3 is released I’m going to be archiving the forums and moving all support to github where the source code is stored. This is where you’ll need to go to ask questions about the script, post bugs, feature requests, you name it.

I realize this is going to come as a shock and a disappointment to some, but it’s¬†time.

Why?!

I’ve toyed with the idea of dropping the forums for years, but without a replacement in¬†mind I’ve balked at the idea. Now more and more people are starting to¬†contribute bugs and feature suggestions¬†there, I’ve¬†decided to make the switch. I guess there are three¬†main reasons:

  1. Maintaining the¬†forums here is extremely time-consuming and difficult. They’re a non-stop headache – and I’m not talking about support –¬† I’m talking about keeping the software up to date, spam free (a Sisyphean task with MyBB…)
  2. It’s far, far easier for me to interact¬†about a piece of software with a tool that’s¬†been designed for that very purpose.
  3. I want to encourage other developers to get into Form Tools, and github is familiar to all developers and more likely to draw people in.

When new people visit the Form Tools¬†forums they’re likely to be put off by the spam and by seeing people’s questions go unanswered. This sucks, and the blame falls squarely on me. For the spam, I could once again upgrade the forums and look around for yet another plugin that would help – or more likely start afresh and move to a new forum software (the 4th in Form Tools life). But this is all a ton of work and I think would be a waste of my time. For the latter – the lack of support found in the forums –¬†again the blame is mine. But the reality is that I’m one dude with finite time¬†(and a chronic birding addiction): I need a single, simple, quick way to interact about Form Tools and I think github is the answer.

Github Issues

Each code repository in github has its own “issues” section where people can post. If you¬†go to the following link, you’ll see the core, the modules, themes and the API listed as separate repos:

https://github.com/formtools

The Core repo is where the majority of questions will get logged, but if you’re inquiring about a particular module, please go to that repo and post there. I¬†get notifications when people post on any of them.

Questions can get flagged as questions; bugs as bugs; feature requests as feature requests; people can thumbs up suggestions or bugs they need fixing – all in a single location.¬† This is staggeringly useful for me. I can create milestones that map to particular releases and tie people’s posts to them. I can search and identify what features to work on next; I can close issues by just committing the repo with the bug fix.

I won’t fib, it’s going to be sad to see the forums go – it’s an end of an era, for sure! But I do think this is the best way to move forward.

Ben

 

Posted in Important!, News | 8 Comments

3.x roadmap

Hi all,

With Form Tools 3 now in Beta, I thought it might be time to tease the goals for upcoming 3.x releases. I’ve had these ideas stewing around in my head for months so even though they’re not yet set in stone, I’m fairly confident that what’s described below is going to be the focus¬†for each release.

Bear in mind these are just the primary goals. Other unrelated smaller features (and obviously bug fixes) will find their way into each version.

Form Tools 3.1: Improve upgrading, installation

The goal here is to:
Рmake the Form Tools download package include the Core only. The installation process will list all available components (modules, themes and the API) with a few of them pre-checked (probably the ones currently in the existing download packages). But the UI will let you pick and choose exactly what you want right during installation, and the installation script will handle downloading the appropriate components versions from github.
– this same functionality will exist within your Form Tools installation itself, so you can install new components or upgrade existing ones right from within the admin UI and not have to require downloading zips and FTP’ing files.
– Offer the option to actually remove the component files from your server after uninstalling something.
– start integrating React into the UI, and drop the old jQuery code.

Benefits:
– Everything will be waaaay simpler, and easier to use.
– it abrogates the need for the Custom Build and Upgrade scripts on this site, which are complex and don’t scale well. Plus I can simplify a lot of the CMS powering formtools.org to drop the need for exporting content from github for availability in the package creation, upgrade + custom build scripts. The less work I have to do there means more time spent on¬†coding Form Tools.

Form Tools 3.2: UI/theme upgrades

The interface is old, time to upgrade it!

Goals:
– make it responsive (work on phones, for instance)
– make better use of available space
– snappier look and feel
– perhaps introduce a customizable “home” screen (still thinking about this one)
– rethink various key pages in the UI to improve UX, and continue integrating React.

Form Tools 3.3: User Roles/Groups

This will be another big refactor of the application, also long overdue. Currently Form Tools relies on hardcoded “admin” and “client” roles, which have specific access to things within the UI. That’ll be changing with this release.

Goal:
РAllow creation of any number of roles, each having their own set of permissions.
– Allow more flexibility in who can see and do what. This will be extensible, and include features specific to modules.
– Drop the Submission Accounts module and has it now integrated within the Core. That module was always kind of a hack workaround to allow¬†form submitters to edit their own content, but even in Form Tools 3 it’s a bit of a frankenstein’s monster. The architecture was never really designed for it. The new user roles set up will include this out-the-box.

Benefits:
– Far more control in letting your set up your installation. You can create multiple groups/roles (I haven’t decided on a term yet!) in whatever fashion suits your needs and assign the appropriate roles via a single group rather than individually on each user.
– Better code! This will formalize permissions so much that when working on features for the core + modules it’ll be clearer what features constitute permission-related features and what don’t.

k, that’s about it.

Ben

Posted in News | 1 Comment

Form Tools 3 beta available

Hi all,

Just a heads up that the Form Tools 3 beta is now finally available. The alpha went¬†through around 5 months of testing and patching, so I’m anticipating the beta period to be a relatively mellow one. If I were to start a new project with Form Tools I would definitely pick Form Tools 3 over 2. And yes, you can upgrade to Form Tools 3 whenever you like (just make sure you back up the database + files first – a necessary precaution). Upgrade instructions here.

If you find anything that looks wonky, please report a bug on github here. I appreciate it!

Now I’m going to focus on getting the upgrade script online (I know, I know… so long overdue…) then I’ll be reviewing the full user documentation to ensure it’s all correct and up to date for Form Tools 3.

Enjoy!

Ben

Posted in Alpha / Beta Versions, News | Leave a comment

Form Tools 3: progress update

Hi all,

Hope your year is treating you well! Boy it went fast for me.

It’s been¬†a couple of¬†months since my last update¬†so it’s time for another post. I’ve¬†been using the Form Tools twitter account for announcing day-by-day news so¬†if you want to stay more current, do check that out.

Form Tools 3

Version 3 is coming along well. It’s still in alpha (meaning not production ready) and will remain that way until¬†we have compatible versions of all components (themes, modules, API) and the script itself is nice and stable [N.B. it’s actually really not bad right now]. As of today the¬†themes are done and¬†2/3 of the modules have been updated. The alpha download package was getting a bit bloated with all the compatible modules so I’ve trimmed it down to include just the major ones.

The remaining modules that still need to be updated are:

Client Audit
Custom Fields
Form Backup
Form Builder
JS Error Logs
Submission Accounts
Submission History
Submission ID Manager
Submission Pre-parser

Plus the API. The API will be changing quite a lot (like the rest of Form Tools it’ll be written as a single API class) so I’ll provide an adapter for people upgrading to FT3 that’ll¬†emulate the old API method interface.

The end is finally in sight!

After that, what’s next?

Boy Form Tools 3 has been a¬†hell of¬†slog. I’m sure I’ve said this before but working on¬†library¬†updates, code improvements, PHP7 compatibility and so on are all necessary, but frightfully tedious when done en masse. And that’s pretty much been my life for… how long? 2 years? Urgh. When do I get to the fun stuff?! New features! Improved UI! Performance updates!?¬†

Well, my original plan was to get FT3 out the door containing all the hum-drum¬†work, then embark on a shiny new FT4 rewrite containing all the fun stuff.¬†But having seen how long it takes to update a script the size of Form Tools I’ve decided this is the wrong approach. Instead I’m going to do¬†incremental updates rather than embark on another massive rewrite that’ll take years to see the light of day.

So various features I had planned for Form Tools 4 will actually be released one by one in v3. I think this is a much more sensible approach: it’ll mean new features will be quicker to roll out and ensure Form Tools doesn’t ever get as out of date as Form Tools 2 did.

There will still be a FT4, but it’ll be a much more realistic goal.

And what about that upgrade script? What’s that coming back online?!

Gah, I’m so sorry about that. In short: that script is a project unto itself. When I moved the codebase to github I borked a number of things and it’s been a nightmare to bring back to life. Note to self: dependency management is NOT to be taken lightly (I should get that tattooed somewhere). The ultimate goal is to remove the upgrade script from the website and include it¬†within Form Tools itself. But that’s longer term. In the short term:¬†I’m working on it. ūüôā I actually think I have it beat – it’s now largely working locally, I just need a lot more testing before releasing it.

Timelines

I’m taking off a couple of weeks in early December to go bird watching in Panama (it’s a hobby, what can I say)¬†so don’t expect much¬†activity during that time. But I think it’s pretty reasonable to expect the¬†Beta to be release in January, and v3¬†to become the official build a month later. I’m actually relatively confident with the current alpha – I’ve had a few people report issues but by and large they haven’t been too daunting.

All the best!

Ben

Posted in Alpha / Beta Versions | 8 Comments

Form Tools 3 alpha available

Hi all,

Well it’s been a looong time in the works, but the first Form Tools 3 alpha is now available! This is a complete under-the-hood rewrite of Form Tools which now supports PHP 7. Any help testing it out to find bugs is much appreciated!

Important stuff:

– This is NOT production-ready code.
– You CANNOT upgrade your existing Form Tools 2 installations yet. If you do, your Form Tools installation will stop working, so don’t do it!
– At this stage only the Form Tools Core is available. The Core includes all necessary code to install the script and for basic usage.

You can download the alpha here: https://formtools.org/download/alpha.php

Please report all bugs here: https://github.com/formtools/core/issues

You can find more information on Form Tools 3 at the repo, here: https://github.com/formtools/core

I’m going to start updating the modules etc. for FT3 compatibility, and fix whatever issues come up as they get reported.

Thanks!

Ben

Posted in Alpha / Beta Versions | 3 Comments

Form Tools 3 – and 4

Hi all,

I’ve been working pretty continuously towards the 3.0 release these last few months, but I’m afraid it’s still a ways off yet. But my plans have now solidified about the foreseeable future of Form Tools, so a post was in order. Much of this has been posted before – now more than anything it has a concrete roadmap.
Form Tools 3

As I’ve written about¬†before, Form Tools 3 is an under-the-hood rewrite of Form Tools to support PHP 7. There will be a few small changes here and there but the interface will look the same, the way you install modules the same, the API etc. etc. All pretty much the same.

Upgrading to 3.0 will be possible from 2.2.6 or 2.2.7 to 3.0, but no earlier. The upgrade code supports upgrading from waaaaay back in time and it’s time to clean house. So yes, there will be an upgrade path, but you have to upgrade to the latest versions of Form Tools 2 first (I’ll be updating the System Check module to add the one additional FT version check on the “FT3 compatibility” section).

Once 3.0 is released, along with all the modules, themes and API, I’ll be releasing bug fixes for 3.0 only – that major version is effectively finished. At that point I’ll be working on…
Form Tools 4

As I’ve been slowly refactoring the code for 3.0, I’ve had to hold myself back again and again from doing more aggressive changes. I now have a long list of things that I think the script needs, but avoided working now to prevent 3.0 being held up any further.

So 4.0 will be a much more aggressive change to Form Tools. These are the main goals:
User interface redesign & rewrite
Personally I don’t find Form Tools’s UI or UX too bad (okay, I’m biased) but it’s 2017 and it can be better. Better use of space, better look and feel & better IA (information architecture – the structure of how the pages tie together)¬†¬†I want to do a complete re-write of the front-end portion of the script from the JS code to the user interface. Language-wise I’ll be using React –¬†but it’ll probably remain a traditional page-by-page app and not a one-page web app. We’ll see.

Installation/Upgrading
This is an item that’s long overdue, but one that I’m the least sure about how to implement yet.

I want to completely revise the installation and upgrade code to remove the dependencies on the website. Adding modules should be as simple as selecting them via the interface and clicking a few buttons. No more manual FTP’ing of files to your server to install things! (well, other than the original installation). Right now I create a bundle of files via the website which generates a zipfile containing the Core, API and list of modules & themes. Bah!¬†Instead, Form Tools should be a single identical zip for everyone who downloads it, containing ONLY the Core code. Then, during the installation phase they would select what pieces they want. Users shouldn’t have to concern themselves with manually downloading separate pieces of code and installing them separately.

This would result in a lot of complex code being dropped from the website making the project far more maintainable for me, and much simpler for people.

Performance
Form Tools is too slow in places! Time to benchmark and improve.

User Roles / Permissions
Form Tools has a very basic user account system at the moment. It has a sort of basic way to change configuration settings for multiple users at once, but no real concept of a “role” which you see in most large applications. The idea of roles is that you create a role that describes what a user can do, then set each user to a particular role. Pretty straightforward. This means re-writing the backbone of the current permissions code and remove the current admin/client separation.

Schema ALL the things!
This one’s is a bit technical, but the idea here is to make all configuration data stored within Form Tools adhere to schemas, i.e. make them “well-defined”. Form Tools changes and configs have always been very ad-hoc: each version comes out with new settings for your forms, client accounts, form builder forms and so on. A schema will provide an explicit description of a particular version of each piece of data, outlining the semantics for each and every part of the configuration. So why do this? Well it’ll allow for¬†my ultimate goal of Form Tools, which is…

Form Tools market
I’m really proud of what Form Tools does. It’s crazily feature rich and lets you set up complex forms and let’s you fine-tune who sees what, what can be downloaded, edited, viewed etc. etc. But the pain of Form Tools lies in configuring it. It takes TIME setting up a form with all the right settings, form fields, users and so on. The goal of the Form Tools market is to allow users to share configurations so rather than manually setting up a form field by painstaking field, you just browse the market and click “Import!”. That imports the form configuration, views, email templates, form builder templates, etc. etc. Then you can go to town tweaking it.

This is eminently do-able, it just requires a lot of work and planning. But there’s one catch to this last one: I may have to put a small fee on this feature, like $20 a year or something… it’ll mean increasing the server load for the website a great deal, and Form Tools costs me a fair bit of money as it is to host.
Alrighty, there’s the update. I’m sorry development on 3.0 is taking so long. I’m still not at the point when I could estimate a release date for the alpha.

Posted in Alpha / Beta Versions | 2 Comments