Thursday, February 25, 2010

Want to make Caspio forms dynamic? Scripting is the way.

Caspio is positioned as a solution for building powerful web database applications and forms without programming. But why in the majority of cases when the user wants to add some dynamic behavior to the form he must use JavaScript?

I'd like to thank Frank Zamani for help and detailed answer about dynamic capabilities of Caspio Bridge.

Most features in Caspio-powered forms configured at design time and forms usually don't change behavior no matter how the user at run time acts. However, there are areas where behavior is dynamic:

Cascading dropdowns and listboxes, where the options in each field of the group depends on what is selected in the parent field can be implemented without programming. More details here.

Unfortunately, in all cases dynamic forms must be handled by JavaScript.
"Dynamic displaying/hiding or requiring fields is currently handled by JavaScript. That’s about to change as we will bring more of these options right into the platform."

Well until this happens, I think dynamic behavior capabilities of data entry forms в Caspio Bridge are pretty limited except dependent dropdown.

Wednesday, February 24, 2010

Zoho Creator can make forms dynamic. Get ready to script.

Wanna add some dynamics to your Zoho Creator forms? Then get ready to master Deluge Script first.

First of all I'd like to thank Latha from Zoho Creator support for the detailed answer and sample application.
"Zoho Creator can perform the functions you mentioned in your blog like Hide/show field values based on values in other fields, change the value of a field based on value selected in another field, validate field values, make read only values etc. by adding Deluge Script."

I'd like to make several examples of how Deluge Script looks implementing all above mentioned actions.

Сustom validation of form data:


Modify form contents dynamically, on form load:


Perform an action after a form data is persisted (for example, send email notification):


Perform field actions (like show/hide fields based on value selected in another field):


Display items in a dropdown based on selection made in another dropdown:


Conclusions:

Well, Zoho Creator makes forms really dynamic and the flexibility you get can surpass other systems, but just in case you are capable of Deluge Scripting. I think, the main peculiarity (or problem?) of Zoho Creator is the fact the user can't do a thing without Deluge Script. Of course, you can do a lot of stuff with it, but unfortunately there is no golden mean option.

Thursday, February 18, 2010

TeamDesk forms can be dynamic.

In case you'd like to make your forms dynamic in TeamDesk two features are available for this: form behavior and dynamic calculation.

Form behavior allows us to control column behavior in forms. You can specify the condition and the set of changes to apply to the form's columns when the condition is met. It's possible to show/hide column on "view" form and hide, make read-only, editable or required on "edit/add" form.


TeamDesk tracks when column used in the criteria formula changes its value and dynamically applies changes on affected columns in the form.

You can check the peculiarities of the implementation here.

The second opportunity to add some dynamics in TeamDesk is dynamic calculation. Any data column in TeamDesk has "Default/Calculate" property where you can write the formula that will work not only when new record is created, but also when any column used in the formula changes its value.


The details of its implementation one can specify here.

Conclusions:

TeamDesk can make your forms dynamic. I really like that form behavior is not attached to any specific form and at the same time works for all forms set for the table in a view mode, as well as in edit mode. It's also good that system handles dependencies automatically (even though in the very beginning it takes some effort to understand that), so if you use [A]+[B] formula as "default/calculate" value in [C] column, system will automatically recalculate [C] if [A] or [B] changed by user on the screen.

There are also some peculiarities and limitations in TeamDesk I'd like to outline.

Calculations and form behavior in the system are done on the web server, not in a user's browser and it causes a little delay. I think here some visual feedback can solve the issue (in order to show wich columns will be affected).

Please note also what form sections and detail views can’t be controlled by form behavior or other way dynamically.

Monday, February 15, 2010

Keep in mind specifics of QuickBase form rules.

In Quickbase your forms can behave differently based on specific conditions. You set the condition and tell system what action (or actions) to perform.

Let's check how QuickBase funciotns. Each rule contains 2 parts: conditions and actions are to be done, when the condition is true.

QuickBase supports following variants of conditions:

  • Field condition (for example, when the Status field is "completed.")

  • When the record is opened/saved.

  • When current user has definite role.


There is also a possibility to set multiple conditions in case the user needs to check several conditions.


Within the Action section, tell QuickBase what you want the program do when data in the form meets your condition(s).

Quickbase supports such variants of actions:

  • change a field to a particular value or the value in another field

  • hide/show a field or section

  • make a field required or not required

  • make a field read-only or editable

  • display a message


You can combine multiple actions in one rule if needed.

In case you'd like to specify the peculiarities of the implementation you can check it here. There is also a real life example of the setup and one can see it here.

Conclusions:

Quickbase form rules work well and really allow implementing everything in a pretty simple way. There are some peculiarities though I'd like to specify.

Quickbase form rules run in a user's browser and within data-entry FORMS only, not in grid-edit. So, if you try to implement any business logic with its help, don't forget to turn off spreadsheet-like editing of the report.

Maybe it's just me, but the setup when two or more form rules show or hide the same element looks a bit complicated (you should combine them into one rule, using the Multiple Conditions selection).

In case you have different forms for different kinds of users be ready to create form rules in each form and support its consistancy as each form has its own set of rules.

Tuesday, February 9, 2010

Let's check the situation with some dynamics in forms. Can users count on it?

I am about to test the ability of web based systems to control column behavior depending on data in other columns. For example, such options as hide, show, mark as required or change column value when some condition on other columns are met.

So, lets find out the peculiarities of such functionality in Quickbase, Caspio, TeamDesk, DabbleDB, TrackVia and Zoho Creator. We'll try to look into the specifics of its implementation and if there is such possibility at all.

Update

Sabina Iseli-Otto from Dabble DB:
"Well, you get a short answer from us: we don't support dynamic column behaviour at all."

Update2

Matt Strenz from TrackVia:
"The ability to have dynamic data entry forms that will show different fields or options based off results in another is not something that is currently available in TrackVia but this is on our roadmap of enhancements to make in the future. We’ve done this at no cost to customers on a case-by-case basis for Website Forms."