Call home functionality - LibrePlan/libreplan GitHub Wiki

Introduction

For a long time there has been an option in LibrePlan to enable it to send user statistics back to the development team. But, also for a long time, it was never implemented. At the same time there was a big need within the development team to learn more about how users use the application.

Starting with release 1.4.2 there is a working option to send anonymous statistics back to the development team.

We identify a JSON package using a unique identifier that is a calculated hash from the ip address of the server together with its host name. That should guarantee a unique identifier and at the same time guarantee anonymity.

Implementation

The solution was to send back a JSON string with a unique identifier of the server. This JSON string is send only at application start-up with a time-out of 5 seconds. So if you are behind a firewall or this traffic is blocked it will not delay start-up. If the option is enabled in the settings we send this string every time at start-up time so we can also monitor the growth of the database.

Example

Below you see an example of the message that LibrePlan sends back to the development team.

{"json-version":3, 
"id":"657377c1341568d2c624f02490badd0b", 
"version":"1.4.2", 
"users":20,
"projects":21, 
"timesheets":26, 
"workers":12, 
"machines":1, 
"expensesheets":7, 
"materials":2, 
"assigned-quality-forms":0, 
"oldestDate":"2017-03-01T13:04:41.833Z"}