LibrePlan - Open Web Plannig

LibrePlan Planet

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 at April 21, 2012 06:11 PM

April 20, 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.

by Manuel Rego Casasnovas at April 20, 2012 10:45 AM

April 19, 2012

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 at April 19, 2012 05:52 PM

March 28, 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.

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

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 ;-)

by Manuel Rego Casasnovas at March 28, 2012 09:23 AM

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:

Progress

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

Time

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.

Resources

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.

Cost

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 28, 2012

Diego Pino

Beatiful PHP Code

Recently Salvatore Sanfilippo, creator of Redis, made the following controversial tweet:

“I’ve the feeling that Ruby, Python, and other communities should help the PHP community to reach a more viable language ASAP”. [link]

This is the kind of stuff which usually ignites a flame :) Fortunately the conversation evolved into a more healthy discussion about what PHP lacks, especially compared to Ruby. In any case, some times I feel the same as Salvatore, not much about the particularities of the language itself but how most people use it.

Compared to other languages, PHP is a low-entry language. It’s easy to pick up, even without much experience in programming. This brings good and bad stuff. People without much computer knowledge can implement their own ideas, which is good, but most part of the times without caring much about code quality. It’s very common to look for some PHP code and find stuff like building a very long HTML string and then echo it, for instance. Actually, it took me some years to learn that PHP can be used either as a template language and as a programming language. Once I learned this, I started to separate view code from business logic code in a much clearer and organized way, something which frameworks like Ruby on Rails foster and care about since day 1.

Code like this:

function list(array) {
   $html .= '
    '; foreach ($array as $elem) { $html .= '
  • '.$elem.'
  • '; } echo $html; }

Could be rewritten as:

Or even like:

function list($array) {
   include_once('templates/ulist.html.php');
}

(templates/ulist.html.php)

Separating view from business logic makes code easier to read and understand. It also helps to start thinking more in an object-oriented way, encapsulating business logic in classes.

Take a look at this piece of real code. It’s part of the extension Kickstarter from Typo3 CMS.

(typo3conf/ext/kickstarter/class.tx_kickstarter_wizard.php)

$content = '

   function setFormAnchorPoint(anchor) {
      document.'.$this->varPrefix.'_wizard.action = unescape("'.rawurlencode($this->linkThisCmd()).'")+"#"+anchor;
   }

';

Wouldn’t be easier to isolate the Javascript code into a different file and include it? This is what RoR does all time, it’s called partials. The same code in Rails would be something like this:

render 'partials/_jscode.html.eml', :varPrefix => @varPrefix,
   :url => rawurlencode(self.linkThisCmd());

The snippet above could be translated into PHP as this:

Partial::render('partials/_jscode.html.php', array(
   'varPrefix' => $this->varPrefix ,
   'url' => rawurlencode($this->linkThisCmd()),
));

And write _jscode.html.php as:

   function setFormAnchorPoint(anchor) {
     document._wizard.action = unescape("") +
        "#"+anchor;
   }

Partial is a helper class which includes a file and make the hash of vars parameter visible inside the included file (check the code here: Partials-PHP). It also provides a function called inline which does the same as the method render but returns the result as a string. The original Typo3 code could be finally rewritten as:

$content = Partial::inline('partials/_jscode.html.php', array(
   'varPrefix' => $this->varPrefix,
   'url' => rawurlencode($this->linkThisCmd()),
));

This is just an example on how you can do your PHP code more beautiful and easier to understand. It’s not only a matter of whether PHP is a good or bad language itself (as any other language it has its pros and its cons), but also about how we as programmers use the language. Fortunately, nowadays in PHP there are good frameworks which promote good practises, frameworks like CakePHP, CodeIgniter or Kohana, which interestingly were inspired by Django and Rails.

by diego pino at January 28, 2012 10:01 PM

January 18, 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 Freenode.net, 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.

by Manuel Rego Casasnovas at January 18, 2012 11:27 AM

December 30, 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 www.libreplan.com. 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.
  • SorceForge.net Page: LibrePlan uses SorceForge.net 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!

by Manuel Rego Casasnovas at December 30, 2011 09:21 AM

December 15, 2011

Manuel Rego

LibrePlan in Transifex.net

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 Transifex.net 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.

by Manuel Rego Casasnovas at December 15, 2011 04:13 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

September 01, 2011

Manuel Rego

LibrePlan Summertime

We’re starting September and the first release using LibrePlan name should happen during this month. We’ve a small delay regarding our initial plans but we think that we should be able to have something ready more or less by the end of the month and release LibrePlan 1.2.

LibrePlan logo
The new logo has been designed by Opsou and we’re really happy with the final result, you can read more information in their blog (in Spanish). Now Igalia is collaborating with them in order to create a nice new website that should have a draft version soon ;-)

 

