LibrePlan - Open Web Plannig

LibrePlan Planet

November 28, 2014

Jeroen Baten

Libreplan, State of the Union 2015

TweetIn Libreplan,  State of the Union 2015, I want to talk about what happened this year and what my plans are for the next.
One year as past since I took over as project leader for the open source LibrePlan project from … Continue reading

The post Libreplan, State of the Union 2015 appeared first on Jeroen Baten.

by jeroen at November 28, 2014 02:10 PM

February 27, 2014

Jeroen Baten

LibrePlan, the missing manual becomes available!

Hello people,
It has taken a lot of work, but now the result is there.  “LibrePlan, the missing manual” has become available on And not only that, there now is also a nice manual with training exercises that I use … Continue reading

The post LibrePlan, the missing manual becomes available! appeared first on Jeroen Baten.

by jeroen at February 27, 2014 08:41 PM

January 09, 2014

Jeroen Baten

LibrePlan number 2 in the list of great Project Management applications!

TweetHi people,
Recently Robin Muilwijk wrote a story on titled “Top 5 open source project management tools in 2014“. And guess what, LibrePlan is ranked at second position!
Robin writes: “This is another full featured tool supporting resource allocation, Gantt charts, … Continue reading

The post LibrePlan number 2 in the list of great Project Management applications! appeared first on Jeroen Baten.

by jeroen at January 09, 2014 10:14 AM

December 24, 2013

Jeroen Baten

LibrePlan, behind the scenes

TweetIt’s been a while since I wrote a blogpost about LibrePlan, but apart from that things have been very busy. There is some behind-the-scenes stuff going on that I hope I can share with you all somewhere in the future. … Continue reading

The post LibrePlan, behind the scenes appeared first on Jeroen Baten.

by jeroen at December 24, 2013 03:54 PM

October 13, 2013

Jeroen Baten

LibrePlan book is in the works, LibrePlan present at T-DOSE conference

TweetHi all,
I just wanted to give you all an update on what I have been bussy with.
To me one of the most important things is to let you all know that I am currently working very hard on the LibrePlan … Continue reading

The post LibrePlan book is in the works, LibrePlan present at T-DOSE conference appeared first on Jeroen Baten.

by admin at October 13, 2013 12:04 PM

July 01, 2013

Jeroen Baten

Project margins feature in LibrePlan

It’s been a while and Miciele has been very busy developing stuff for LibrePlan.
Our latest development has to do with project margins. As a projectmanager you will probably want to know if a task in a project takes longer than … Continue reading

The post Project margins feature in LibrePlan appeared first on Jeroen Baten.

by jeroen at July 01, 2013 10:26 AM

February 15, 2013

Javier Morán

Representing Igalia at CeBIT 2013

As we usually do at Igalia, this year we are present at CeBIT and, on this occasion, I will be the one representing the company and visiting Hanover (Germany).

This trade show is a great continuation of the IT conference route that we have been attending this early 2013: We started visiting CES (Las Vegas) on January, we continued attending FOSDEM with several lectures on February and we are going to the Mobile World Congress in two weeks’ time (just the week before my trip to CeBIT).

As you know – and if you do not know it is the right moment for finding it out 😉 – in Igalia we are experts in several free software technologies. Highlights:

  • We are the main company contributing to WebKit after the giants Apple and Google. It is great reading the name of your company in this recent stats published in Techcrunch.
  • We have experience in hardware virtualization in QEMU and developing drivers for industrial hardware.
  • We have a team of multimedia specialists in all layers of multimedia development (applications, middleware and hardware integration).
  • We lead the accessibility in the GNOME project.
  • We are the company developing LibrePlan.
  • We have experience in interactive interfaces being the authors of Skeltrack (a free software library for skeleton tracking).

So, if you are attending CeBIT and you want to have a beer to know more about Igalia, about how we can help you or how we can collaborate,  I will be really pleased to meet you up there. For that purpose,   just drop me an e-mail at

See you there!


by javier moran rua at February 15, 2013 06:48 PM

January 11, 2013

Jeroen Baten

Latest news about our LibrePlan development work

TweetHi all,
It has been some time and Miciele has been very busy developing new stuff to add to LibrePlan. In this post I will try to tell you all about our latest modifications.
Configuration database
The first one is under the hood, … Continue reading

The post Latest news about our LibrePlan development work appeared first on Jeroen Baten.

by jeroen at January 11, 2013 04:04 PM

December 12, 2012

Javier Morán

Powerful rolling wave planning with LibrePlan

Introducing rolling wave planning

Rolling wave planning is a project planning technique that basically consists of elaborating progressively the project plan over time. It is common that on starting to plan a project the project manager does not have all the information needed to make an accurate and realistic planning. This usually happens with projects that have a significant duration.

Therefore, to plan the whole project with a high level of detail in a first stage maybe is not the best idea:

  • It is likely that as time passes the circumstances change because of intermediate results. For instance, it could happen that some activities, belonging to the first work packages to deliver, are delayed.
  • New requirements and priorities can be set once the project has already started and this can trigger the need of a new planning process.

With the rolling wave planning technique these inefficiencies and time penalties are avoided, the project manager can save time and, as a consequence, he can be focused on the activities that produce real value for the success of the projects. Actually, it can be seen that this practice is aligned with the principles advocated by project management agile methodologies, as Scrum.


How to make the most of rolling wave planning with LibrePlan

One option, on applying rolling wave planning, is not to plan the future beyond a certain point in time at all.

An interesting alternative approach is to make the decision to plan the future, but with a lower level of detail than the short term. This sounds really well but, however, you can think: and how can I do it regarding to task allocations? With my project management software I can allocate specific resources but I do not have a clue of how to do it with less detail!

Here is when LibrePlan comes to rescue and how LibrePlan makes it possible is what I want briefly present in this post.

In LibrePlan there are two types of resource allocations:  specific allocations, which are the standard ones in which you choose the employee you want to do a task and, generic allocations, where you define a set of criteria that the eligible resources must have configured. With LibrePlan you can define the custom criteria useful for your organization and classify the workers according to them. Once done, the planning engine, on applying the generic allocations, looks for the free resources satisfying the required criteria for a task and assigns them. The global load of the different criteria can be analyzed and the project manager is able to know if he has enough free resources per criterion over time. He can also make corrective decisions according to it.


So, as can be seen, you can do rolling wave planning with LibrePlan using the generic allocations. They allow you to know if you have enough resources in the future with the skills needed (or with other criteria). Besides, it is a light and course-grain way of allocating resources that makes possible to apply powerfully rolling wave planning without the penalties of having to spend time in detailed planning that you have to redo.

by javier moran rua at December 12, 2012 03:19 PM

Jacobo Aragunde

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.

by Jacobo Aragunde Pérez at December 12, 2012 12:49 PM

November 27, 2012

Manuel Rego

LibrePlan: Adapt planning according to timesheets

During the last weeks I’ve been working in a new feature for LibrePlan that allows to update the project plan using the data from the timesheets.

Let’s use an example in order to explain the new functionality better.

Imagine that you have scheduled a task to be done during week 45, however the timesheets reporting hours to that task are in week 47. This means that you’re not fulfilling the plan and you have a delay of 2 weeks in that task. Besides, maybe that task has dependencies with other tasks, so this delay also means that other tasks are going to be delayed.

Some questions:

  • How could you check that information in LibrePlan?

  • How could you update the current plan?

