Save historic details that are not String

Hello everyone,

I’m working with Camunda 7.5 and MariaDB and my focus is to get the data inserted with a form.
I’ve saw that the historic details are what i’m looking for and they works good if the data of interest are of type String or Date. I’ve tried to insert some boolean or long values but in the table ACT_HI_DETAIL them were not saved. I’ve even tried to access to historic details with the REST call

GET /history/detail?formField=true

but I still can’t find them.
Where I’m wrong? Is there another table where Camunda saves all the data inserted by a form?

Thanks in advance.
Daniele

Hi @Daniele_Salvatore,

Yes, only String values are stored in the table ACT_HI_DETAIL in case of submitting a form, see therefore 1.

Cheers,
Roman

1 Like

So how can I get the integer or boolean parameters inserted? Must I pass them as String and cast them in a JavaDelegate? Or is there another way?

Hi @Daniele_Salvatore,

The table ACT_HI_DETAIL stores all kind of variables updates that happened. So when you submit a form, then the passed variable changes are also stored as VariableUpdate in the table ACT_HI_DETAIL independent from the type. Maybe you could try to fetch them instead of the details of type FormProperty?

What is your use case? Why do you need them?

Cheers,
Roman

Hi @roman.smirnov,

my idea is to make a REST call passing the activity instance id or the task id and I want to get back the parameters inserted by the task’s form. A use case could be this

At the end of the workflow you can know which path is taken but you want to know why. So you want to know the value inserted as A and B (that are two boolean values). Both A and B doesn’t exists before their relative task so, as I understand it, them are not stored as VariableUpdate (anyhow in my ACT_HI_DETAIL table there are only “FormProperty” values in the TYPE_ column).

During my tests I’ve also created a workflow with only two user tasks. With the first one the user can insert two variables: a string and a long. The second task allow the user to update those variables. At the end of the execution of this workflow in the table only the string variable is stored (with the last given value) and the TYPE_ value is “FormProperty”.

My history level is setted to AUDIT and this may be the reason why VariableUpdate are not saved, but I can’t understand why the long variable is not saved even as FormProperty.

Cheers,
Daniele

Hi @roman.smirnov,

do you have any news about my issue? I’m still waiting for a solution.

Cheers,
Daniele.

Hi @Daniele_Salvatore,

Sorry, I have overseen your answer.

Yes, this is the reason why variable updates are not saved.

The reason is, that only string values are stored as a form property.

Is it possible for you to set the history level to FULL?

Cheers,
Roman

Thanks a lot @roman.smirnov,

with the history level setted to FULL the engine saves all the inserted variables. I still can’t understand why only the string variables are saved if the history level is setted to AUDIT, but at least I’ve got the informations I’m looking for.

Cheers,
Daniele.