During the summer the team has enjoyed some holidays, but we’ve been working hard in the future LibrePlan release. You will find a lot of interesting changes in this new version:

  • Migration to ZK 5: This required a great effort that was started by Farruco Sanjurjo in summer 2010 during an Igalia internship, and we’re currently closing latest minor issues regarding this task. Thanks to this change LibrePlan performance has been improved with simultaneous users.
  • Prevent lose changes: Several users have reported that sometimes they lose some changes because they forget to save before moving between perspectives in a project. We call perspective to each different view LibrePlan provides over the same data: Gantt view, WBS, resource load, advanced allocation. We’re doing some changes in order to mitigate these issues, in LibrePlan 1.2 the different perspectives are going to share the same state, so users will be able to change between them without losing any change (more information in the mailing list thread).
  • LDAP support: ComtecSF guys have been working in this task that is ready in development branch since some time ago. So, from now on you don’t need to register all the users in LibrePlan if you already have a LDAP available; moreover you can configure the matching between LibrePlan roles and LDAP groups.
  • Functional tests: Like we think that stability is a really important feature for a project like LibrePlan, we have started to use Sahi to create some functional tests (more information in Javi’s blog). This work is been done by Pablo Fernández during his master practicum in Igalia (in Spanish).
  • LibrePlan screenshot in Russian languageNew translations: This week we’ve received the Russian translation by Pavel Rudensky that you can already test in the LibrePlan on-line demo, thanks Pavel for your great work :-) . Besides, other people is working in some translations too, so if you want to have LibrePlan in your language you can help us following the instructions at wiki. If you have any doubt you can contact us on #navalplan IRC channel at Freenode.
  • Other: As usual we’ve fixed lots of issues and done some other minor tasks that you will enjoy in the new version. And also released two minor versions with bugfixes: 1.1.2 and 1.1.3.

This is just a small update about the upcoming LibrePlan 1.2 release; in the official announcement you’ll find a more detailed description. Now let’s move to code again, happy hacking!

by Manuel Rego Casasnovas at September 01, 2011 03:20 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

June 29, 2011

Manuel Rego

NavalPlan Web Services

One of the important features of NavalPlan is the integration with other software like, for example, ERPs. This integration is done with different web services provided by the application.

When we talk about NavalPlan integration we usually explain two different ways:

  • With 3rd party applications: Allowing connect your ERP with NavalPlan to send your project data, resources and even the hours worked by them.

    In order to send data to NavalPlan or extract data from it you will need to use the implemented web services. I’ve been writing a small document explaining how to use and test NavalPlan web services, as some users where lately asking the same questions about this topic. There’re web servicies for a lot of entities and it’s not hard to develop a new one if needed.

  • With other NavalPlan instances: Sending parts of your project to subcontractors allowing to report project progress. This is done in the main interface of NavalPlan with different visual options.

I hope you find this new document useful and now you can understand better how NavalPlan web services work.

by Manuel Rego Casasnovas at June 29, 2011 04:02 PM

June 13, 2011

Manuel Rego

Some updates about me in Igalia

It’s been over 4 years since I joined Igalia back in April 2007. This has been a really nice period in my personal and professional life, I haven’t stopped to learn from the beginning and enjoyed the time with the rest of Igalia crew. Following the expected path, past month I’ve become parter and co-owner of the company, which makes me feel really happy and proud. It’s really great share this experience with all you guys ;-) .

Igalia Summit Spring/Summer 2011 group photo by QuiueOn the other hand, last weekend of May, we arranged a new Igalia Summit, this time in Palas de Rei (Lugo). As usual I didn’t miss the chance to attend and I took advantage to meet the last igalians joining the team and enjoy the weekend there. Even being a poor guitarist, I dared to join the Igalia Blues Band (the band that doesn’t play blues) :D .