In order to solve these problems a new feature has been developed. The final implementation includes different things which will be explained below.

  • Mark a task as finished from the timesheets In the timesheets UI (both in standard and personal timesheets) you’ll have the option to mark if a task is finished or not. You can only mark a task as finished once, but the task end date will be taken from the last timesheet reporting hours over that task. Then, when you use the new button to adapt the planning, a new 100% progress of type timesheets will be set for the task, which means that the task has been finished.

    Pop-up to mark task as finished in personal timesheets

    Pop-up to mark task as finished in personal timesheets

  • New marks in reported hours bar If you use the button Show/Hide reported hours, you’ll see the pink bars in the Gantt representing the hours reported in the timesheets compared with the planned (or estimated) hours. Now, together with that information you’ll also see two square brackets, that represent the first and last date in which there’re reported hours in the timesheets.

    Gantt showing marks with information from timesheets

    Gantt showing marks with information from timesheets

    As you can see in the picture most of the tasks started more or less when it was planned. However, we can detect some issues:

    • Draft task is delayed 2 weeks, which makes Template task to be delayed too.
    • Shopping cart task was started in the planned date, however it’s taking more time than expected.
  • Adapt planning button There is a new button (close to Reassign) in the project Gantt view that will allow you to adapt your current planning with the information extracted from the timesheets. This will allow you to modify your planning as people report hours in the timesheets.

    Planning adapted according timesheets data

    Planning adapted according timesheets data

    Once the planning has been adapted according to timesheets data, you’ll see the actual status of your project. Moreover, you’ll have the possibility to know which tasks are finished. In the example the finished tasks are only: Draft, Product management and Shopping cart.

    With all this information you’ll be able to modify the future planning in order to finish the project in the expected date (maybe allocating more resources, reducing some tasks, …). </ul>

Summarizing, we think that this is a nice addition that could be helpful to our users in order to manage better their projects. It’ll be available in the upcoming version 1.3.2 (you can already test it in the unstable environment) and, as usual, we’ll be really glad to receive your feedback about it. If you want to know more, you can review the analysis and implementation notes at LibrePlan wiki.

Finally, we’d like to publicly thanks to SOMABE for sponsoring this development. As you probably know Igalia offers this kind of customizations and other services around LibrePLan, don’t hesitate to contact us.

November 27, 2012 11:00 PM

November 22, 2012

Lorenzo Tilve

Published LibrePlan Audiovisual website

After several months working on the application, it’s now available the website of the project LibrePlan Audiovisual

It’s a section inside the main LibrePlan website, which has been the starting point for this adaptation oriented to solve problems identified on the companies of the audiovisual sector in Galicia. More specifically on the area of budget ellaboration and monitoring of audiovisual projects.

It was neccessary to have a tool to allow the standarization of budget creation on a collaborative way, and to ease controlling of costs and time deviations over the initial budget, produced during the ellaboration of adiovisual products, solving the problems due to be using other non specific tools.

The project has been developed by Igalia and Wireless Galicia with the collaboration of the Galician Audiovisual Cluster (CLAG), and financed with public fundings.

Among his main features we can remark the next ones:

  • Budget templates system

Create new projects from configurable template trees with the budget structure and predefined data.

  • Budget execution forecast

Visualize and modify the distribution along time of the cost of the budget items, and compare the real costs to do the neccesary adjustments.

  • Advanced assignment of forecasts and cost details

Distribute in a fine grained detail level the expenses forecast, use the cost sheets to track the produced expenses during the project and integrate the costs system with other tools to import expenses through Web Services.

  • Filming productivities perspective

Measure the productivities on the ellaboration of the multimedia product being developed, according to different unit types (scenes, minutes or script pages). Define an initial filming plan, specifying the estimated productivities, compare them with the real measurements and adapt the forecasts.


  • Planning, expenses and payments plan reports

Generate printable reports either on PDF or HTML showing information on the project execution.

More detailed information on the application features, and the documentation can be accesed at

As the LibrePlan project, on which this solution is developed, LibrePlan Audiovisual is Open Source with AGPL license, and cam be downloaded and used freely.

In the same way, all the services offered on LibrePlan website related to its  cloud plans, trainingcustomization or support, are also availables for LibrePlan Audiovisual.

Thanks to all of us who made possible the existence of this tool, and I hope it can be useful to all organizations or companies interested on improving the planning, monitoring and control of their budgets.


by lorenzo tilve at November 22, 2012 10:10 AM

November 08, 2012

Manuel Rego

First LibrePlan Hackfest

Yesterday, we arranged the first LibrePlan hackfest at Igalia headquarters in A Coruña.

Blackboard with the brainstorming

Blackboard with the brainstorming of LibrePlan hackfest

First of all, we started with a brainstorming where each of us provided his own ideas about how to improve the project. We ended up with a plan for the day defined by a quite big list of topics:

  • Right-click in the left menu of the project planning perspective.
  • Make projects list sortable in the main Gantt view.
  • Filter by name in projects and tasks view.
  • Implement dependencies with lag.
  • Avoid to leave the project perspectives without being warned if you have not saved the project.
  • Review some bugs that were pending from some time ago and need some discussion.
  • Give some love to help.
  • Create a new project status called “pre-sales”.
  • Add a milestone from WBS view.
  • Add dependencies from WBS view.
  • Copy/move tasks.
  • Copy projects.
  • Allow to modify LDAP/DB property in users edition.
  • Review and update Fedora hacking instructions.
  • Review some usability improvements.
  • Mobile application for bound resources.

And as you can read below the outcome was pretty good.

Jacobo and Óscar at LibrePlan hackfest

Jacobo and Óscar at LibrePlan hackfest

Jacobo was the first one finishing a task, he updates Fedora hacking instructions and also fix some issues preventing to compile LibrePlan with OpenJDK 7.

Javi and Jeroen were talking about different issues around LibrePlan, from the new LibrePlan customization for the audiovisual sector, to the last events where we’ve had some talks about LibrePlan (like Libre Software World Conference and T-Dose). They also discussed about the community, the future of the project and many other things.

Óscar and me started to review some bugs that have some special complexity and discussed the possible solutions. Óscar worked out a patch for bug #1413 and we also took a look to #1320, #1265 and #1553.

Loren began with the protect upper menu task, in order to prevent users to lose changes when they forget to use the save button. We really think that our users will appreciate this as you won’t have to worry about it anymore as Loren and Óscar finally managed to fix it. :-D

LibrePlan mobile app screenshots

LibrePlan mobile app screenshots

During the afternoon, after a nice lunch, we carried on with the hackfest.

I kept working in a small mobile application for bound users. The purpose of the app is to allow bound users query their assigned and report worked hours via the personal timesheets. The first part is almost ready and you can already see the list of assigned tasks to a bound resource in your phone.

Jeroen was working a little bit in the help in order to give it a new refreshing look.

Jacobo also did the task regarding to edit if a user is a LDAP or database user. And at the end of the day he was working in some usability improvements regarding how to set properly the focus while working in the WBS.

Loren began an approach to include the right-click on the project/task name avoiding the need to use the box in the Gantt to enter a project or allocate a task.

Javi, Jeroen and Loren at LibrePlan hackfest

Javi, Jeroen and Loren at LibrePlan hackfest

Javi was working in his patches to show the load of the resources to be assigned in the allocation pop-up. He also discussed some stuff with Óscar in order to improve the current implementation.

Jeroen, Loren and me were debating the possible project status in LibrePlan. Finally we included two new status “pre-sales” and “on hold” and also renamed the one related with subcontracted projects to “outsourced”. So the final list of project status is: pre-sales, offered, outsourced, accepted, started, on hold, finished, canceled and stored.

Finally, I’d like to specially thank Jeroen and Óscar for coming to the hackfest and contributing with their ideas and experience. And also to Igalia for sponsoring it. On the other hand, it was a pity that some people couldn’t attend in the last minute.

It was a really nice day, and we hope to repeat this experience in the future, you’ll enjoy the result of this day in the next LibrePlan versions!

Group picture of LibrePlan hackfest

Group picture of LibrePlan hackfest

You guys rock! Happy hacking :-)

November 08, 2012 11:00 PM

November 07, 2012

Lorenzo Tilve

Publicada la web de LibrePlan Audiovisual

Después de varios meses de trabajo en la aplicación, ya se encuentra disponible públicamente la web del proyecto LibrePlan Audiovisual

