RackForms v7.8.8
rackforms blog
Site Tag Line
Latest Release: Build 958 - Arpil 18th, 2023
Contact Us  Purchase Options Purchase Options Contact Us


Welcome To The RackForms Blog.

You come across a lot of cool ideas and trends when developing software, here's where we like to share them!


Archive Navigation:


Next Up: Query Builder

First it's my birthday, so happy birthday to me! Second, now that reporting's done, I've been considering a few alternatives for the next big feature to add. I've finally settled on one: a Visual Query Builder!

Specifically, while we have tools for creating database tables and writing queries, we do not have an easy way to query existing schema.

The goal for this feature is to make query building a visual process using a simple interface; the resulting SQL can then be used for Builder and Query items. I'm incredibly excited by this idea, simply because demystifying the query layer will: a) open up powerful options for novices, and b) make a pro's life much easier. in short, we can now go end to end, from the initial query to final results without ever writing SQL code. This makes full application development tasks open to a whole new class of user.

And so that's what's "next", a query builder for early 2015. If you've been looking for such a feature or have ideas on how you'd like it to work, please let me know!


Get Features First With RackForms!

One of the most important benefits of being a RackForms user is getting cutting edge features first. In this case, I'm proud to say we're currently the only, and indeed first, form solution with support for Google's incredible new No CAPTCHA reCAPTCHA method.


I'm also delighted to say this is more than just being the only one with support -- we're supporting this feature the very first day it's released!

If you haven't used this new CAPTCHA technique you simply have to see it in action. When the form first loads, instead of a complex image a simple checkbox is shown to the user. Check the box, and in most cases, that's it! Behind the scenes Google checks a load of different indicators, including cookies, timing, and so on. If Google can't determine your status from this simple check, an extended validation mode is shown. It's incredibly cool to see in action, and represents the greatest leap I've seen in capture since its inception.

If you're a current user, please head on over to the downloads area and get the update now, your users will thank you for it!


RackForms Workflow.

If you could put a pin in the biggest differentiator between RackForms and everyone else, it would have to be features. No one comes close to matching our extensive set of capabilities, which also means no one can create the types of jobs we can.

Enter our first WorkFlow video.

In this short (a touch over 5 minutes) video, we create an entire application from start to finish. The final form is not, I would hasten to add, some bland, boring looking thing, but a truly beautiful, function first application. This is the type of job that only RackForms can deliver in such a short time.

Catch the video here now!

Finally, I wanted to wish everyone in the States a happy and safe Thanksgiving Holiday!


Build 837 Feature Tour.

A great release to kick off November, watch a video to get the full tour.


Late October Update.

I wanted to give a quick update on the features and fixes from the past several builds, as well as a quick look towards the end of the year.

For the visually inclined, we've got a handy YouTube video showing off our great new features.

Patches and Fixes

First, the past few months have seen a huge number of small fixes and patches, a direct result of the large number of features added at the start of this year. Current users will notice a more stable editor, and form users will find forms work more consistently.

For example, the file upload system has seen a number of tweaks, most notably a new JavaScript based file size upload warning message. It used to be that if a user tried to upload a file that was too large the associated warning message would only be delivered to the user after the file upload was complete. This new warning message happens much sooner, making the file upload process much more user friendly. I would be remiss if I did not send a big thank you to Jim A. for the suggestion!

Of course we've had many more "core" fixes and improvements, the full list of which can be found over at the change log.

UX Improvements

One of the big focal points of this past year has been making the editor more user friendly, and also making it easier to find and use its power features. It's important to note by user friendly, we're mainly referring to the fact that over the years RackForms has evolved into an incredibly robust form tool. Often times when software gains a large number of features it can become a real challenge to surface them all without adding too much clutter.

Two quick examples are a now fully-customizable toolbox, which allows us to select from three distinct layout modes for picking form items. We've also enhanced the system formally known as the Form Block, changing its name to Field Presets, as well as making them much easier to find and use.

Field Presets allow us to save any combination of already created items into a simple present, which we can then add to any other job with a single click. They save huge amounts of time, and are a RackForms exclusive.

Changes like this make the editor an absolute joy to use, and we're just getting started!

New Features

Of course RackForms just wouldn't be RackForms without the incredible development pace, and 2014 has been a banner year for us. While too many too name here, my personal favorite is the new custom CSS and JavaScript blocks for the Code Block element. These guys help transform an already powerful module into an absolute blockbuster of a feature.

The basic idea is a Code Block is a raw section of code, be it PHP or HTML, that we inject directly into the page code RackForms creates. The new JavaScript and CSS sections allows us to easily and seamlessly create powerful, totally self-contained units of logic within a larger page structure. This is a huge boon for Single Page Application design (SPA), in that these self-contained units are a breeze to mange and organize.