Like my last times in Igalia are fully attached to NavalPlan, I’d like to give a update in project as I haven’t written any posts during May (this could mean that we’ve been working really hard in NavalPlan 1.1 release):

  • Back in May Diego Pino presented NavalPlan at LinuxTag 2011 in Berlin (see the slides with some demo videos).
  • A new company, ComtecSF, is joining the development team together with Igalia and Wireless Galicia. They are currently working in LDAP integration, I’d like to thank Ignacio Díaz and Cristina Alvariño for their work and collaboration.

    More companies are showing interest in the project too and, as time passes, more users appear.

  • Version 1.2 is planned for September and roadmap is already defined. This will be the first version using the new name LibrePlan 1.2, we’ll try to have the new website ready on time.
  • Finally past Tuesday, the 7th, we published NavalPlan 1.1.1, the last stable release, with several performance improvements.

PS: If you haven’t tried NavalPlan yet, you should give it a try. It’s going to make your life easier in your daily project management tasks and it’ll help you to manage and plan your projects and resources.

by Manuel Rego Casasnovas at June 13, 2011 08:54 AM

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

April 14, 2011

Manuel Rego

Improving error messages in NavalPlan

Lately we have been teaching training courses for NavalPlan users and developers. These courses are a great opportunity to see how people uses the application, which allows us to detect different usability problems in some windows.

As time passes, project is gaining some relevance, for example NavalPlan will be present at LinuxTag 2011. This implies that more people are starting to use the application and, accordingly, starting to report more bugs.

We’ve detected a problem in the error messages in NavalPlan, as currently they’re not informative and just show a basic message when some runtime error appears. Moreover, in some cases users don’t have access to server logs, therefore they can’t send us more information that a screenshot with the error message shown.

We’ve modified the way errors are reported to users and now NavalPlan shows more comprehensive information about the exception including stacktrace. This will make user’s life easier when detecting some issue in order to report them using the bugzilla, without needing to dig into the logs.

NavalPlan example error message

NavalPlan example error message

As you can see in the picture, apart from error message, exception type, status code and stacktrace are shown. Stacktrace appears into a textbox in order to make easier copy&paste the information.

For the future, we should study the possibility to add some button to allow users send the information directly to the development team via e-mail, web service, …

by Manuel Rego Casasnovas at April 14, 2011 08:07 AM

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 SourceForge.net. 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 18, 2011

Manuel Rego

NavalPlan in Valencia

"VALENCIA 2008" by "ho visto nina volare"Next week, Javi Morán and me, will be in Valencia giving a NavalPlan user course to some people from Generalitat Valenciana. They already had a successfully experience working with free software in public administration with gvSIG project, and we hope that the history could be repeated again with NavalPlan in the short term.

So, if you are around Valencia (between Sunday 20th and Wednesday 23rd) and want to meet us to talk about NavalPlan, Igalia, or free software in general; just leave a comment in this post or contact us.

Valencia here we go!

by Manuel Rego Casasnovas at March 18, 2011 10:55 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

March 01, 2011

Manuel Rego

How to create reports in NavalPlan (JasperReports integration)

This post has the intention to announce a small tutorial I’ve just written called How To Create A New Report In NavalPlan. From tutorial abstract:

NavalPlan uses JasperReports to create reports in the application. This document tries to explain how to create a new report in NavalPlan.
During this tutorial you are going to create a report that will show the list of resources in NavalPlan.

This manual was created with the goal of helping developers to create new reports in NavalPlan. Following the steps described in the document, you will create a simple report which will generate the list of resources stored in NavalPlan.

However, it’s not a tutorial about how to use JasperReports or iReport, it’s just about how to integrate those tools in NavalPlan following project architecture and conventions.

Finally, please don’t hesitate to contact us on mailing lists or IRC channel if you find any issue. I hope you find it useful ;-)

by Manuel Rego Casasnovas at March 01, 2011 11:47 AM

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

January 14, 2011

Manuel Rego

NavalPlan – First public IRC meeting

Yesterday, NavalPlan community met at #navalplan channel on IRC. Even when most of us are igalians, also some other external people attended and participated in the meeting. We’re really glad to see that project community is growing bit by bit. ;-)

In the meeting we defined the roadmap for next release, more info in the official piece of news. This was the first public meeting of NavalPlan and, IMHO, it worked quite well, so we’ll repeat the experience in the future.

BTW, Igalia web group is looking for a new hacker to help us keep rocking on the web free software world. Send us your resume if you’re interested.

by Manuel Rego Casasnovas at January 14, 2011 08:50 AM

January 11, 2011

Manuel Rego

NavalPlan 1.0 – Some random numbers

