Whenever a user is logged in through the login servlet, the context id, user id, client identification string and a time stamp is saved to the database. If a database entry for this combination of context, user and client is already present, only the timestamp is updated. This means that the database holds the information for the last login of a specific user with a specific client. This data can be displayed with the
Only logins are counted. Depending on the server configuration and the client, sessions may be reused when a user re-accesses the system even after a few hours or days. In this case the login timestamp is not updated. This means that logincounter does not necessarily show the number of active users.
The clients provided by Open-Xchange use the following client identification strings (this list is not yet complete):
|Client||client identification string|
|Open-Xchange AppSuite (Web UI)||open-xchange-appsuite|
|Open-Xchange Server 6 (Web UI)||com.openexchange.ox.gui.dhtml|
|Connector for Business Mobility (Active Sync)||USM-EAS|
|Connector 2 for Microsoft Outlook||OpenXchange.HTTPClient.OXAddIn|
|Mobile Web App (legacy, OX6 generation)||com.openexchange.mobileapp|
A custom login page (see Open-Xchange_servlet_for_external_login_masks) may (and should) set a custom client identification string.
The output of
logincounter can be filtered by client identification strings with the
--regex parameter followed by a regular expression matching the desired string(s).
# logincounter --help usage: logincounter -a,--aggregate Optional. Aggregates the counts by users. Only the total number of logins without duplicate counts (caused by multiple clients per user) is returned. -e,--end <arg> Required. Sets the end date for the detecting range. Example: 2010-01-1 23:59:59 -h,--help Prints a help text -r,--regex <arg> Optional. Limits the counter to login devices that match regex. -s,--start <arg> Required. Sets the start date for the detecting range. Example: 2009-12-31 00:00:00