Activities and Tasks: history population

I want to retrieve all the Activities of a Process and its subprocesses to return a summary of them (id, dates, status,…). I was going to use HistoricActivityInstanceQuery to retrieve all the activities but I’m seeing this query builder is not providing a way to retrieve the activities with a provided parent process instance ID. My first question is if this is on purpose or if it’s just a feature not implemented?

On the other hand, in the HistoricTaskInstanceQuery this feature is provided by the builder, but I’d only be able to retrieve Tasks, not other kind of activities. And digging into it, I’ve seen that the History of Tasks includes both active and finished Tasks, and some questions I have then:

  • At what moment is History populated? Can I assume any running Task is already in the History?
  • Does the HistoryActivity work in the same way as the HistoryTask or do I need to query activities with the HistoryService and the RuntimeService?