Past week we published the first stable version of NavalPlan, you can read the announcement for more information about version 1.0.

In this post I’d like to highlight some numbers around NavalPlan development. You can easily check the amount of work done with a quick review to the following numbers:

Finally, I would like to publicly thank the whole team for their effort during this time. Thank you all, we have reached an important step where we have a stable release of the product available for end users. NavalPlan 1.0 is here! We should be really proud ;-)

PS: You can find these numbers and more information related with development in NavalPlan page at Ohloh. Ohloh is a nice website about free software projects, which extracts information directly from source code repositories.

by Manuel Rego Casasnovas at January 11, 2011 12:36 PM

January 07, 2011

Manuel Rego

NavalPlan Ubuntu PPAs

During this week and as part of the work packing NavalPlan for 1.0 release, I’ve been working in create Ubuntu PPAs for NavalPlan project. I’ve decided to use PPAs because is a really nice way to publish your last development and make it easily available for end users.

Now if you want to install NavalPlan in Ubuntu you will just need to run the following commands:sudo add-apt-repository ppa:mrego/navalplan
sudo apt-get update
sudo apt-get install navalplan

And you will have automatically installed last version of NavalPlan in your computer. Even more, when a new version is released you will be automatically notified by Ubuntu package manager and you could easily upgrade to the newer version.

PS: As you can read we have released NavalPlan 1.0 version today. I’ll write a post next week talking about this important release. But, for the moment, you could take advantage of PPAs, any other built packages or the on-line demo to test the project and provide us feedback.

by Manuel Rego Casasnovas at January 07, 2011 09:58 PM

December 23, 2010

Manuel Rego

NavalPlan – Small features that will make your life easy

Last week we add the latest features for first NavalPlan stable version. This week and the next one we are going to work hard in order to test the application and fix a lot of bugs. After this phase we should be doing 1.0 release during first week of January.

Talking about past week, we added 2 small features that, in my humble opinion, are really important for end-users:

  • New project wizard (by Susana)

    Create project wizard

    When you create a project you will need to fill a small popup with general data about the project. After that you will be redirected to WBS tab where you could easily add the tasks that compose your project.

  • New tasks are scheduled by default (by Óscar)

    Tasks scheduled by default

    People usually have problems to create Gantt charts in NavalPlan, this was because you need to explicitly mark as scheduled the tasks added in the WBS tab. From now on, tasks are scheduled by default, so you wouldn’t need to worry about this issue. Just remember that if you don’t want to schedule all the tasks in your WBS, you still have the chance to unschedule some tasks using the proper icon Unschedule icon.

    Gantt chart

    Then if you go to Project Scheduling view, don’t forget to save the current project before, you will get a Gantt chart like the one in the image, where you could start to add dependencies and allocate resources.

Unschedule icon

You can enjoy this new features in the on-line demo and also in the last Debian package. We hope you find them useful ;-)

by Manuel Rego Casasnovas at December 23, 2010 12:28 AM

December 03, 2010

Manuel Rego

NavalPlan: Road to 1.0

We continue taking steps to open NavalPlan development. This week we’ve made public the project wiki where you can find information about the development, like for example which tasks we’re currently working on.

One important point is that we’ve already defined a roadmap for the project and, if everything goes right, we’ll have a first stable release at the beginning of 2011. This would mean that version 1.0 will be released. Moreover we’ve agreed to publish new stable versions of the product each 3 months, in order to make easier end-users life, you can check the plan in the wiki.

We’re doing our bests in order to achieve our goals and reach version 1.0 on time. More news coming soon, stay tuned ;-)

by Manuel Rego Casasnovas at December 03, 2010 11:02 AM

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

September 26, 2010

Diego Pino

Configure Hibernate Tools

Hibernate Tools is a set of tools, provided as a plugin for Eclipse, which can ease your work with Hibernate. Among other features, it includes a Object mapping generator and a HQL editor. I find the HQL editor very convenient as it can be very useful for trying and polishing queries before starting to code.

In this post, I cover how to set up Hibernate Tools, using my current working environment (NavalPlan) as example. NavalPlan is a web-based open-source planning tool. You can read more about it here.

First, install Hibernate Tools for Eclipse:

  • Click on Help -> Install New Software…
  • Click on ‘Add‘ to add a new repository. Location: http://download.jboss.org/jbosstools/updates/stable/
  • Once all the available packages have been fetched, select ‘Hibernate Tools’ and click on ‘Next’ to proceed with the installation.

