Latest news about our LibrePlan development work

Hi 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, so not visible to users. We saw that the LibrePlan configuration was stored in 1 record in the “configuration” table and was extended by everyone who wanted to add configuration information to LibrePlan. We developed a new table called AppProperties with the fields “id”, “major”, “minor”, “parameter” and “value”. The idea behind this is that everyone who wants to add configuration information can add his or her’s own records easily. The “major” field is meant for indication some large piece of functionality, like “jira” for a Jira connector. The “minor” field is used for some submodule within this piece of code and the “parameter” and “value” field I guess explain themselves.

We hope the LibrePlan community will accept this configuration model as a new way of storing configuration information.

Multiple connectors

After developing a Jira and a Timn (more on this later) connector and realizing that more connectors are on the way elsewhere in the world we discovered that it could be a good idea if we made connector configuration a different part of the configuration process. To make it more scale-able than it was. So we made a “connectors” tab in the configuration screen with a pull-down list for available connectors.

connectors-configuration

The parameters you can change come from the configuration database and all have a “test-connection” button to help in the process. A screenshot shows this:

test-connection-to-tim

Scheduler

We discovered that some connectors need to run automatically so we added a Java schedulerlibrary to LibrePlan. The configuration syntax is based on the well known crontab configuration syntax so you can enter it manually.

job-scheduling-screen

There is a section with some hints about the crontab syntax, the schedules next time to start the job and a manual button to trigger an extra run if you like to test data-exchange if you like.

There is also a little extra window to give you also some basic data-entry functionality.

cron-expression-input-screen

Timn Enterprise connector

This brings me to a new connector we developer specifically to interface with the Dutch Timn Enterprise product from Aenova. Timn is an application for the administration fo time spent on projects and tasks. It is a Dutch product and it is used a lot in large Dutch healthcare organisations and local municipalities (personally I am not very enthusiastic about the product but that is a whole other story). Anyway, we needed a way to sent all the billable hours stored/gathered in LibrePlan to Timn. Timn has some sort of soapish interface so we used that one to get out of Timn the roster of an employee (holidays, sick-leave, etc) and map that to the calender of a user, and we sent the timesheet info back to Timn.

This means that there is an extra connector that can be enabled and if that is done, an extra section is shown in all projectdata screens:

It shows you the last time a sync was made and with what product-code and you can edit and change to a new productcode if you like.

export-to-tim

In the XML format to the Timn interface we define a replacement key based on date, time, user and product so a replace action is done if the record
already exists.

Future plans

We will submit the patches shortly to the core LibrePlan team and look forward to their feedback so we can hopefully have it in 1.4 as soon as possible.

Miciele will than start with a new piece of functionality to LibrePlan because sometimes we want to plan a project more SCRUM-like with a backlog combined with resource allocation. As soon as there is something to show we will write about it again.

Bye for now,

Jeroen.

This entry was posted in LibrePlan. Bookmark the permalink.