Se trata de una sección dentro de la web principal de LibrePlan, que ha sido el punto de partida de esta adaptación orientada a resolver las problemáticas identificados en empresas del sector audiovisual de Galicia. Concretamente en el ámbito de la elaboración y seguimiento presupuestario de los proyectos audiovisuales.

Se identificó la necesidad de disponer de una herramienta que permitiese estandarizar la creación de presupuestos de una forma colaborativa, y que facilitase el control de los desvíos en tiempo y coste  sobre el presupuesto inicial que se producen en la elaboración de productos audiovisuales, solucionando problemas derivados del uso de otras herramientas no específicas.

El proyecto ha sido desarrollado por Igalia y Wireless Galicia con la colaboración del Clúster audiovisual de Galicia (CLAG), y financiado con fondos públicos.

Entre sus características principales se encuentran las siguentes:

  • Sistema de plantillas de presupuesto y modelo ICAA

Crea nuevos presupuestos a partir de modelos de plantillas configurables en los que organizar los elementos y subelementos en los que se estructurarán, siendo posible partir del modelo precargado de presupuesto ICAA. 

  • Plan de previsión de ejecución de presupuesto

Realiza la previsión temporal del gasto de los items del presupuesto, y compárala con los gastos reales que se producen durante la ejecución del proyecto para realizar los ajustes necesarios.

  • Administración avanzada de previsiones y costes

Distribuye de forma manual las previsiones de gasto en el intervalo del proyecto con el nivel de granularidad temporal que se desee.

  • Perspectiva de progreso de rodaje

Contrasta las productividades en el proceso de elaboración del producto multimedia desarrollado, en función de diferentes tipos de unidades (escenas, minutos o páginas de guión), y realiza los ajustes necesarios para cumplir los plazos objetivo.


  • Informes de planificación, de gastos y plan de pagos

Genera informes imprimibles y descargables en los que se muestra la información del estado de ejecución del proyecto. También puedes, planificar los pagos de los gastos reportados de forma inmediata, con un margen fijo de días o manualmente, a nivel de proyecto o por tarea.

Se puede consultar información más detallada sobre las caracterísiticas del proyecto en:

 Al igual que el proyecto LibrePlan sobre el que está desarrollada esta solución, LibrePlan Audiovisual es Software Libre con licencia AGPL, y puede ser descargado y utilizado libremente.

Del mismo modo, todos los servicios ofrecidos en la web de LibrePlan relativos a su uso en la nube, formación, personalización o soporte, también se encuentran disponibles para LibrePlan Audiovisual.

Mi agradecimiento a todos los que hemos hecho posible la existencia de esta herramienta y espero que pueda resultar de utilidad a todas aquellas organizaciones o empresas interesadas en mejorar la planificación, seguimiento y control de sus presupuestos.


by lorenzo tilve at November 07, 2012 09:14 AM

November 01, 2012

Javier Morán

Explaining LibrePlan technically at A Coruña University

On Friday, November the 2nd, I have been invited to teach a workshop about LibrePlan covering all the aspects of the project that are interesting for future professionals in computer science.

Specifically, the session is organized by Juan José Sánchez Penas as part of the subject Deseño de Sistemas de Información (System Information Design) which belongs to the master Mestrado de Enxeñería Informática (Master in Computer Science Engineering).

The table of contents for the workshop will be the next one:

  1. A LibrePlan introduction. I will start explaining briefly the type of application which is LibrePlan, its mains features and strong points.
  2. A description of the LibrePlan architecture. I will explain the main architectural patterns used in the application, how they work and their rationale.
  3. A route through all quality attributes used in the project.  It will include a review of the different tests programmed for LibrePlan, the continuous integration practices set up in the project and the use of Sonar as quality platform to monitor the status of the project.
  4. How the project is organized. Finally, I will review all the tools and procedures used by the LibrePlan team members to evolve and take care of the project and its community.

For the occasion I wrote some slides that I think that can useful for other people wanting to know more about the topics mentioned above. They are publicly available at SlideShare:


by javier moran rua at November 01, 2012 11:12 PM

October 30, 2012

Manuel Rego

LibrePlan: New Project Status Report

Lately we‘ve been working in a new report in LibrePlan. The report is called Project Status Report and the first part of the report (related to hours) is already available in LibrePlan 1.3.1, however in the next version some additions over this report will be included.

The main goal of this report is to have a printable version of the project task tree (WBS) summarizing some important information regarding 2 aspects:

  • Hours: For each task in a project it will show the 3 type of hours we have in LibrePlan:
    • Estimated: The ones filled in the WBS tree.
    • Planned: The allocated hours, they are configured in the task allocation. They can be the same or not than Estimated hours as you can change it while doing the planning.
    • Imputed: The hours devoted to a task by the workers. Introduced in the timesheets (work reports). If the number of Imputed hours is bigger than Planned hours, then it’ll be shown an exclamation mark and the number will appear in red.
  • Money cost: Apart from the hours information in the new version will be included information about the money cost:
    • Budget: Estimated budget in the WBS.
    • Hours cost: Cost calculated depending on resources cost categories and the Imputed hours.
    • Expenses cost: Cost imputed via expenses sheets.
    • Total cost: Addition of 2 previous costs (Hours + Expenses). It’ll also show a mark if it’s bigger than Budget.
Project Status Report example

Project Status Report example

Apart from the new columns, the new version will also allow to filter the report by labels and/or criteria and the project filter will be optional. This will return the information of all the tasks related with the labels and/or criteria in all your projects. We think that this is a nice addition in order that you analyze where are you having troubles, for example, comparing Project managers with Developers.

Project Status Report filter by criterion "Project Manager"

Project Status Report filter by criterion "Project Manager"

Project Status Report filter by criterion "Developer"

Project Status Report filter by criterion "Developer"

We hope you enjoy the new report and the latest changes, we’ll be really glad to receive your feedback about it ;-)


On 12/12/13 19:21, Tony wrote:

An effective project manager spends 95% of their time communicating. Status reports are a great vehicle to help with communication to large teams and more importantly in keeping the teams aligned. ProficientPM is a good source of information

October 30, 2012 11:00 PM

October 24, 2012

Jeroen Baten

We are almost done!

TweetMiciele has been very bussy with our LibrePlan-Jira connector and we are currently finalizing  our work into a patch. My guess is that we will send in our patch today or tomorrow. So it’s time to show you all the … Continue reading

The post We are almost done! appeared first on Jeroen Baten.

by jeroen at October 24, 2012 08:16 AM

October 12, 2012

Jeroen Baten

New developments in the Jira-Libreplan connector

TweetWe have been bussy! 🙂
It turns out that montly timesheets are NOT the best way to handle Jira worklogs!
Initially we thought that developers would make a Jira worklog in a daily basis. But allthough I can mandate that as a … Continue reading

The post New developments in the Jira-Libreplan connector appeared first on Jeroen Baten.

by admin at October 12, 2012 09:26 AM

October 07, 2012

Jeroen Baten

New progress report Jira-LibrePlan connector (with timesheets!)

It’s been some time since my last update. Miciele is still working hard to get our Jira-LibrePlan connector working.
In this post I will show some new screenshots and tell you where we are heading.
Sofar we can import Jira issues into … Continue reading

The post New progress report Jira-LibrePlan connector (with timesheets!) appeared first on Jeroen Baten.

by jeroen at October 07, 2012 11:24 AM

September 26, 2012

Jeroen Baten

LibrePlan Jira connector progress

TweetThe importing of Jira issues into orderlines is working nicely. Off course it is entirely possible to tag a Jira issue with more than one label and thus have the same issue appear in more than one project in LibrePlan, … Continue reading

The post LibrePlan Jira connector progress appeared first on Jeroen Baten.

by jeroen at September 26, 2012 11:33 AM

September 07, 2012

Jeroen Baten

LibrePlan-Jira project progress report

