Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column

There are many paths to Rome.... frevvo suggests the following best practices for managing your tenants, applications, forms and flows.


Column
width400px
Table of Contents
maxLevel3


...

Some changes have little to no impact on your in-flight forms and tasks, but other changes can significantly affect, or even break, workflows that are in progress. 

"Safe" Changes

Usually, it is safe to:

  • Move controls (except for moving controls in to/out of sections, tables, and repeats)
  • Change control, form, or workflow style properties.
  • Change control Labels and selection control option Labels
  • Edit Messages, email subjects, and email messages (such as for task notifications and doc actions.)

...

These changes can impact the forms form's schema and routing, and thereby may impact forms and workflows that are in - progress.

  • Changing a control Name or a selection control Option Value when that control is referenced in business rules, preconditions, and/or task assignments.
    • For example, let's say you change a control name and then perform a pending task for that workflow from your task list. The data entered into the workflow on the prior form version will not display in the task with the renamed control.
  • Move a control inside a section, repeat or table.
    • Similar to the above example, data from tasks performed before the change may not appear on tasks performed after the change.
  • Adding, removing or changing controls inside a signed section - this will invalidate signatures on sections that have already been signed, including completed forms/workflows that are edited from the Submission repository.
  • Making a control required that was previously optional.
  • Adding steps with required fields.
  • Update the database (or google sheet, or 3rd party system) supplying data for dynamic select control options on form.[load,activate]. Any task performed from the task list that had an option set that was deleted or changed (for example, to fix a typo) from the database displays the control as blank again and required if that was the default. If you're on a workflow step where these fields are now disabled, such as an approval step, you need to reject back to the user of that prior task to re-enter the data.

  • This same behavior occurs if you change selection control option values.

  • Adding or changing a precondition; there is a pending task and the designer adds a precondition that resolves to false for that step (so it should be skipped), when the users attempts to perform it they will immediately see the pending message for the following step.
  • Changing a single field to a repeat, or vice versa.
  • PDF Mapping - if you update the template, field mapping may be impacted.

...

Follow these steps to identify and modify tasks that may be impacted before you update the production workflow.

  1. Optional: Set the Who can start the workflow? permission to "Designer/Owner Only" to prevent new submissions while you take the following steps.
  2. Search the Task List (as Workflow or Tenant Admin) for Pending tasks in this workflow. You can also filter by date, user, etc.
    1. You may also want to search the Submissions Repository for tasks that are pending. Tasks that are pending, but the "Locked By" column is empty, are pending for an email/anonymous user.
    2. Review the audit trail of each task to see how far along it is in the workflow.
      1. Tasks that are near the end may be able to be pushed through to completion (by communicating with, or logging in as, their assigned user.)
      2. For tasks that are pending for an email or earlier in the workflow, you may choose to modify the task and reset it back to Step 1. Tasks on Step 1 can be edited by the Step 1 user to ensure they meet the updated workflow's validation (required controls, etc.), and that user can click Continue to send it forward as usual.
  3. Once all pending tasks have either been completed or returned to Step 1, you can upload/replace your development workflow into the production project.
  4. If you changed the workflow permissions, change them back to their original state.
  5. Follow up with the users of modified tasks and/or login as those users to resubmit the existing tasks. You may also need to communicate with email users and ask them to perform their most recent task notification and ignore the prior one.

...

One example is a customer who had a production workflow but wanted to update it to use the frevvo Database Connector. Instead of updating the production workflow, they duplicated it and made the changes on the copy. Then, on the original workflow they restricted the Who Can Start the Workflow to designer/owner only, and updated their Space links with the new workflow. Those users who were still in progress on the old flow were still able to perform their tasks and never knew there was a difference, while any new users started on the new workflow.

Migrating a v7.4 or earlier Email Step to v8+ Email Assignment

Workflows built in v7.4 or earlier that have a step performed by an external/anonymous user were configured with an anonymous email step. Starting in v8, the email step is deprecated and you may now assign a step directly to an email address, similar to how you assign it to a User or Role. The anonymous email step has backward compatibility and continues to work, but will be retired in a future release. Additionally, there are many benefits to the Email Assignment such as the ability to reject back to the step assigned to email. Please follow these steps and review the cautions below to migrate your v7.4 and earlier email steps to v8+ email assignments.

  1. Download production workflow
  2. Upload to designer user
  3. Copy any details from the anonymous email step, such as subject, message, etc. to a text editor.
  4. Edit the step below the anonymous email step. Assign the step to the same email address or template, and paste details copied from the anonymous email step such as subject, message, etc.
  5. Delete the anonymous email step.
  6. Download the workflow from the designer user.
  7. IMPORTANT: IN PRODUCTION Move any tasks that are currently on the email step by either resetting them to a prior, non-email step or sending them forward. Do this BEFORE step 8!

    Warning

    Workflow instances that have a pending task on the anonymous email step when the workflow is updated to use email assignment will be hung in the WAITING state and cannot be reset to another step.

    If a user has clicked the link to perform the step but has not yet submitted it at the time the workflow is updated, they may still submit the step. Prior steps already performed by anonymous users are not affected by the workflow update.

  8. Upload/Replace workflow in production user.

You may edit submissions that were submitted with the old anonymous email step after updating the workflow to use the new email assignment step.

Form/Flow designer edit ACL

The Access Control feature in allows the designer to assign other users permission to make changes to forms and flows.

Warning

The ability to edit a Form/Flow should not be given to other users if the form/flow is in production. Giving this permission would enable those users to edit your production forms directly thereby subverting the best practices described in this guide.

Multi-Tenant Scenario

Development Tenant

...