Tuning the access to allocation data in LibrePlan

Allocations of resources to projects and tasks are probably the most complex information we have in LibrePlan. There are multiple types of allocations, many related entities and a high granularity, which basically means there are a lot of data and queries are complex. At the same time, these data are very valuable to see the state of the company, for example through the different resource load charts.

We have been working on a custom model to provide a more direct, faster access to these data. As you could expect, it is a really simple model: there is one row per resource or criterion and task, which will contain all the corresponding time allocated to that resource/task or criterion/task pair. To be able to have every pair in a single row, the allocation information is stored in a serialized array. There is also another row to store all the allocation information for every resource or criterion, to prevent having to retrieve more than one row to get the global allocation information of a resource or criterion. Of course, there is a lot of duplicated or redundant information in this model, but it’s done for the sake of performance.

With all these elements in place, building the resource load screen becomes easier, and what’s more important, a lot faster: our tests with 1000 tasks and 50 projects revealed that the time to build the global resource load diagram decreased from 30 seconds to only 2 seconds in average. It’s more than ten times faster!

There are still challenges that have to be beaten before these improvements can reach a production release, the most important one is keeping the new data model synchronized and updated. Until then, anybody can play with the new code in the branch resource-load-performance.

LibrePlan 1.3 in figures

Finally LibrePlan 1.3 is published! A lot of effort was put on this release, to make it the best LibrePlan ever… and maybe the most complete web planning tool available now.

My workmate Manuel Rego published an interesting post with figures about LibrePlan development when we took the application out from beta state and started doing periodical releases. One year and a half later, with three major releases since then, it’s a good idea to update those figures. Let’s see:

  • Time: more than 3 years have passed since April 2009, when we started the project. More precisely, we have been working on LibrePlan for 39 months.
  • Contributors: the number of different contributors has risen from 14 to 29, mostly thanks to a growing team of very commited users who took care of the translations. And although the core development team has not changed a lot, we were lucky to welcome Nacho Barrientos, Pablo Fernández de la Cigoña, Nacho Díaz, Cristina Alvariño and Lucía García, who joined Manuel Rego, Lorenzo Tilve, Susana Montes, Óscar González, Diego Pino, Javier Morán and me in the last year and a half.
  • Lines: 233,036 lines of code, an increment of roughly 80,000 since 1.0.

  • Commits: now there are 8,517 commits in the project master branch. Óscar González is still the top commiter with 2,883, but Manuel Rego is getting closer with his 2,073 contributions. I’ve fallen down to the 6th position. Oh noes!
  • Bugs: 1,523 bug reports have been filled, and only 170 of them are open. That means we have closed 1,353 bugs! And if we search specifically how many of them were fixed, the number is 1,141. Pretty impressive figures, IMHO.

If you love stats, you can check our Ohloh page where you can find more figures together with charts and the like. Meanwhile, we’ll keep coding… Hopefully I will tell you about LibrePlan audiovisual next time 😉 .

LibrePlan nas XI Xornadas Libres

Unha breve nota para comentar que LibrePlan vai estar nas próximas Xornadas Libres, organizadas por GPUL na Facultade de Informática da Coruña. Vou ter ocasión de voltar á facultade para presentar a ferramenta e, con sorte, volver a ver algunhas caras coñecidas.

O meu turno é o martes 24 ás 18:00, pero non perdades ocasión de asistir tamén a outras charlas. ¡Véxovos alí!

LibrePlan 1.2.3. Go!

Today we are releasing the latest version of LibrePlan, numbered 1.2.3. The star of this release is the addition of the money cost monitoring system implemented by my team mate Manuel Rego, but there is a number of fixes added since the last release only one month ago, impacting small bugs, stability and performance.

The team is working hard to keep polishing the tool with the feedback of our users, while we work in new features for the next major release. We have some nice charts with new performance indicators, have improved the behaviour of the WBS table, and we keep working on other items in our roadmap. We had to delay the release date, but it’s worth waiting; meanwhile, download and try this new version!

We are building a more polished and stable planning tool day by day. Congratulations to all the members of LibrePlan community!