TweetHello all, Intro (skip this if you are not interested Let’s start with a very small introduction: I work at the st. Antonius hospital in the Netherlands as head of the internal software development department. We build internal software and work … Continue reading

The post LibrePlan-Jira project progress report appeared first on Jeroen Baten, Boeken en Blog.

by jeroen at September 07, 2012 10:16 AM

August 14, 2012

Javier Morán

Visiting Berlin on September 20th and 21th

In Igalia, we support our LibrePlan users with training, among other services. We offer on-site and off-site courses and, in my opinion, these LibrePlan courses are very useful and have a good quality because, unlike other organizations or projects, they are directly taught by the people who are taking part in LibrePlan and evolving it daily.

So, on the occasion of teaching one of these courses, I will be in Berlin on September 20th and 21th, 2012.



I will be busy in the mornings, but, in the afternoons, I expect to be free. Moreover, in LibrePlan we participate of the free software culture of talking with people, of attending to conferences, of enjoying building a community … and, in this sense, visiting a new place is always an opportunity to meet people with interests in common.

Therefore, if you are reading this and it happens that you are in Berlin in those days and want to know more about LibrePlan, to share  ideas, to join the LibrePlan community… I will be happy to have a beer with you :)

If so, just drop me an e-mail at

by javier moran rua at August 14, 2012 11:13 AM

August 02, 2012

Jacobo Aragunde

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 😉 .

by Jacobo Aragunde Pérez at August 02, 2012 10:00 AM

July 23, 2012

Manuel Rego

Resources binding and monthly timesheets in LibrePlan

Igalia is about to release LibrePlan 1.3 and maybe the most important feature included in this new version will be the resources binding.

Summarizing, it consists of allowing the binding between LibrePlan resources and users. Resources are used in the planning and are allocated to the different tasks of the project. Users, like in any other web project, have a username and password to login and use the application. So far, there were no relationship between resources and users in LibrePlan and several people have requested this feature since a lot of time ago.

Why didn’t we have this relationship yet? The main reason is that LibrePlan was started as a project for manufacturing industries where they manage the resources, but the resources are not expected to interact with the application directly. However, the project has evolved into a more generic planning tool suitable for other companies where resources have access to a computer and should be LibrePlan users to input some data to the planning (like worked hours, expenses, etc.).

Resource binding windows

Thanks to the new feature you’ll have the possibility to bind resources to users, this will allow to assign users (through the bound resource) to the different tasks of your planning. In order to do that you’ll have 3 options in the resources editing window:

  • Not bound: The resource is not bound to any user. Not bound option in resources editing window

    Not bound option in resources editing window

  • Existing user: Select one of the current users and bind it to the resource. Moreover, you’ll have a link to the user editing window. Existing user option in resources editing window

    Existing user option in resources editing window

  • Create new user: You could create a new user directly from resource editing window providing the basic data (username, password and, optionally, e-mail). The new user will be automatically bound to the resource. Create new user option in resources editing window

    Create new user option in resources editing window

Correspondingly in the user editing window you’ll have a new section about the bound resource with a button to disable the binding.

Bound resource information in user editing window

Bound resource information in user editing window

New home page for bound users

Notice that the bound users will be associated with a new role called Bound user. By default this kind of users will only have access to the menu entry called Personal area where they’ll have a new page Home with the following areas:

  • My tasks: Where the user could find the list of assigned tasks. Each task will have a link to report hours using a monthly timesshet.
  • Monthly timesheets: In the home page the user will have the list of monthly timesheets with a link to edit them. More about monthly timesheets later.
  • Expenses: Apart from reporting hours with the monthly timesheets it’ll be also possible to report expenses. The resource will be able to report the expenses associated with the tasks in which he/she is participating.
New home for bound users

New home page for bound users

Monthly timesheets

In LibrePlan worked hours are reported via the timesheets, that are quite flexible thanks to the timsheet templates. However, for the new bound resources it’ll be a new special type of timesheets called monthly timesheets with a specific editing window. The monthly timesheets will be composed by a grid where the bound users could introduce the hours they have devoted to the different tasks during a month.

Monthly timesheet editing window

Monthly timesheet editing window

As you can see in the image above, the monthly timeshet will allow the user to enter hours for each of his/her assigned tasks and also for any other tasks if needed using the Add task button.

BTW, it’s important to highlight the meaning of the Other row and column. It’ll show the hours reported with the standard timesheets during the month. Maybe, you’ll forget about standard timeseehts if you’re using monthly timesheets but in some cases it could be useful to have both ways to report hours. For example, imagine that overtime needs to be reviewed and reported by a manager, the manager could use standard timesheets to report that kind of hours and the resources will use the monthly timesheets to report regular hours.


As you can see in LibrePlan 1.3 you’ll be able to report hours and expenses using the new home page, however you still can’t provide more info that could be useful for the project managers like: progress, comments, … In the future some of these features could be included too.

Igalia has worked hard to keep improving LibrePlan, we hope you enjoy this feature and the rest of new sutff in LibrePlan 1.3. We’re waiting for your feedback about it as soon as LibrePlan 1.3 is released (hopefully during this week), in the meanwhile you can test it in the unstable demo.

July 23, 2012 10:00 PM

May 31, 2012

Manuel Rego

Currency support in LibrePlan

We’re getting close to the release of LibrePlan 1.3, and as you can see in the rodamap to LibrePlan 1.3 and also in the last revision, one of the features to be included in this new major version will be:

Include the management and support of a currency to apply to the project: Now all the reports are in euros. Internationalization must be included to allow to configure the currency used and the symbols to use.

Some weeks ago, we in Igalia have been working in develop this new feature, that you can already test in LibrePlan unstable demo.

From the user point of view, these are the new bits:

  • New option in configuration screen to choose the currency symbol to be used into LibrePlan.
    New currency option in configuration window

    New currency option in configuration window

  • In the different places where money is managed, you’ll always see the currency symbol together with the value. For example, in the budget column of the WBS.
    WBS view using configured currency symbol

    WBS view using configured currency symbol

From the developer point of view, now there’re some new methods in class org.libreplan.web.common.Util that should be used to manage money values:

  • getCurrencySymbol(): Returns the currency symbol from LibrePlan configuration.
  • addCurrencySymbol(BigDecimal): Returns a String with the currency symbol attached to the value.
  • getMoneyFormat(): Returns the format with the currency symbol to be used in a Decimalbox when it manages money.

As usual, if you’re interested you can find more information about the analysis and development of this task in the project wiki.

In Igalia we keep pushing for LibrePlan and we’re already working in one important feature that will be included in LibrePlan 1.3. I’m talking about the feature to bind users with resources, requested by lot of people, that will improve the way how worked hours are reported (but it deserves its own blog post ;-)).

As a side note, I’d like to talk about the last LibrePlan release. In LibrePlan 1.2.4 again we added support for a new language, this time it was Czech thanks to the work done by Zbyněk Schwarz: “Vítejte Češi!” :-)

Transifex is working really fine to manage all these translations and also to receive new translations. For example, Slovak and German translations has already been started and should eventually join the list of supported languages, currently: Czech, Dutch, English, French, Galician, Italian, Spanish, Polish, Portuguese and Russian.

Thanks to all our translators for their work!

May 31, 2012 10:00 PM

April 21, 2012

Jacobo Aragunde

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í!

by Jacobo Aragunde Pérez at April 21, 2012 06:11 PM

April 19, 2012

Manuel Rego

LibrePlan is learning new languages: Salut, hoi, cześć!

We’re really happy to see that with every new release LibrePlan project is translated into new languages.

In LibrePlan 1.2.2 two new languages appeared:

  • French: In the past some people had already asked about French translation and finally this language was available for them. The work was initially started by Stephane Ayache and Guillaume Postaire, but finally Philippe Poumaroux did the final effort to complete the translation in order to have French supported 100%. LibrePlan screenshot in French

    LibrePlan screenshot in French

  • Dutch: This translation was done by Jeroen Baten, who is also participating in the LibrePlan community (for example he sent an script to connect JIRA with LibrePlan). LibrePlan screenshot in Dutch

    LibrePlan screenshot in Dutch

