I am trying to build an application wherein users can login and work on data entry tasks. As a user you would need to update a set of fields and then click on a button to indicate completion of a task and then move to the next data entry task. The task will need to be timed so that you can know how long a user takes to complete a certain data entry task. The user can also go on a break or multiple breaks when he/she is on a task and therefore the break times also will need to be calculated so that you can find out the time the user takes to complete the task(total time- break times) I was just wondering how I can achieve something like this and what the domain model should look like?
The community commons has some timing actions (time measured start and end). So I would create a log entity for each task that log all start en stop times. You probably could automate the start time when the user open the task in edit mode, but I would create a pause button so the user can pause the task.
You could even use an onchangemicroflow on each entity that checks if the status of the task is paused so you can warn the user about the status or just automaticly set it in the running status.
You only need to add all the timing logs together to get the total time.