Background of the problem:
In application that i am developing we are performing certain statistical and usage calculations based on the tasks that user has completed or not. Based on the scores we are able to suggest user certain behavior (tasks to complete) in order to improve their score in the future. One of the requirements is that user shall be able to request system with demo/test data in order to test/play with it.
Problem:
Staging data in Activiti by importing processes, tasks that have been created and are completed in the past (a year, a month ago) or are in progress? Important to note this is multi-tenant production environment.
What I have found so far… but is not really the great solution.
What i have found is that you can get the clock from the process engine configuration ( ((ProcessEngineImpl) processEngine).getProcessEngineConfiguration().getClock() ) and set current time to the past time and perform process deployment/task actions. Unfortunately, that would mean i would have to put system into maintenance mode (log out all logged in users, and not allow login) for a period when i am staging the data.
Do you know any better way to stage data that would look as if some of it happened in the past?
Thank you!