In the last version published yesterday, LibrePlan 1.2.3, again a new language has been included:

  • Polish: This time it was the Polish language provided by Krzysztof Kamecki. LibrePlan screenshot in Polish

    LibrePlan screenshot in Polish

For the future releases it seems that Czech language will be available too as you can check in Transifex.

We’d like to publicity thank the work done by our translators, that is allowing more and more people use LibrePlan without any language barrier. You guys rock! :-)

Finally, if you miss your language or want to improve, help or contribute in any of the current ones, the process is as easy as join Transifex and start to translate there.

PS: Transifex guys accepted my mini patch to improve the projects timeline RSS feed. Now you can be subscribed to it and it won’t be updated until there is any new translation or change in the project.

April 19, 2012 10:00 PM

Jacobo Aragunde

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!

by Jacobo Aragunde Pérez at April 19, 2012 05:52 PM

March 27, 2012

Manuel Rego

Money based cost monitoring system in LibrePlan

Last weeks in Igalia I’ve been working in a new feature that will be included in the next LibrePlan releases.

Summing up, the new feature consists of providing a method to monitor the cost of the different projects inside LibrePlan based on the money spent regarding to the original budget. Before in LibrePlan you could monitor the cost based in hours reported regarding to assigned hours, but it was not possible to do it checking the money spent.

Feature description

The result of this new feature from the users point of view has two main parts:

  • A new field called budget has been added together with the hours input for any task in the WBS view. Now, the user can specify the budget for every task. BTW, this field is also available in projects and tasks templates.</li>

    • A new bar over the tasks in the Gantt view. This bar represents the money consumed at this moment comparing to the task budget. Then, you can check the progress of your tasks regarding the money you have reserved for it and the real amount spent.</ul>

    In order to calculate the money spent in a task, the application uses the information in the work reports related to the cost categories of the different resources and the type of hours devoted to each task. Using all that entities, LibrePlan is able to calculate the how much money you have already spent to perform a concrete task.

    Some screenshots

    The new budget field can be edited from two places:

    • WBS view:

      New budget field in the WBS view

    • Details tab in task edition pop-up:
      New budget field on task edition pop-up

      New budget field on task edition pop-up

    The new money cost bar can be enabled/disabled with a new button in the Gantt view:

    Money Cost Bar in Gantt view

    The information about the exact money spent can be read in two places:

    • Task tooltip in Gantt view:

      Information about budget and money spent on task tooltip in Gantt view

    • Imputed hours tab in task edition pop-up:

      Information about budget and money spent on imputed hours tab in task edition pop-up

    About the implementation

    As you know LibrePlan is entirely a free software project. Not only its source code is released under AGPL, but because of we do all the development in an open and public environment. Like for any other feature developed in the project you can read the analysis and implementation notes in the project wiki.

    About the implementation issues, I’d like to highlight the new class MoneyCostCalculator which is in charge to calculate the cost of any task in terms of money. This class is only used for the new feature explained above, however in the future it could be useful to create some new reports, add money cost information to earned value chart or use in other parts of the application.

    We hope you enjoy this new feature! Please don’t hesitate to contact us if you have any question about LibrePlan. And remember that Igalia offers a wide range of services around LibrePlan, just in case you need our help ;-)

March 27, 2012 10:00 PM

March 03, 2012

Javier Morán

LibrePlan makes easier to know the project status

If you follow closely the LibrePlan project, you will know that we are working in the development of the features that will be included in the LibrePlan 1.3 version, that is estimated to be released next April (you can look into the roadmap  here).

Among the things included in the roadmap, we regarded as very interesting to work in making the tool more intelligent by providing a set of indicators informing about the status of the project. At present, of course, you can also know the status of a project examining the planning and extracting the reports existing in LibrePlan. However, we thought that we could go one step further.

We realized that although monitoring and controlling the project plan can be done by the project manager quite fast and easy, there is a user role, different from the project manager, that is also very interested in the status of the company projects. This user can be defined as an employee with a chief position in the organization hierarchy. For instance, the CEO of a company can be a good prototype of this sort of profile.

This profile has some characteristics that make him different from the project manager role:

  • The CEO is a user with less project management knowledge than the project manager and, therefore, has more difficulties in analyzing the project Gantt, in interpreting correctly the progress measurements or in applying project management techniques like the EVM (Earned Value Management) and the Monte Carlo simulation implemented in LibrePlan.
  • The CEO is a user whose main duties are not related with project management and, because of this, he has less time available to follow the day a day of the projects opened in the company.
  • Although the CEO has both less project management knowledge and less time to devote to it, he is interested in knowing how well or bad is going a project to make executive decisions if required.

So, taking into account the above points, we assessed that for this kind of chief employee could be very useful a set of metrics, usually called KPI (Key Performance Indicators). Project management KPIs measure how well a project is performing according to its goals and objectives, i.e., to finish on time and with the expected cost.

KPIs are perfect for the CEO users because they have three properties that satisfy the needs and use pattern of these executive users:

  1. They sum up information. They gather planning data and through calculations provide a panoramic view of the situation of a project according to the specific goal aspect they are are designed to measure.
  2. They are easy to understand. They do not require a lot of project management background to be read. Besides, in LibrePlan they can be merged to provide a single verdict about a project.
  3. They are fast. The user is not required to spend much time with the project plan to be able to get a view about the status of the project.

I would like also to highlight that, although they are very important for the chief employees, the KPIs are also very helpful for the project managers and all the people taking part in the planning because they save time and provide and a good picture of the status of the project at any moment.

The KPIs will be displayed in LibrePlan 1.3 in a screen of the project planning that will be called the dashboard. With this name we are drawing an analogy with physical dashboards present in complex machines like, for example, a plane where the pilots have a flying deck with a bunch of sensors monitoring any single aspect of the flight. In the same way, in the LibrePlan dashboard, the person in charge of the planning will be able to look at a set of numerical data and charts that will help him to bring the project to fruition.

We have been studying which KPIs to implement to launch the first version of the dashboard and the principles we have followed in the research have been two: to cover the relevant aspects of the status of a project and, second, to maximize the value added to the program.

Once concluded this investigation process, the result has been the identification of four dimensions and a set of KPIs per dimension. Besides, according to this four dimensions, we designed the layout of the dashboard divided in four areas, each one containing the KPIs belonging to it inside.

The dimensions and KPIs are the next ones:


This dimension measures which is the progress degree of the project, i.e, work already done versus work remaining to do to close the project. KPIs:

  • Global progress chart. It will sum up the current global progress of the project and will show the theoretical value the project progress should have if all things went as expected.
  • Task status chart. It will show the number of tasks finished, ready to start, blocked by a previous dependent task, etc..


This area will show how well the project is performing in time according to deadlines and other time commitments. KPIs:

  • Task completion delay histogram. It will show an histogram chart with the number of days the tasks of the project are finishing ahead of time or after the planned end date.
  • Deadline violation KPI. Pie chart with the tasks which have not hit the deadline, the tasks which have hit it and the tasks without a configured one.
  • Margin with project deadline. Number of days the project finishes after or before the configured project deadline.


This dimension will do an analysis of the resources being allocated in the project. KPIs:

  • Estimation accuracy histogram. It will be an histogram with the deviation between the hours planned and the hours finally devoted by the company resources to the tasks of the project.
  • Overtime ratio. It will show how much overtime the resources allocated to the project are having.


This area will include some metrics belonging to the EVM technique. These metrics are function of time and in this area will be shown calculated at the current date. KPIs:

  • Cost Variance. It will be the difference between the BCWP (Budgeted Cost Work Performed) and the ACWP (Actual Cost Work Performed). It says how much we are losing or winning regarding to the estimated cost planned.
  • Cost Performance Index. It informs about the current rate of win/loss value per time unit.
  • Estimated as Completion (EAC). It is a projection that estimates which will be the final project cost at completion.
  • Varience at Completion. It is a projection of the estimated benefit or loss at completion time.

