-
Notifications
You must be signed in to change notification settings - Fork 0
AnA03RFPerformanceCompanyView
TWiki>
LibrePlan Web>AnA03RFPerformanceCompanyView (20 Aug 2012, ManuelRego)EditAttach
| Story summary | Performance Improve in Company View |
| Iteration | AnA03PerformanceTuning |
| FEA | AnA03RFPerformanceCompanyView |
| Story Lead | |
| Next Story | |
| Passed acceptance test | No |
Now to calculate the advance for an order it is needed to do the following steps:
- To load all the tasks recursively of the root
TaskContainerwhich represents an order. - For each task get the
ResourceAllocationsof the task. - For each
ResourceAllocationload theDayAssigmentand sum the hours of all of them.
This provokes that at company view all the DayAssigments for all the orders are loaded. This has a big impact of performance.
The solution to this is to have these quantities calculated at each TaskElement. TaskContainers do not have resource allocation, but they will have stored and calculated the sum of hours allocated to all their descendants tasks.
It will be needed to add one field to the TaskElement. It will be:
- sumOfHoursAllocated
The field will be updated on saving the planning for an order.
This task consists of creating a snapshot, strategy used in LibrePlan to load data or have precalculated things in memory. So, this task consists of creating an object with the data used by the graphic.
The snapshot will be recalculated when the following entities change:
- Calendars.
- Resources. Really it is only needed when it changes the calendar and the activation period.
- Tasks.
OscarGonzalez to explanation about snapshot.
Copyright (c) by the contributing authors. All material on this collaboration platform is the property of the contributing authors.