<-- Back

Navigating between user tasks of different workflows using a datasource nanoflow: Contact your system administrator error

Issue

When navigating between user tasks that belong to different workflows, a Contact your system administrator error occurs.

The application uses a snippet similar to Snip_Workflow_CommentsAndAttachments from the Workflow Commons module.

The error occurs during programmatic navigation between user tasks of different workflows. Closing and reopening the page temporarily resolves the issue, but the error reappears upon the next navigation.

Environment

Workflow Commons module

Cause

The issue is caused by the DS_Workflow_TimelineViewer datasource nanoflow in the Workflow Commons module. Access to a System.Workflow object is available only when at least one In Progress user task within the workflow is assigned or targeted.

When a task is completed, the workflow engine creates the next task asynchronously. If the next task belongs to a different workflow, a short time window exists where:

  • The previous task is completed
  • The next task is not yet created or assigned
  • Access to the System.Workflow object is temporarily removed

During this transition, the DS_Workflow_TimelineViewer nanoflow is triggered on the client. Because nanoflows execute immediately on the client side, the workflow object is temporarily inaccessible.

When the nanoflow attempts to access or update the TimelineViewer_Workflow association, a security exception occurs. This results in the Contact your system administrator error.

This behavior is caused by the interaction between:

  • Workflow security on the System.Workflow entity
  • Asynchronous workflow task creation
  • Client-side execution of datasource nanoflows

This is expected behavior. The workflow continues processing correctly. Mendix has not identified a platform defect and does not plan changes to the Mendix runtime.

Solution / Workaround

Convert the datasource nanoflow to a microflow to prevent the error during workflow transitions.

A microflow executes on the server and only updates the client after processing is complete. This prevents exposure of the temporary state where the System.Workflow object is inaccessible.

Steps

To convert the datasource nanoflow to a microflow, follow these steps:

  1. Open the DS_Workflow_TimelineViewer nanoflow in the Workflow Commons module.
  2. Right-click the nanoflow.
  3. Select Convert to microflow.
  4. Save the changes.
  5. Redeploy the application.

After this change, the datasource runs server-side and no longer triggers a client-side security exception during workflow transitions between different workflows.

Internal information related

  • 278642
  • C014CARM7LK/p1779265294022469

Additional information

Mendix documentation:

Have more questions? Submit a request

0 Comments

Article is closed for comments.

To provide feedback, please open a ticket here. Don't forget to include the article's URL along with the feedback you would like to provide.