And finally, as a picture is worth a thousand words, although the dashboard is work in progress, I would like to include here a snapshot of some KPIs mentioned above that the LibrePlan team is implementing currently.

KPI snapshot

KPIs development (work in progress)

Besides, as we usually do, if you want to share with us your ideas or requests about what KPIs you miss or things that you regar as important for future, just let us know about it using the communication resources we have available in LibrePlan.

by javier moran rua at March 03, 2012 09:33 PM

January 17, 2012

Manuel Rego

L’italiano arriva a LibrePlan

First of all, I’d like to announce that in a few days LibrePlan 1.2.1 will be released. This is a minor release including lots of bufixes done since 1.2.0. Thanks to all the users for reporting the different problems you have found in the tool, with the new version you’ll have an improved experience using LibrePlan. For those who still don’t know, you can report us any issue in project bugzilla or directly talk to us in #libreplan IRC channel on, we’ll try to fix it ASAP to be included in the next releases.

But as you can guess from the post title, the main topic I wanted to talk today is about the Italian translation of LibrePlan. Giuseppe Zizza has done a great work during the past weeks and LibrePlan 1.2.1 will be 100% translated into Italian language. He has used Transifex to do the translation and he has translated both UI files and reports files, so Italian is completely supported. I’d like to thank him again for the effort and his collaboration with the project. Grazie Mille! :-)

LibrePlan in Italian

Finally, we’re really glad to see that LibrePlan is available in more and more languages as time passes. So, if you still miss your language in LibrePlan, feel free to go to Transifex and add it by yourself or collaborate with other people in the translation. As you can see it will be included in future versions of the project.

January 17, 2012 11:00 PM

December 29, 2011

Manuel Rego

New LibrePlan website and other bits

LibrePlan website frontpageI’m sure that you have already notice it, but last LibrePlan version comes with a new website that you can visit at The new website has been designed by Opsou (authors of the new logo) and sponsored by Igalia (the main company behind LibrePlan project).

About the website I’d like to explain the different sections:

  • Frontpage: Where you can find a few short texts explaining the most important features of the project. Together with a list of news (mixed with imported tweets from @libreplan) around the project and several links to other website sections.
  • Info: Is divided in 4 subsections where you can find different information about LibrePlan. From the special features that make it different of other planning tools to project history, documentation and license data.
  • Features: Consists of a comprehensive description of all project features. Features are grouped in different subsections and provide screenshots to understand them better.
  • Services: That section contains the main services provided around LibrePlan and the companies involved. As you can see different services are explained in each subsection: consultancy & training, customization & development, deployment & SaaS and, also, how to join us and get involved in the project. If you are interested in any of them you can contact us in the last section of the website.
  • Contact: A section with information about the different ways to contact us in order to request help, support or whatever you need around LibrePlan.

Apart from the main website there are also other services around the project:

  • LibrePlan Planet: A blog aggregator where you can find all the posts done by the development team about the project.
  • LibrePlan Demo: On-line demo to play with last LibrePlan stable version in order to test it and check its main features.
  • LibrePlan Development Wiki: Wiki with information useful for project developers and contributors. All the development around LibrePlan is coordinated and documented with this wiki.
  • Page: LibrePlan uses infrastructure. In this page you can find the different resources around the project: published files, mailing lists, user forums and source code repository.
  • LibrePlan Bugzilla: Bug tracking tool to report and manage issues in the project. Anybody could report any problem, error, bug, issue there and the development team would take care to fix it as soon as possible depending on the different priorities of the moment.
  • LibrePlan Jenkins: We use Jenkins for Continuous Integration (CI). Every night LibrePlan project is built and tests are passing for both PostgreSQL and MySQL databases. If any problem happens, developers are automatically notified in order to fix it.
  • LibrePlan Nightly Builds: Taking advantage of project being built every night, we have an unstable deployment with the last developments done. This is a comfortable way to check the last features implemented in LibrePlan, however it’s not valid for a production environment as it’s not so tested like a stable release.
  • LibrePlan Sonar: Sonar is a tool to check software quality. LibrePlan code is checked in order to detect and fix the most important issues.
  • LibrePlan Maven Repository: LibrePlan depends on some specific packages modified by the development team that are not available in Maven central repositories. For that reason we have our own Maven repository in order to ease users and developers to download modified packages used in the project.

After reading it twice the list is quite bigger and we’re already thinking in other stuff (we’ll keep you informed).

Finally, I’d like to wish you all a happy new leap year!

December 29, 2011 11:00 PM

December 14, 2011

Manuel Rego

LibrePlan in

Maybe you don’t know Transifex, an open source platform for software projects localization. It supports a great variety of files including the two kind of translation formats that we use in LibrePlan:

  • .po: GNU gettext localization system. The whole LibrePlan application but reports is translated with this kind of files.
  • .properties: Standard Java localization files. We use this kind of files in LibrePlan reports generated with JasperReports.

From now on, LibrePlan translators wouldn’t have to deal with these files if they don’t want to. They can use directly to translate LibrePlan to different languages. The main advantage, is that you just need a browser to translate all these files. We think that this is going to make translators’ life easier.

LibrePlan translation status (main localization file)As you can see in the image, LibrePlan is fully translated into: English, Spanish and Galician. Moreover, it’s almost 100% in Portuguese, and around 80% in Russian.

Finally, I’d like to thank our translators for their hard work, we’re really happy to count with their contributions. And, I’d also like to encourage any other people to help us to have LibrePlan available in more languages (some new languages are already ongoing). Now, it’s going to be easier than ever.

December 14, 2011 11:00 PM

September 18, 2011

Javier Morán

LibrePlan visits Brazil

Igalia, the company I belong to and which supports my work in LibrePlan, takes part in a trade mission to Brazil between September 25th and October 2nd. The mission will be focused on the city of São Paulo, which is the most important financial center in the country and one of the biggest cities all over the world. It has a population of 11 million people and, including the metropolitan area, it reaches 20 million, numbers which are really amazing.

São Paulo city view at night

I will be the person representing my company in this trip and will let me be in the southern hemisphere for the first time in my life. There I plan to check by myself if it is a myth that water swirls counter-clockwise in the toilets and sinks, contrary to what happens in northern hemisphere.

Aside from satisfying my personal curiosity ;), my purpose during my time there will be to present and explain LibrePlan to everybody interested in the project . I would be really happy if some Brazilian free software firms and other software technology providers got involved in our community. We want LibrePlan to be the reference free software planning tool and to have as many companies and private individuals as possible using, installing, collaborating and taking care of the program.

During next week I will be preparing and closing the details of the timetable of meetings with interested contacts. So, regarding to this, if you are reading this post, your are in São Paulo or nearby and want to know more about LibrePlan, please, contact me sending an e-mail to jmoran {at} igalia {dot} com. We can meet up and talk.

Vemo-nos lá! (See you there!)

by javier moran rua at September 18, 2011 08:31 PM

August 13, 2011

Javier Morán

Bringing Functional tests to NavalPlan (LibrePlan)

Chasing Quality

One of the maxims we try to follow in NavalPlan (LibrePlan) is to create a project with good quality.

Quality in software refers to two different notions:

  • Functional quality. It is the degree in which a software satisfies the specifications. The better the software complies with them, the higher the quality a program is.
  • Structural quality. It is related to all the non-functional requirements which can be stated over a program. For instance, how good is the development cycle, how maintainable the source code is, what performance is achieved, etc.

Said that and taking into account this classification, I would like to introduce automated web tests and relate them to this taxonomy.

In the first place, I will define what they are for those of you not familiarized with them. In short, we can say that automated web tests are black box tests in which the interface of a web application is tested in an automatic way. In other words, they are a type of tests in which a program performs the role of a real user and interacts with web pages with the aid of a browser to assure that the behavior of a web application is the one expected.

In second place, as I told you, I would like to link them with quality. In general, we can say that they provide structural quality because, on the average, a web application with functional tests has a higher quality than one application without them. They help to detect failures and regressions and, therefore, in the end, the likelihood of having bugs is smaller.

