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"}