Active Installs 2 API

Last modified by Admin on 2024/05/11 01:04

cogAPI to send XWiki instance ping data and query it
TypeJAR
CategoryAPI
Developed by

XWiki Development Team

Rating
0 Votes
LicenseGNU Lesser General Public License 2.1
Bundled With

XWiki Standard

Compatibility

Since XWiki 14.5RC1

Installable with the Extension Manager

Description

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. 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
  • Your Database name and version
  • Your Java vendor & version, and specifications
  • Your Servlet Container name and version
  • Your Memory usage: maximum JVM memory and current JVM memory

New from version 2 of Active Installs:

  • The number of pages in the main wiki, in each wiki and in total. Note that this includes pages coming from extensions too.
  • The number of users registered in the main wiki, in each wiki and in total. Note that only active users are counted.
  • Total number of wikis in the XWiki instance (including the main wiki)

Dashboard

The ActiveInstalls records can be browsed using a Kibana dashboard.

The old ActiveInstalls 1 data can be seen on the XWiki.org Active Installs page (or on the old Kibana instance)

History

This is version 2 of the Active Installs API (see Client API and Server Application). This is a new extension, and not a new version of the v1 of Active Installs. The main reason is that version 2 supports Elasticsearch 8.x while version was supporting Elasticsearch 1.x. It's not easy to migrate from 1.x to 8.x and thus we wanted to be able to install both extensions side by side on xwiki.org.

Format

Example:

{
"date": {
"current": "2022-05-16T14:47:56.405538459Z",
"first": "2022-05-16T14:47:56.405538459Z",
"since": 0
},
"memory": {
"total": 536870912,
"max": 1610612736,
"used": 235463944,
"free": 301406968
},
"os": {
"name": "Mac OS X",
"arch": "aarch64",
"version": "12.2"
},
"documents": {
"total": 111000,
"main": 10000,
"wikis": [1000, 100000]
},
"distribution": {
"extension": {
"features": ["featureId/featureVersion"],
"id": "distributionId",
"version": "distributionVersion"
},
"instanceId": "1873627e-ee7f-4cbb-9933-a74ebbfa924a"
},
"users": {
"total": 1110,
"main": 100,
"wikis": [10, 1000]
},
"extensions": [{
"features": ["featureId1/featureVersion1"],
"id": "extensionId1",
"version": "extensionVersion1"
}, {
"features": ["featureId2/featureVersion2"],
"id": "extensionId2",
"version": "extensionVersion2"
}],
"database": {
"name": "databaseProductName",
"version": "databaseProductVersion"
},
"java": {
"vendor": "JetBrains s.r.o.",
"version": "11.0.13",
"specificationVersion": "11"
},
"servletContainer": {
"name": "servletcontainername",
"version": "servletcontainerversion"
},
"wikis": {
"total": 3
}
}

Configuration

#-# The URL of where the Active Installs 2 module should connect to in order to send a ping of activity. This feature
#-# regularly sends anonymous information to xwiki.org about the current instance.
#-# The goal is to count the number of active installs of XWiki out there and provide statistics on xwiki.org
#-#
#-# The default is:
# activeinstalls2.pingURL = https://extensions.xwiki.org/activeinstalls2

#-# Default user agent used when sending pings.
#-# The default is:
# activeinstalls2.userAgent = XWikiActiveInstalls2

Opting Out

To opt-out and not send a daily ping to xwiki.org (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!), you can simply configure the ping URL to be empty in xwiki.properties (and restart XWiki), as in:

activeinstalls2.pingURL = 

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-activeinstalls2-api 16.3.1):

Get Connected