Once Hibernate Tools have been installed, click on Window -> Show View -> Others… A new window pops up, click on folder ‘Hibernate’ and select ‘Hibernate Configurations’ to setup a DB connection for Hibernate Tools.

Click on ‘+’ button at the top-left menu to create a new Configuration, and go through the following steps:

On the tab ‘Main’ fill up the following information:

  • Project. Select your project (in my case NavalPlan)
  • Database connection. Click on ‘New…’
  • Select ‘Generic JDBC’ and click ‘Next’.
  • Fill up the JDBC data for your DB. In my case, I’m using PostgreSQL:
  • Database: PostgreSQL
  • URL: jdbc:postgresql://localhost:5432/navaldev
  • User name: naval
  • Password: ******
  • Click on ‘Test Connection’ to ping the DB connection.
  • Click on ‘Next’ and then ‘Finnish’.

Now, on the tab ‘Options’, fill up the following:

  • Database dialect: PostgreSQL

Lastly, it’s necessary to feed the connection with the entity mappings. For doing that, click on the tab ‘Mappings’. Locate the main folder that contains your .hbm.xml files. Unfold any other folders within and select each .hbm.xml file of the entities you wish to import. In general, select all .hbm.xml as you may wish to query any entity of your application. This step can be a bit tedious as it’s necessary to click individually on each .hbm.xml file, however it’s possible to add new selections by pressing Ctrl + Click.

Once the .hbm.xml files have been added, click on ‘Finish’ to end the configuration. At this step, a new configuration should be created. Click on it to unfold. Hibernate Tools imports the entities selected on the previous step and you console is ready to execute HQL statements.

At the top-left menu click on the third option starting from the left, ‘Open HQL editor’. Try a simple HQL statement to check everything is working. In my case, I try a query for retrieving all Workers in NavalPlan:

SELECT worker FROM Worker worker

And that’s it!! Congratulations!! you can now try HQL queries before running any code ;-)

by Diego Pino at September 26, 2010 10:34 AM

September 14, 2010

Jacobo Aragunde

PhpReport meets NavalPlan

I haven’t posted about that, but I’m also involved in the development of NavalPlan, a production management application with features to schedule projects and follow their advance graphically, controlling the costs and deviations. I have to say its dynamic Gantt diagrams are quite impressive for a web application ;) .

NavalPlan has a work report system to store the information about the hours devoted by the employees to every task scheduled, and also provides web services to import and export those data, so it felt natural to connect PhpReport, our time tracking tool, with NavalPlan, to share the dedication data.

I’ve started writing a plugin for PhpReport to be executed right after creating a task, with the purpose of sending that task to NavalPlan using its web services. Right now it’s functional, but lacks extensive error checking. I still have to write similar plugins for the update and delete operations.

Check out the code from the remote branch navalplan-plugins in PhpReport repository:

git clone http://git.igalia.com/phpreport.git
git checkout origin/navalplan-plugins

This is how it looks, so far ;) :

Tasks in PhpReport

The same tasks, imported into NavalPlan as a work report

by Jacobo Aragunde at September 14, 2010 04:35 PM

July 16, 2010

Manuel Rego

NavalPlan moved to SourceForge.net

Since May 2009 a group of igalians have been working in a web application called NavalPlan. Maybe, you already know this project because of it was already presented by my mate Xavi in his blog some time ago. We’ve been very busy with this project (you can check it in the ohloh page) but now we can devote some time to the free software side of the project.

On the one hand, NavalPlan is licensed under AGPL. This license is really interesting for web apps because, if you simply use GPL, someone could modify your application and run it in a server without publish the changes (this doesn’t mean redistribute, it’s just serve). However, using AGPL it’s necessary that all the modified source code becomes available to the community if it’s used in a network server.

On the other hand, we used a public Git repository at git.igalia.com from the very beginning. But, this week we’ve moved the repository to SourceForge.net together with other resources like: mailing lists, forums, … (see the piece of news about that for more info).

To sum up, from now on we’re going to use these public resources available at NavalPlan page at SourceForge.net. We would be very grateful if we get some feedback from new users, developers and contributors trough them.

by Manuel Rego Casasnovas at July 16, 2010 07:07 AM

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 “http://www.navalplan.org/”.

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: http://git.igalia.com/xestion-producion.git
  • Bugtracker https://naval.igalia.com/bugtracker
  • Last deployment: https://naval.igalia.com/navalplanner-webapp/. 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