So that's a very quick look at what we've been up to. We can't wait for 2015, but promise to have a few more goodies in store for the end of 2014!

Thank you all for your continued support, and please keep in touch!


Patching Bash against the Shellshock bug

Note: Updated on the 29th Of September to include info on the latest fixes.

Here's a quick command line rundown on how to patch your Linux server against the recently uncovered remote code execution vulnerability in the bash environment.

The Test

The "original" test for a vulnerable server is to run the following from your command line client:

env x='() { :;}; echo OOPS' bash -c /bin/true

If this returns 'OOPS', your server is vulnerable.

A new version of the test, only patched in update 27, is:

foo='() { echo not patched; }' bash -c foo

If the result is anything but:

bash: foo: command not found

You're still vulnerable, even if you pushed the initial fix from the 24th of September.

Version Check

The first task we need to perform is to check what version of bash we're running. Do this with:

bash --version

The tricky bit is several 'major' versions of bash exist, and most 'pre-patch' versions are vulnerable Thus, bash 4.3's most recent, fully patched build is 4.3.27, whereas bash 3.2's fully patched version number is 3.2.54.

To complicate matters, some hosting providers and services, such as GoDaddy's dedicated servers, actually comment out an important line in the servers update repository system, which means even if you perform a yum update bash, the server will actually return a message stating that no updates exist for your system (No Packages marked for Update).

What's more, as your distribution, be it Red Hat, Mac OS, Fedora, and so on, will have a different update schedule and process, it could be that your server is still running the outdated and dangerous version, even after performing a successful automatic update.

Thus, the best way to tell if your server has been patched is to take the output of bash --version, visit http://ftp.gnu.org/gnu/bash/, and navigate to the version number that matches your server's build.

The initial vulnerability and patch was announced on the 24th of September, with two subsequent (and very important) updates released on the 26th and 27th.

For example, for bash 4.1, the initial fix was released in update 12, which is shown as:

bash-4.1 update

Thus, if we run bash --version on a server that runs a bash major version of 4.1 and see:

GNU bash, version 4.1.11(1)-release (i686-pc-linux-gnu)

It's time to update ASAP.

Again though, two further updates have been released after subsequent vulnerabilities were discovered, which means even if you have the update from the 24th it's time to update again.

Automatic Patching

By automatic we mean through yum or apt-get, which as of this update (9/29/2014), should at very minimum protect you from the first batch of vulnerabilities.

The automatic update commands are as follows:

Fedora / Red Hat / CentOS

yum update bash

Ubuntu / Debian

sudo apt-get update

However, (and again!) it's important to note further vulnerabilities have been discovered, and upstream patching from your distribution may not included the latest round of fixes from the 27th of September. Finaly, as noted above it could be that your server is running in an environment that prevents proper patching in the first place.

In short, while the automatic method is simple, it unfortunately does not guarantee a properly updated machine. Try this method first, check your bash version with bash --version, and compare it to the official site. If your server is still running a build prior to the patch released on the 27th of September, it's time to follow the Manual Patching section below.

Manual Patching

If you find the automatic method has left you with a build created prior to the September 27th release, it's time to perform a manual update.

Enter the following commands as root (Please note italicized items are not to be typed):

su - (type root password)
cd /tmp
wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
gzip -d bash-4.3.tar.gz
tar xvf bash-4.3.tar
cd bash-4.3
curl http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-001 | patch -p0 (**Please see note below)
make install

exit out of your terminal session
bash --version (Should show 4.3.25(1))
env check='Not vulnerable' x='() { :;}; check=Vulnerable' bash -c 'echo $check' (Should show Not vulnerable)

**See the part in bold above? This is the patching process, and at least for me, entering the patch we need (027), without first running all previous patches fails. Thus, please note we start with 001, then run the command over and over again until we hit 027.

In other words, we'd enter:

curl http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-001 | patch -p0

Followed immediately by:

curl http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-002 | patch -p0
curl http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-003 | patch -p0

And so on, all the way until we hit 027.

We could automate this process with a shell script, but I'll leave that as an exercise for a less critical patch.


Build 829 Feature Tour.

Another big September release, watch a video on it now!


Build 826 Feature Tour.

A big release to kick off September, watch a video on it now!


RackForms 5.2 - Final Feature Demo

Build 821 has just been released. This is a very small update that adds a few sample jobs, as well as a setting for SMTP Transfer mode to the API manager. Unless you need these specific features it's safe to skip this version until 822, which will, more normally, be a more significant update.


