Business Process Flow

From Resco's Wiki
Jump to navigation Jump to search
Dataverse/Dynamics

This article is about mirroring business process flows from Dataverse in Resco mobile apps. For information about defining client process flows without any backend dependency, see Process.

In Dataverse/Dynamics, business process flow (BPF) is a streamlined user experience that leads people through the processes of their organization. This feature defines a set of steps for mobile users to follow to fill in entity form in a proper manner.

You’re able to define a set of stages and steps that are then displayed in a control at the top of the form. Each stage contains a group of steps. Each step represents a column where data can be entered. You’re also able to set values for fields (columns) that are not present in the entity form in Woodford, only present in BPF component.

You can configure your Resco app project to make the process flows defined in Dataverse available in your Resco mobile apps.

Configure in Woodford

  1. Select Process Flow from the Project menu of Woodford to enable business process flows in your app projects.
  2. Check the process flows that you want to enable.
  3. Click Validate Process to verify that the entity fields used by the process are enabled in your mobile projects; or click Validate All Processes to perform the check for all processes.
  4. If the check shows errors (a list of unavailable fields), click Enable Process Fields to enable them.
  5. When the Report column shows OK for all processes that you want to use, click Save.

Required fields

The Validate Process function described in the previous section allows you to check for fields that need to be enabled in mobile projects. Additionally, make sure that all fields required in a certain stage are available on the stage form so that mobile users can fill them.

Additional business logic

By default, business process flows are not compatible with client-side business logic in Resco mobile apps (i.e., rules or Resco JavaScript Bridge). For example, changes in the business process flow forms in the app do not trigger any On Change events. However, if you need to finetune your flows with client-side logic:

  1. Edit your app project in Woodford.
  2. Select Configuration from the Project menu.
  3. On the Dynamics tab, set Trigger events on Business Process Flow changes to true.
  4. Save all changes.

This setting allows you to use JSBridge to modify the flow behavior. Rules in Dataverse (form rules or defined in BPF) and rules in Woodford are fully ignored when dealing with BPF fields in Resco mobile apps.

Conditional branching

In more complex scenarios, you can create a BPF with branching. The branching condition can be formed of multiple logical expressions by using the If-Else logic. Branching rules must be based on the steps in the stage that immediately precedes them.

This logic is defined on Dataverse but fully supported in Resco, even in offline mode. For example, there is a different BPF stage displayed for a mobile client based on entered City data:

alr=Bussiness Process Flow: Conditional branching

Use in the app

In the Resco Mobile CRM app, the business process flows are visualized as an additional tab, where it can be followed.

Business Process Flow:BPF in the app

Localization

See how to localize the strings.

Offline mode

Offline mode is supported for single-entity business process flows.

Limitations

Only BPF workflows with the following properties are supported:

  • Business Process Type set to "Business Flow"
  • Renderer Type set to "none"
Workflows with other settings are not displayed in Woodford and cannot be enabled.

Mobile CRM app mirrors the behavior of BPF within Dataverse environment, however, the implementation has some limitations. The following functions are not supported and may cause problems:

  • Concurrent BPF - multiple processes to run concurrently against the same record
  • Cross-entity BPFs
  • BPF with business rules (rules on Dataverse form/BPF step/in Woodford)

Business process flows are not supported in the web app.

See also