Sahi Web Tests

In the NavalPlan team we have been looking for the best alternative to do automated web tests. Apart from the general cited reason of having higher quality, we try to address the jointly effect of having a large-featured application and a short-numbered testing team. When these two factors are combined the likelihood of regressions is big and the cost of a comprehensive manual test of the application high. Therefore, for sure, with a good set of web tests we would improve both in robustness and productivity allowing us to plan less testing time.

After looking for several alternatives, the technology that we chose is Sahi and the reasons which supported our decision are the next ones:

  1. In NavalPlan we use the web interface framework ZK. This is a framework which generates dynamically the id attribute of the HTML entities which make up the web pages. This makes difficult to develop automated tests because the id is one of the easiest ways to locate HTML entities in the DOM and, some of the most common testing frameworks, like Selenium, relies basically on them. However, as they are dynamic in ZK, i.e., each time a page is rendered they are different, it is impossible to make the tests being repeatable with a technology based on the ids. Luckily, Sahi allows to overcome this situation because it has a powerful accessor API which helps to locate HTML elements using concepts like indexes, human DOM relationships as can be near or parent, CSS classes, etc.
  2. Sahi is browser independent. This means that the automated tests can be executed in several browsers. This is great, because a RIA application like NavalPlan uses the latest HTML technologies and some of them might be not fully supported in a particular browser. We can run the tests in all of them and this is a big advantage for us.
  3. Tests are programmed in JavaScript what in my opinion is a great idea. To start with, because JS is the language used by browsers since the very beginning and is a standard with a good API to interact with the DOM. Another good feature is that, because of being the tests written in a programming language, we have the programming tools like functions, data types, control structures… which gives you the highest flexibility to build tests as complex as you need. Some other testing technologies relies on configuration files, like XML files, and this limits a lot the possibility to get off the path of what the web test framework developers initially thought.

Now I will focus on the things I would like to be different in Sahi. Among them, I would highlight that there is a proprietary product (Sahi Pro) built on top of the Sahi Open Source. Sahi Pro provides the more advanced features and I really miss that some of them were in the open source product. For example, a better report system. For me it would be nice that they had an open source license for the Sahi Pro product to be used with free software products like NavalPlan.It is a way to promote both quality in open source and open source itself without damaging the comercial interests of a company supporting a free software product.

Where are we ?

We started developing Sahi tests last month and, at present, we have tests for some of the simpler use cases, which are CRUD use cases related to administrative operations. If you feel like having a look to how they work, I encourage you to deploy NavalPlan, to download the git repository and to read the README file in the script/functional-tests folder where the instructions to run them are described.

Additionally, they say that tests are successful when they detect errors and, in this sense, we proudly 😉 can say that right now we have reported some new bugs on the bugzilla thanks the functional Sahi tests developed so far.

Where are we going ?

Our roadmap concerning web tests will consist of increasing the coverage and facing up more complex interface operations in the near feature. After it,
a last final desired scenario will consist of having a platform in which:

  1. We develop a Maven plug-in or write a configuration to be able to pass the tests integrated in the building process as part of the Maven test phase.
  2. In NavalPlan we use CI and the continuous integration server we have is Hudson. It would be great to integrate the Sahi tests execution in Hudson build cylce and to have the test results published in the Hudson interface to find them easily.

by javier moran rua at August 13, 2011 12:16 PM

May 27, 2011

Javier Morán

I attend London DDD exchange 2011

Next June, the 10th, I will be attending the DDD exchange 2011 in London. DDD exchange is an event to learn and share experiences about using Domain Driven Design and it is the 4th annual edition. There I hope to meet up with people interested in this topic and to know first-hand information about professionals applying this way of designing software. So, if you are comming, I see you there!

I liked very much the concept of DDD I learnt by reading the book of the same title Domain Driven Design, written by Eric Evans who, by the way, will give a keynote at the exchange. To sum up very briefly, DDD is based on the next three points extracted from wikipedia article:

  • Placing the project’s primary focus on the core domain and domain logic
  • Basing complex designs on a model
  • Initiating a creative collaboration between technical and domain experts to iteratively cut ever closer to the conceptual heart of the problem.

Domain Driven Design

I have being taking part in NavalPlan from the beginning doing roles of project management and analysis and, in the team, we use part of the practices and ideas of DDD. My opinion is that the result after this experience has been good and I would recommend to use DDD in applications which require quite amount of business logic, like NavalPlan.

Finally, any trip is an occason to meet people living in other regions who share interests with you. So, if you are in London in June, the 10th, and want to know more about NavalPlan, please, let me know :)

by javier moran rua at May 27, 2011 04:13 PM

March 28, 2011

Javier Morán

NavalPlan class diagrams

Tomorrow a NavalPlan development course for AGASOL companies will start in Santiago de Compostela. The aim of the course is to spread our community having more people involved in the project.

Basically the course will be divided in two parts:

  • User part. During it the main functionalities of the application will be explained.
  • Development part. In this part example use cases will be developed covering the different technologies used in the project and examining  the architecture from top to bottom.

In order to introduce the development part I wrote several class diagrams with the main entities of the application. I composed them using the tool Linguine Maps , about which I talked in my previous blog post NavalPlan Domain Model diagram.

I prepared some slides with these UML class diagrams and I uploaded them to the files section of the project in I think that they can be useful not only for the course but as technical documentation to all the people interested in NavalPlan.

Click here to download the material.

by javier moran rua at March 28, 2011 06:34 PM

March 11, 2011

Javier Morán

NavalPlan Domain Model diagram

NavalPlan is a Java application built using Object Oriented Programming and whose data are stored in a relational database – currently PostgreSQL and MySQL are the RDBMS supported and tested-. To map objects from the objects models to relational tables the Hibernate ORM is used, which is a well-known framework in Java platform widely deployed.

In the business layer, it is applied the Domain Model architecture pattern which briefly consists of having rich business objects which encapsulate in the same class the data and the behavior related to them. I think that it was a good decision and I am happy with it. Among other advantages, it allows to organize complex behavior and to reuse business logic easily.

The NavalPlan domain model is large and complex, and one of the problems is its maintenance from documentation point of view. This is so because to have UML diagrams updated is time consuming.

To address the problem above and to have some nice diagrams to teach NavalPlan to new developers, I have being playing today with a tool to infer UML class diagrams from the Hibernate mapping files. With a tool like this a lot of time would be saved !!

The tool I found is Linguine Maps. You have to develope a program to use it but, after resolving some configuration issues, I got a quite good result. Therefore, we will use it in NavalPlan from now on.

With Linguie Maps you can configure several things and create diagrams just with the classes you are interested in. As an example and to view a whole picture of NavalPlan I generated a chart with all the classes. I know that maybe it reminds you of an Indian war with so many arrows, but I think that it could be got a good poster from it 😉

by javier moran rua at March 11, 2011 07:37 PM

February 22, 2011

Javier Morán

Procedures to measure project progress (I)

The purpose of this post is to start a set of blog entries to share my thoughts about ways to measure progress in project planning and to explain methods about how to do it.

Delimiting the problem

The field I want to talk about is the progress measurement in projects which are represented by Gantt charts. These projects consist of a set of activities with logical dependencies among them  and which are done by resources, that can be people or machines. Besides, resources can be over-allocatable.

The aim of the planning is to fulfill the project deadline, to have a cost lower than the budgeted money and assess if it is possible to carry out the project with the available company resources. This job is complex and is usually aided by the use of planning, monitoring and controlling project management tools.

In my opinion, on measuring progress it is important to distinguish two levels:

  • Task level. It is the most common analysis scope and consists of measuring the progress inside tasks. Although there are several possibilities, to put it simple, it will be supposed that it consists of specifying the work already finished in the task in which the measure is being taken.
  • Project level. In this level the project is taken into account as a whole, with all its tasks, to know how it globally goes. It is a scope which is not as studied as the task level one and, therefore, is less known by people too. I will use the term global progress to call to this type of progress as well.