RackForms 5.2 - Final Feature Demo

One last peek at a RackForms 5.2 feature before release, Populate Form Fields for Query Module calls!


Responsive Forms Reminder

Building forms in 2014 means thinking responsive, and on that front we've got you covered! In this quick video we'll show you two ways to responsive form design: Using the automatic responsive form version, and creating one with a few small tweaks to your forms layout. In both cases we end up with a form that works brilliantly across all devices!


RackForms 5.2 Feature Peek

RackForms 5.2 will be out shortly, and to help give you a quick look at what's new we've put together a quick feature tour of a fantastic addition to the SQL+ Automator. This handy new feature makes quick work of building database driven forms!


RackForms 5.1 Feature Tour

This was another big one, with significant updates to the code editor and overall code workflow, and a host of fixes and smaller UI changes.

See it in action with our Version 5.1 Tour!


RackForms 5 Feature Tour

We're proud to announce the upcoming availability of Build 803.

This is a big one, with updates to E-Commerce, Blocks, the Editor UI, and three great new headline features:

The Align Tool

Align fields on free form pages with ease! Simply lasso select a group of elements and click the align type you need. Super simple and ready to make your life easier!

Align Tool

The API Manager

The API Manager is our solution to the growing need for external resources in form projects. The basic idea is a new management page allows us to input and save API credentials for the various external systems RackForms can access. With these values entered, RackForms will now use those values when that system is required. This makes working with external systems completely transparent: enter once and build forms without ever thinking about those systems again!

API Manager

The History Manager

This is a great one: We're proud to be the first, and only, web-based form tool that allows you to undo and redo your actions!

History Manager

We currently support 25 levels of undo, which means you can create forms with confidence knowing that at any point you can revisit every decision made.

See all of this and more with our Build 803 Tour.


Build 796 Released

We're proud to announce the immediate availability of Build 796.

Key features in this release include an improved WordPress post manager, and more versatile styling options for full page E-Commerce invoices. Specifically, the WordPress post manager has a new, larger interface, and has gained the ability to write to WordPress page items. Previously we only wrote to 'post' items, so this new feature essentially opens up the RackForms interface to all of your WordPress content!

The E-Commerce invoices have gained the ability to be styled for inline embedding, and as a bonus these versions are now fully responsive. This means our invoice displays perfectly on all devices, from the largest desktop displays to phones.

As always this is a free update, head on over to the downloads section to grab your copy now!


Build 788 Demo - [Insert Clever Code Name Here]

Build 788 was released a few days ago, and while we may not have clever code names for these releases, we hope the feature set more than makes up for this omission!

Here's a comprehensive video that documents some of the great new features!


2 Minute Drill - The Power Of Automation

Here's a quick video illustrating the power of tokens to automate form processes.

The quick version is time and money are of the essence for any competitive IT organization, and tokens allow us to take what would be a time-consuming and error-prone process -- updating 20 event registration forms -- and turn it into a simple copy/replace operation.

This type of flexibility is without a doubt one of the hallmarks of the RackForms experience, I hope you enjoy the video!


Form Layout Options In RackForms

As far as I've seen, all other form tools are limited to a single layout mode, take it or leave it. Not so in RackForms. We've got 3 distinct layout modes that allow you to create just about any form design you can imagine. Having this flexibility is great, but we first need to know about each one. Let's take a quick tour of each:

Page Layout Mode

At the most basic level we have the core Page Layout mode, which can be Free Form or Sortable List. Free Form allows us to place elements anywhere on the page, Sortable stacks items on top of each other.

The RackForms editor makes it easy to create pages using either mode, denoted in the Add Elements area as +s for Sortable List, and +ff for Free Form:

Page Create Mode

Of course the current page layout mode can be changed any time via Page Properties > Page Layout:

Page Layout

Even better, the editor remembers your field positions when switching between the two modes, making experimentation safe and easy.

In fact, one technique I employ is to build large form jobs (more than 20 fields) using sortable mode first, then switch to free form when I'm done adding and naming elements. This is especially important as one trait all well-designed forms share is the ability to tab between fields in a sensible manner -- this is often called "tab order". This happens automatically when designing in sortable mode, as each elements tabs to the next item below it. However, in Free Form mode form elements can be arranged in any manner we choose, which means our tab order can become mixed between different visual elements.

The fix for this is to switch to sortable mode and drag the elements one after the other, going from top to bottom in the order we want the items to tab. Because RackForms always remembers field positions, when we switch back to Free Form our field positions return, only now the tab order is as our users would expect.

