Storing Files with Camunda 8

Hi community!

We are playing around with Camunda 8 and would like to ask if there are best practices how to handle files if they appear as part of the process.

Scenario 1:
There is a custom user form where a user should attach some files as part of an application to submit them and process is responsible to save them in the required cloud storage.

Scenario 2:
There is a file in one storage which is generic or operated by a specific application and we have to place it into another storage for specific processing. And we want to use a connector here.

In both scenarios a file becomes a part of process variable.

  1. We are limited in file size as the whole instance should not be more than 4MB including all the variables.
  2. If we have many process instances the total amount of storage used by the engine (running instances) / elastic (history) grows rapidly.

Any advises, articles, discussions are welcomed.

1 Like

Hi @alexeib

I had a similar use case.
I did not upload a file via a task but created a PDF during the process. You will probably have to build your own interface for the file upload.

You can then convert the corresponding file to base64, for example, and save it in your process. However, it often makes no sense to save the file as a variable during the entire process. It is better to store it in a database or cloud storage and retrieve it when needed.

While I was implementing this, there was no connector that saved files. I implemented my own job worker for this, which uses the Microsoft Graph API to create the corresponding folder path and store the file.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.