Saving of Variables in History tables of the Database

Hello,

I am trying to model a chat from the user Tasks Input for a Project I am working on. After reading the database documentation it states that ;

" ACT_HI_*: HI stands for history. These are the tables that contain historical data such as past process instances, variables, tasks, etc. "

Do these tables also save the variables themselves?

More concretely, is it possible to access the exact strings that a user Inputs into the different Tasks?

Can I get more documentation on how the database works etc?

Hi,

Good starting points to discover the capabilites of Camunda’s history API are:

Given you use the right history level, Camunda persists all process or task variables and their values.

In general, I can encourage you to write tests using the Java API to understand what the APIs provide and what not.

Cheers,
Thorben

1 Like

Thank you so much for your help.

I have spent some time looking at the history level documention, I had a few questions as the documentation is not specific. For the FULL history level, are all the intermediate values of the process variables updated at every process instance as in AUDIT? i.e. Would I be able to have access to prior process variables of a different process instance at any process instance?

Or should a custom history level be implemented if I want to access all the intermediate process variables of a particular process instances?

Yes, that is what the docs are trying to convey.

for the FULL history level?

Not sure I am getting your question. In the screenshot you made it says:

FULL: […] writes historic variable updates to the database. This makes it possible to inspect the intermediate values […].

Yes you can access the intermediate values in that process instance.

But after that are these intermediate values deleted as in the AUDIT history level?

No, with history level FULL, you have access to all intermediate values even when the process instance is ended. I.e. you can go back in time inspect previous variable values.

Okay sounds great :slight_smile: thank you for the clarification.