The key here is if we start designing in Sortable mode this switch is never needed. We'll add all elements in Sortable mode, only when done adding elements will we switch to free form and place our elements where needed.

Layout Buckets

Being able to position elements in a simple list or anywhere we choose is quite handy: but it gets better when we introduce Layout Buckets:

Layout Buckets

Put simply, a Layout Bucket lets us place a group of free form elements within a sortable layout:

Layout Bucket Example

I use these guys quite a bit, as they allow the simplicity of sortable mode, but the power of free form when needed. Layout Buckets are also incredibly powerful entities for a few other reasons:

First, they can be turned into Bucket Repeaters, which lets the forms users to copy the form fields contained within the Bucket at run time. Think of a Baseball team sign up form, where a coach adds an undetermined number of players to each team. For every player they add, they copy the Bucket Repeater which provides a new set of form elements to add that new player.

Second, Buckets make easy work of grouping element together for conditional logic. For example, a form may have a check box for including a users address. If checked we simply target the Bucket to automatically show all fields within.

The bottom line is Buckets make custom layout's easy, but also have loads of other users as well. I encourage you to experiment and see what else you can dream up!

Table Mode Layout

Finally, RackForms also supports a mode where we place elements in a two-column list:

Table Layout Mode

We enable this mode via: Form Style Properties > Enable Table Layout.

We have good bit of control here, from the column alignment, width, and margins:

Table Layout Mode Options

Table Layout mode is a great choice when vertical space is important, but as always, we can switch between all of these modes at will.

So those are the basic layout modes and design patterns: Free Form, Sortable, Table, and using Buckets. Between these modes we can create just about any look we can imagine -- or what the client demands!

Form Style Properties

The last topic I'd like to quickly touch on is the idea of page presentation -- that is, the controls we provide to style and present our form pages.

The bulk of the controls we'll regularly modify can be found under the Form Style Properties section of a selected pages' properties. For most users the most commonly used items will be:

Google Web Fonts - Here we can choose form a list of several dozen web fonts to apply to our form page. Web fonts are well-supported on most devices, and can do wonders for setting your form apart from the pack.

Center Form | Apply Box Shadow | User Border Radius | The Color Palette - I've grouped these items together, as when all selected, create the standard "full page form" look many users love. That is, We center the form page, apply a box shadow, and apply rounded corners. We then select a color palette for the form to top it all off!

Apply These Settings To All Pages - When you're done creating the perfect look for your form page you certainly don't want to have to repeat that process for all pages in your job. That's why this guy exists. Simply click the button to apply this pages style properties to all other pages in the job.


In our next post of this series we'll dive in a bit deeper and explore the various form element styling options. We'll also talk a bit about mobile style control.


Narrative Form Design

Let's face it: Filling out form can be boring, and if our business is to convert leads or gain new users this can be a kiss of death.

To help overcome such issues one neat trend in web form development has been the "narrative design" approach. Instead of blocks of form fields we present the user with a conversation, the information we need is in the form of gaps in the story. The key to creating these forms in RackForms is style and layout.


The style we use will be to strip away the standard form "chrome" browsers apply and leave only the absolute minimum of a visual guide. A quick way to achieve this is with this block of style code in your Page JavaScript/CSS Code Block:

  input { border:0px; border-bottom: 1px solid #85BC13 ; background-color:#edf7f2; }

This transforms the input fields into simple lines with no background color, which means they "blend" into the rest of our content.


The other big trick is to style the form such that the input fields acts as gaps in the story. This is possible in RackForms by using the Free Form Layout mode for each narrative page. Using this mode means we can position items in exact positions anywhere on the page, which leads to our final result. The original form is on top, the narrative version below.

Narrative Design Example

Please note we can load this job at any time via the Load Example Job menu:

Narrative Demo Job

So that's it. Quick and easy narrative forms to help push conversion rates higher!


Job Walk through - Stripe Paywall

As the Web matures and new standards for content delivery models emerge, and as workforces evolve and become less centralized, one emerging trend has been the content paywall. The basic idea is to place content on the publicly accessible web, but behind a paid content firewall. This ensures only valid/paid users have access to our content.

Such paywall models have always been complex development tasks and difficult to implement, but thanks to RackForms it's now a snap to set up and deploy your own paywall system.

In this Job Walk though video we'll look at implementing just such a paywall, and in the process see how easy it is to deploy complex logic in RackForms!


2 minute Drill - Easy Builder Forms

A new year means more great features for our users! Check out this video to see a great new feature for quickly creating forms that query a database!


Learning JavaScript Video Series

Get up to speed with core JavaScript, then check out part two for RackForms specific lessons.


So many features, So little time