Dynamic Forms

Quickbase News
Mar 17, 2006
7 Min Read

In the next major release of QuickBase, currently scheduled for late Spring or early Summer, we'll be introducing a feature we call Dynamic Forms.  This posting will give you a few details about this new feature but keep in mind that many of the details might be different by the time we actually release it.

Form Rules

We're making forms dynamic by allowing each form to have an associated set of "rules".   Here are a few examples of the kind of rules that will be allowed:

  • When Type is Fragile, show the section: Special Handling Instructions
  • When Status changes to Done, set Date Addressed to Today
  • When Priority changes to High, and Assigned to is Mary, display the message "Please inform Steve!"
  • When Status changes, change Previous Status to the value in the field Status

Every rule has 3 sections: a When section, an Additional Conditions section and an Action section.

In the When section you specify When the rule applies.  Currently we anticipate the choices here being:

  • when a field is a particular value
  • when a field is not a particular value
  • when a field changes
  • when a field changes to a particular value
  • when a field changes from a particular value
  • when the form loads
  • when the form is saved

In the Additional Conditions section, you'll be able to specify one or more conditions that must also be true in order for the rule to apply.  The choices here will probably be:

  • when a field is a particular value
  • is not a particular value
  • is greater than a particular value
  • is less than a particular value.

The Actions section will, of course, be the action to take when a rule applies.  Here the choices will include

  • changing a field to a particular value
  • changing a field to the value in another field
  • changing the field to a special value (like the 'current user' for user fields)
  • hiding a field or section
  • showing a field or section
  • making a field required
  • making a field not required
  • making a field read-only
  • making a field editable
  • displaying a message

It's important for the application designer to understand that these rules will run in the end-user's browser.  Suppose you have the following rule:

  • When Status changes to Done, set Date Addressed to Today

A user who brings up an edit record form and changes the Status field to Done will actually see the Date Addressed field change to today's date.  But nothing is saved until the end-user saves the record.  It's just the same as if he/she had typed today's date into the Date Addressed field.

Live Formulas and Lookups

Besides form rules, there's one additional new feature that will be part of dynamic forms.  Any lookup or formula fields that are included on an edit form will automatically recalculate on the form when any of the fields that they depend on are changed.  Today you probably don't include formula and lookup fields on your edit record forms because of the likelihood that they will show stale information.

For instance, suppose you have a formula field for Full Name which is a concatention of First Name and Last Name.  If you have a form with all three fields on it, then when an end-user changes First Name or Last Name, Full Name will update.  What the end-user will actually see upon changing say, First Name, is that the text for the Full Name field will appear with a strike-thru.  This happens client-side (in the browser).  Then the browser sends a background request to the QuickBase server, to get the updated value.  When the value is received, the screen is updated and the strike-thru goes away.

Live formulas and lookup fields will just work - you won't have to do anything to enable them.

Not Doings

A couple of things we most likely are not doing for this release:

  • form rules based on formulas and lookups - in other words, you won't be able to make a rule that says: when formulaX changes to Y, change A to B.  While this would be very powerful, it's a bit too hard to fit into the time we have for this release.
  • dynamic drop-downs - this is the oft-requested feature where the contents of one drop-down change depending on the value of another field.  It won't make it into this release but getting the basic rules structure in place moves us a step closer.

Last Words

Let us know what you think.  While we can't promise that we'll be able to incorporate every suggestion into version 1, your comments are very important for helping us determine the direction we go with this powerful new extension to QuickBase functionality.

Recomended Posts