Having said that, I will focus on the measurement of progress at project level. In this area, the key is to answer the next two questions: is the project delayed or ahead of its planning at the present time? how much?

The project manager needs to know the answers to those questions because they allow him to make decisions. For instance, if there is a certain accumulated delay in a project, the project manager could order to devote more resources in order to recover the delay and arrive on time.

Progress at project level by doing a weighted addition of tasks

This is the method I will explain in this post and is one of the methods that maybe first comes to your mind if you think about this problem. I will explain it by answering two questions which are mandatory if you define a method to measure progress at project level.

Which tasks contribute to calculate the project progress?

In the method I propose all the tasks are considered. The rationale of this answer is that all the tasks which make up a project  are important and, therefore, all of them must contribute to the global progress.

How is the contribution of each task ?

The thing here is to make the decision about the way in which each task influence the global progress. Two strategies can be thought:

To use the average

The principle which supports this option is equality. It sets that contribution is the same for all tasks.

To use a weighted average.

It implies to break the equality principle and to set that contribution to the global progress is not the same for each activity. There are many ways to establish equality and, regarding to the global progress calculation, the point is to identify the task feature(s) that makes them different. So, which are these features ? Well, from my point of view, the feature which distinguishes them concerning to progress is the amount of work a task consists of. This is so because, having tasks with different amount of hours causes that, for the same progress value at task level, the amount of remaining work to be completed per task was different.

The bad effect of ignoring the different amount of remaining work of each task can be seen in the next example easily: If we have a two tasks project, one having 100 work hours and another 10 work hours and we receive a progress of 10% in the firs task and 90% in the second one, we get the following global progress value using average: ( 10 + 90 ) / 2 = 50%. Half of the project is already done according to the global progress, but, however, the remaining work to finish is much more than 50%.

To correct the behavior described, the method I propose is to add progresses per task weighing the progress value of each task by the hours percentage the task represents with regard to the  project total hours. With the average calculation the project manager thinks that project goes very well when reality is not so good but, however, using the weighted average, he sees a value which approaches project state better, he gets a global progress value of 10*(100/110) + 90*(10/110) =  17,27%.

Finally,  I would not like to end up without stressing that  in NavalPlan users can  measure global progress choosing among several options and the method explained here is one of the alternatives.

by javier moran rua at February 22, 2011 07:48 PM

February 03, 2011

Xavier Castaño

NavalPlan goes to FOSDEM

I, as part of NavalPlan team, am going to FOSDEM this weekend. I’ll be there to learn from other people but I’ll also be available to explain NavalPlan to these people interested in knowing more about the project.

I’ll be wearing this t-shirt:

So, if you are interested in NavalPlan don’t hesitate to ask me about it.

NavalPlan is a free software web project planning tool developed and Igalia is one of the main contributors. Main features are:

  • Multiproject management. It offers a global vision of the company managing several projects sharing resources.
  • Group resource allocations: dynamic groups based on criteria.
  • Flexible calendars.
  • Configurable Gantt charts from Work Breakdown Structure (WBS).
  • Resource Breakdown Structure chart.
  • And much more….

by xavier castano at February 03, 2011 06:13 PM

January 26, 2011

Javier Morán

A taxonomy problem in project management

Project management according to PMI is the application of knowledge, skills, tools and techniques to project tasks to meet the project requirements. It is made up of a set of activities which can be grouped in five areas:

  1. Initiating
  2. Planning
  3. Executing
  4. Monitoring and Controlling
  5. Closing

Different applications can be used to help to carry out the activities above and they are usually called project management applications.

Throughout my experience, however, the previous name is not the most suitable one because it causes two undesirable situations.

The first one relates to the fact that the inclusion level is too broad. It is too general to say that a program is a project management application.

The second situation happens when the use of the term causes confusion. Maybe people taking part in the communication attribute different meaning to that software category. There are two reasons which explain this fact from my point of view:

  • I do not know programs which cover all the process areas and, in case they exist, they are a minority and are not widely spread.
  • Project managers use a set of programs which cover just some of the mentioned areas (but not all of them).

Therefore, if we take into account both things, we find scenarios where people use the term project management to mean qualitatively different applications and that is the cause of the confusion.

The solution I suggest to avoid these problems is to use the process area name(s) to categorize applications and add this prefix to the project management term. Besides, many times this last part will be implicit and not necessary. As an example, we can say that NavalPlan covers (2) and (4) areas and, thus, would be a planning, monitoring and control tool.

Finally, I would like to end up with a last perception about applications which have among their features:

  • Bug tracking.
  • Time tracking.
  • Wiki
  • Calendar
  • Document management
  • etc

These applications are very common and I do not know a specific term for them, apart from project management. They are used for coordination, for resource collaboration, etc during the execution of certain type of projects.

Having said that, the idea I want to share, is that, according to my proposal, I would call them executing project tools, (3) area.

I will go in depth about project management tools categorization in a later blog entry.

by javier moran rua at January 26, 2011 08:10 PM

October 27, 2010

Lorenzo Tilve

Technological visit to the Nordic Countries: Stockholm

During this week, Igalia is taking part on a technological visit to Nordic IT research centers. Our purpose is to learn from them in which areas they are focusing their innovation, and study how our experience could be used to create common opportunities. Also we would like to open new collaborative paths for the work being done from the web group, and more concretely for NavalPlan application, either by getting in touch with free software associations interested in providing solutions based on this free software planning tool, or industrial clusters that could consider its evaluation.

The two days I was at Stockholm I could met the next people:

  • Daniel Stenberg and Simon Josefsson from Fossgrupen, seeing that we are hacking on related technologies as libsoup, tinymail/modest and Kerberos protocol, or GTK stuff, for instance (Andreas Nilsson is part of that group). As they have also connections with companies providing services to different sectors, that leaves a path open for opportunities based on NavalPlan web application.
  • At Kista, we met Hans Hentzell, the CEO of Swedish ICT, explaining how this group of research institutes is open to collaboration with European companies interested in joint investigation projects. He introduced us Acreo, a little bit more focused on pure electronics.
  • We met Ingvar Sjöberg, head of Digital Art Center, and the guy who designed the Mindball! As far as art and creativity, on particular in the web, is conditioned by the browsers, we see that the work that is being done on engines like WebKit it is an important factor in their success.

I thank all of them for their time.

by Lorenzo Tilve at October 27, 2010 04:51 PM

April 26, 2010

Xavier Castaño

Navalplan at III Asolif companies summit

I been talking about Navalplan at III Asolif companies summit where free software companies from Spain meet to create new business opportunities, to collaborate in  projects or to do some networking. There, we have found some companies that saw this project as an interesting project and they are going to try it out. You could do the same :)!!!

NavalPlan is an application boosted by “Fundación para o Fomento da Calidade Industrial e o Desenvolvemento Tecnolóxico de Galicia” to improve the production management of the companies from galician naval auxiliary sector. However, it is very useful for other companies that plan their companies based on projects, being able to plan, follow their projects and control employee hours assigned to projects.

by xavier castano at April 26, 2010 03:35 PM

March 18, 2010

Xavier Castaño

Navalplan website

Yes!, we have name “Navalplan” and we have new website “”.

This is going to be the site where we will publish main project resources. At this moment, we explain what is the project about, publish a link to online demo and information about where the source code can be downloaded.

We are still in development phase so during next weeks we will publish more information and resources (like deb packages, user documents, etc).

by xavier castano at March 18, 2010 04:49 PM

December 02, 2009

Xavier Castaño

Production management project

Today I was talking in “Free Software World Conference” in Caceres about a project Igalia is developing for Xunta de Galicia and naval companies. We don’t have name for it, I think we will have one at the end of  December. However, we have some public resources:

  • Git temp repository:
  • Bugtracker
  • Last deployment: User: admin/admin.

This project is licensed as AGPL. You can test it and if you have any comments they will be welcome.

by xavier castano at December 02, 2009 08:25 PM