NEWS

News

3.0.13 released + update about 3.1

Hey all, two things to discuss today:

3.0.13 released

This release included some really finicky, technically logic so it took a while to get it right. But no matter! Today Form Tools 3.0.13 was rolled out, which includes these nice new features:

Conflict resolution for submission editing

When editing data there’s always the risk of two people updating the same form fields at the same time. For low volume installations this is pretty unlikely, but the more users you have and the more active they are, the probability of this occurring starts to creep up and up.

To mitigate this, historically we’ve had the Submission History module: that lets you track changes to form data over time so you can revert back to any version if you need. But honestly, a better solution would be to just catch these conflicts right when they occur.

That’s what 3.0.13 adds. Now in case of a conflict, the system updates as much of the data as it can and prompts the user to reconcile the rest. Do you want to keep the data you just added for Field X, or choose the one that was in the database? Give this page a read over to get a better idea of how it works:
https://docs.formtools.org/userdoc/form_submissions/edit_conflicts/

This is something of a “hidden” feature – you won’t ever see it until it actually becomes an issue.

Better integration for Client Map filters

Client Map filters always had the promise of being super-useful… they let you map a specific View to a particular value in a client account, so when two different clients log in and browse submissions within a particular form View, they’d see different things. Cool!  But the problem was that it was really a feature designed for External Forms where you could easily load up the initial form POST with a specific setting (like “client_id” => X) so all submissions would be mapped properly by default. But Form Builder Forms? Internal forms? Not so easy. For those, you had to do some elaborate workarounds using the Submission Pre-Parser module to pull out client info from sessions and populate the form submissions are they were created. This was very fussy and complicated.

3.0.13 greatly simplifies this. Now you can now use placeholders in the Default Values for New Submissions field on the Edit View -> main tab, so those values get automatically inserted for all new submissions in that View.

Here are a couple of links to help understand the feature:

Oh and also, I just released a new version of the Extended Client Fields module (2.1.0) so you can also use placeholders for all fields in that module in the Edit View fields as well. It works exactly the same way. You extend the client accounts to store any arbitrary data you want about a client (e.g. a “department” or “area of interest” field) then after its been populated for each user, use a placeholder for that field in your View & any submissions created by client accounts will imprint their submissions with the appropriate data from their account, thus showing up in their View. Give the tutorial a read over for more info.

So that’s 3.0.13! But there’s one other thing I wanted to talk about today…

Where’s 3.1?

Where indeed!? Back after I release 3.0, I vowed I’d never do another “big bang” release – a long, drawn out new version which took ages to complete and risked introducing a huge thwack of regression. With that in the back of my mind I launched right into 3.1 and… yeah, you guessed it, a few months passed and before I knew it I was in exactly the same boat as before.

For people who’ve been following it on Github, I’ve actually gotten a fair bit of work done on 3.1 already, but it’s still destined to become another Big Bang release. I fixed various things in that version which I’m finding I’m having to duplicate in the 3.0.x releases because it was just taking too long.

So, enough of this nonsense! Here’s what I’m going to do.

  1. The master branch on github is back to the 3.0.x branch. That is the main release branch where I work on new features.
  2. I’m going to start cherry-picking fixes/improvements I’ve made in the 3.1 branch and start introducing them into 3.0.x and incrementally add them in. So you can anticipate smaller 3.0.14, 3.0.15 etc. releases – as many as it takes.There will still be a big “3.1” release when I’m ready to flip the switch, but it won’t be a nail-biter sort of oh-god-will-this-break-everything kind of a release. The majority of the features will have been introduced in the 3.0 branch so upgrading should be less of a worry.

Alright! That’s the plan! See you on the interwebs.

Posted in News | Leave a comment

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 | 3 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