Active Installs Client API

Last modified by Admin on 2024/10/09 06:16

cogAPI to store instance UUID and send regular pings notifying that the instance is alive
TypeJAR
Category
Developed by

XWiki Development Team

Rating
0 Votes
LicenseGNU Lesser General Public License 2.1
Compatibility

Since XWiki 5.2M2
Deprecated in XWiki 14.5RC1

Installable with the Extension Manager

Description

XWiki 14.5+

This extension has been deprecated and is superseded by the ActiveInstalls 2 extension.

It's very important for the open source committers to understand how well or how badly they're faring when developing the XWiki open source project. Before the Active Installs feature we didn't know if the number of people using XWiki was increasing, decreasing or staying stable. 

This module allows everyone to know who's using XWiki by sending data from your running instance of XWiki (once per day). The data sent is anonymous and consists of the following:

  • A unique id (UUID) representing the XWiki instance. Note that not even the IP is kept and there's no way to find who's having a given UUID (it's generated using Java's UUID implementation)
  • The id, version and features of your XWiki distribution. Since XWiki 8.4, each packaging is sending a different distribution id (e.g. org.xwiki.enterprise:xwiki-enterprise-web, org.xwiki.enterprise:xwiki-enterprise-installer-debian-common, org.xwiki.enterprise:xwiki-enterprise-jetty-hsqldb)
  • The technical ids, versions and features of extensions you have installed.
  • Your OS name, achitecture and version (since XWiki 6.1)
  • Your Database name and version (since XWiki 6.1)
  • Your Java vendor & version (since XWiki 6.1) and specifications (since 9.7)
  • Your Servlet Container name and version (since XWiki 6.1)
  • Your Memory usage: maximum JVM memory and current JVM memory (since XWiki 8.3)

Note that the data format has changed between XWiki 5.2 and XWiki 6.1. Data sent by XWiki instances between 5.2 and 6.1 excluded are indexed under the installs/install Elastic Search index/type and after 6.1 they are indexed under the installs/install2 index/type. See below for more details.

This allows to present the following data.

In the future we might offer a UI feature to opt-out (in the Administration pages) but at the moment if you wish to opt-out (please don't, we need your help, knowing who's using us and that it's growing is what keeps the XWiki developers motivated to continue developing XWiki!), then simply remove the WEB-INF/lib/xwiki-platform-activeinstalls* JARs (or set the activeinstalls.pingURL property to empty in xwiki.properties) and restart. Recent versions of XWiki also contain XED files alongside the JARs. The WEB-INF/lib/xwiki-platform-activeinstalls* XED files can be removed as well, but leaving them in the folder won't have any functional consequence: XED files are only taken into account when matching a JAR.

Format Evolution

XWiki 9.0-rc-1, 8.4.1, 7.4.6

Features were also added to the information sent about extensions.

XWiki 8.4, 7.4.6

Features were added to the information sent about distribution. It allows separating and better group together the different types of XWiki Distributions (XWiki, XWiki Enterprise) and the various ways of installing XWiki (WAR, Debian, installer, etc.).

XWiki 7.3-milestone-2, 6.4.6, 7.1.3, 7.2.1

There was a bug in the computation of the sinceDays field resulting in it almost always being set to 0 (sometimes 1, 2 or 3 but not above). Thus starting with these XWiki versions the sinceDays field will be correct.

XWiki 6.1-milestone-1+

Some fields were added (see above).

  • ElasticSearch Index name: installs
  • ElasticSearch Index type: install2
  • Search example URL: http://localhost:9200/installs/install2/_search

Example:

{
   "dbName": "HSQL Database Engine",
   "extensions": [
        {
           "id": "org.xwiki.platform:xwiki-platform-dashboard-ui",
           "version": "6.1-SNAPSHOT"
        },
       ...
    ],
   "instanceId": "xxxxx-0846-4eec-85f0-yyyyyyy",
   "firstPingDate": 1399304100207,
   "dbVersion": "2.3.2",
   "javaVendor": "Oracle Corporation",
   "distributionVersion": "6.1-SNAPSHOT",
   "osName": "Linux",
   "sinceDays": 5,
   "osArch": "amd64",
   "distributionId": "org.xwiki.enterprise:xwiki-enterprise-web",
   "javaVersion": "1.7.0_51",
   "osVersion": "3.10.23-vs2.3.6.8-beng"
}

XWiki 5.2-milestone-2+

  • ElasticSearch Index name: installs
  • ElasticSearch Index type: install
  • Search example URL: http://localhost:9200/installs/install/_search

Example:

{
   "distributionId": "org.xwiki.enterprise:xwiki-enterprise-web",
   "formatVersion": "1.0",
   "distributionVersion": "5.2",
   "date": "2013-10-27T18:05:09.528Z",
   "extensions": [
        {
           "id": "org.xwiki.platform:xwiki-platform-dashboard-ui",
           "version": "5.2"
        },
       ...
    ]
}

Prerequisites & Installation Instructions

We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager).

You can also use the manual method which involves dropping the JAR file and all its dependencies into the WEB-INF/lib folder and restarting XWiki.

Dependencies

Dependencies for this extension (org.xwiki.platform:xwiki-platform-activeinstalls-client-api 14.4.8):

Get Connected