WorkflowFirst v4 now available! - WorkflowFirst

WorkflowFirst v4 now available!

We're pleased to announce the general release of WorkflowFirst v4! The fourth release of WorkflowFirst is packed with new features and marks some major enhancements to the user interface, including movable pop-up forms, inline buttons, and tile views. It also now comes with a full CRM and asset management system for you to customize (Pro and cloud only). Find the installation instructions below and as always we welcome any feedback you have!

Changes for WorkflowFirst v4.0 (Build
Release Date: Dec 7th 2017
Install as a hotfix, id "wff4".
Installation instructions click here

Major Features

WorkflowFirst now comes with two commercial applications as samples for you to customize: AssignCRM (a full-featured sales CRM with email management) and AssetChief (for facility and asset management). You can install these by clicking the "Install Application and Customize" button on the Applications tab. Only available for Professional and Cloud versions.

Actions and most forms now pop-up over the page, instead of changing page. This is the default for new actions, but can be configured through the Pop-Up option on the action settings. A similar option is available on workflow stages.

Pop-up action forms can be dragged (moved) around the screen. Just drag any white area of the form.

You can now set Auto-Submit on actions (including multi-selection actions) so they will submit without having to click OK.

Actions can now be set as "Inline", which shows them as buttons in the actual row of the list. When combined with pop-up, auto-submit actions this can create a huge productivity benefit. An example of this is the "Include" button displayed in the Sync tab of AssignCRM, as described here.

Most actions now apply updates inline once the action completes, without refreshing the whole page, making updates appear more streamlined.

We now support Tile Views as Custom Views. The Tile View lets you specify a custom view HTML file that will show as a small tile for each record. The tile can be clicked to bring up the full record. An example of a tile view can be seen in AssignCRM's GAIM view.

Change Management now has an optional "Visible Condition" that controls under what condition the Update and Remove buttons will be visible.

Change Management now works without a "Role To Authorize" set, so it can be used as a way to allow conditional updating instead.

Other UI Changes

The look of the record view has been updated so that fields are now boxed (with borders) even when viewing the record.

The responsive layout has been improved. It now properly supports up to 1600 pixel wide screens.

The selector icon size has been increased.

The Kiosk interface has been optimized for use on a phone-sized display.

The kiosk now supports the webcam for fields called Picture or Photo of a file type. It will automatically show a webcam allowing the user to take a selfie. To try out, go to kiosk.aspx in your application.

If you add the field _KioskActions to the user record, then this can contain a comma separated list of actions the user will be able to access from the kiosk screen, if you do not wish the user to access all actions. This can be useful for guests using the kiosk interface.

We now only show the create icon ("+") on lists, no longer on records.

The Calendar view (in Features) now has an option for being the default view.

Link fields that are set to read only now render correctly.

A new flag "Read Only On Edit" has been provided that will allow a field to be edited when inserted, but will appear as read only when edited after that.

If you set a field in a Quick Report to link to the edit screen, it will now show as a pop-up editor.

Quick Reports renditions now include options for Line Height and X/Y Padding.


The POP3 email functions have been greatly improved. They now support multiple encodings (including Chinese), and are now a lot more performant.

We now support OAuth 2.0 in DbfScript! New DbfScript functions WebServiceAuth and WebServiceGet allow you to interact with OAuth 2.0 services such as Google and Facebook.

A new function path:MergePredicates will add the predicates from the second parameter to the path predicates in the first parameter.

New DbfScript functions: FromXmlDate(string), ToXmlDate(dt) for XML formatted dates

New DbfScript function AddHours(date, hours).

The DbfScript function FormatNumber can now take a format such as x16 to convert to hexadecimal, or x2 to convert to binary.

The DbfScript function math:RollBits(val, shift, bitSize) now works correctly for all bit sizes. This function is useful for obfuscating numbers.

New DbfScript function LastDayOfMonth(date) returns the last date of the month (as a date).

The EMailUsersEx function(s) will now send as plain text if the body starts with ^. Usually it sends as HTML format.

New DbfScript function EMailUsersFromEx(users, subject, body, attachments, fromOverride) lets you override the user the email will be sent from (specified in fromOverride). In the hosted environment this will only work if the From Email is set on the Configuration tab, which must be for's cloud system.

The str:StripOutHtml(text) now does a much better job of extracting plain text out of HTML text.


Change events that are set to use throttling and that are set to run Async will now run in parallel (if multiple different events are raised), using multiple-threads and CPU cores for performance. Note that while this can improve performance, in certain circumstances this may increase the possibility of deadlocks with competing threads. Please test thoroughly before rolling such a change out to production.

The new Kanban view has been extended to allow up to 100 categories, up from the previous 20.

A new "Manual Progress" option has been added to workflow stages that allows the developer to control whether the workflow progresses to the next stage or not, by invoking removal and addition of assignments in script.

The Kanban view now supports link fields as Secondary Fields.

Visible Conditions on workflow stages can now include DbfScript expressions.

You can now hide the Add Org Units actions that were previously added automatically by multi-tenancy, if they are instead controlled by the application.

Mandatory fields are no longer indicated in the Find form.

Static fields can now be updated in inline change events. You can also use HTML to update the static field.

Inline changes are now applied when dropdown items are selected, not when the dropdown field loses focus.

Custom Views now have a new "Query Condition", which are predicate field/values that can optionally be applied to the data being viewed.

Inline Change events can now update rich edit boxes. Previously they could not.

The Inline Change event is no longer processed on search (Find) forms.

Inline Change Events can now (once again) access parent forms' fields with #input/AllValues. This was accidentally broken in the last release.

The Configuration tab is now inserted and setup automatically when the application first starts, if it hasn't been added manually.

Workflow stages with Assignment Scripts set will now be visible only to those users who are assigned to that stage. Previously anyone with the same role could see and act on the button.

Assignment filter roles (Assigned XXX roles) now now be applied by default. This means that only records where the user created or participated in the worklfow of the record will be visible to that user. To do this, go to the type, go to Features / Assignment Options and set Apply by Default to Yes.

Fix to "Default If Role" in Filters, where it would fail if the role had a space in it.

The image:OCR function has been fixed to work properly with Tesseract.

Fix to the System Log event where an error woud occur if the path was too large.

Fix for an issue where the user can click in a read only field and it would be sent as an update to the server.

A problem was fixed with importing and exporting extra large XML files.


Various fixes for multi-tenancy for role-based assignments in a specific tenancy.

For security reasons, API access is now disabled for guest accounts for applications running in web mode.

New DbfScript functions security:IsMultiTenancy() returns true if running in multi-tenancy.

New DbfScript function security:IsElevated() returns true if it's currently running in "elevate on" mode.

DescribePath(path) now includes the names of records in the path that you wouldn't have permission to view. Any scripting should take care to ensure the user has the necessary permissions before using this function if it may disclose anything sensitive.

For security reasons we no longer allow filter fields specified in the URL if those fields are not in the find form.

New DbfScript function domain:UnlockUser(domain, user, password, domainAdminUser, domainAdminPassword) can be used to unlock a locked AD account.

A new setting on security Roles called "Default If Admin" will apply the role by default even if the user is admin. Previously administrators would not have any default roles applied. Multi-tenancy roles are automatically applied to administrators for security reasons.

Admin Tools scripts previously ignored all security. Now they honor all security permissions.


A fix was made for a database error when searching using multiple subref predicates.

To help diagnose database problems, you can now use the function debug:LogDatabase(true) to enable logging (in systemlog.aspx) of all queries sent to the database in that session. It can then be disabled with debug:LogDatabase(false). You can, for example, paste the SQL query into SQL Management Studio to see the execution plan, to ensure the database is optimized.

Several important database performance enhancements have been made. Specifically the way certain indexes are created have been changed to fix an issue related to types that are re-used across the system, where the datbase would not use the index. Also foreign key constraints are no longer added to the database as they were not used and just added unnecessary overhead and complexity to the upgrade process.

An issue related to the "Show Count Filter" feature in subforms that caused an unexpected database query when clicking "Create New" has been fixed.

Please note: As of October 2017, RiaForm Technology changed its name to WorkflowFirst LLC.

Web Analytics