NEWS

News

Passing the reigns

Incredibly, I started Form Tools 16 years ago, and over the years it just grew and grew… cool new modules, never-ending reams of documentation, website updates, and new feature after feature after feature. But the larger it became the less feasible it became to support and maintain, let alone push forward. I’m just one guy and for many years the writing has been on the wall. If I’d been able to work on it full-time, things could be different – but I’ve always needed that day job to pay the bills. The last 6 months I’ve been revising a far smaller open source project, and even that has proven to be a massive amount of a work. It’s time to face fact: I no longer have time for this project.

So I’m very sad to say that the time has come to pass on the reigns! My very good friend Joseph Lo, whom I’ve known for many years will be taking over. It was thanks to him that back in 2011 we got a grant to work on the script for year. That year various modules were borne including the Form Builder, plus I got to work on a lot of the foundations for the later versions of the script.

Over the coming months we’ll be sorting out what to do. I had a pretty clear roadmap of where I wanted to take the script, but I firmly believe he should take it wherever he wants.

Thanks so much everyone, it’s been wonderful. 🙂

Ben

 

Posted in News | 8 Comments

Time off from project

Hi all, I’m going to be taking a break from formtools.org to focus on another project for a while. For many years now, another of my projects – generatedata.com – has paid the bills for all my other open source work, and an upgrade is years overdue.

I suspect it’ll be several months work, but I really must focus on that for a while.

Apologies, and see you soon…

Ben

Posted in News | 3 Comments

3.1 progress update

Howdy all!

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.

Ben

Posted in New Releases | 1 Comment

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