Extension:OnlineStatusBar
|
OnlineStatusBar Release status: stable |
|||
|---|---|---|---|
| Implementation | User activity | ||
| Description | Adds little bar with icon indicating whether user is online or not on user page. | ||
| Author(s) | Petr Bena | ||
| Last version | 1.0.2 (2011-11-10) | ||
| MediaWiki | 1.17.0 or higher | ||
| Database changes | yes | ||
| License | GPL | ||
| Download |
Download snapshot (Git master)
Git [?]: repo summary • tree • code changes SVN [?]: checkout-url • tree • code changes |
||
| Example | see here | ||
|
|||
|
Check usage (experimental) |
|||
OnlineStatusBar adds a little bar to user and talk pages of each user who enabled it, which signalizes whether they are available or not. It also creates the magic word {{ISONLINE}} which may be used on user pages to check the status of a user. It is available in the user preferences.
Contents |
[edit] Installation
- Add the required tables to the database; on the command line, enter:
(Note: Your designated database user needs to have CREATE rights on your MediaWiki database.)php maintenance/update.php
Alternatively you may create a table manually as defined in OnlineStatusBar.sql, by just executing it in the database. - Just add the line:
to LocalSettings.php
require_once("$IP/extensions/OnlineStatusBar/OnlineStatusBar.php");
[edit] Configuration
You may insert those parameters into LocalSettings.php:
$wgOnlineStatusBarDefaultIpUsers- if you want to track also ip users$wgOnlineStatusBarDefaultOnline- default online status$wgOnlineStatusBarDefaultOffline- default offline status$wgOnlineStatusBarDefaultEnabled- if it's enabled for all users as default$wgOnlineStatusBarWriteTime- delay between database write access for update$wgOnlineStatusBar_LogoutTime
[edit] Documentation
[edit] How does it work
This extension creates a new table which contains username and last time when user opened some page. Each user has option to enable it in preferences (under Misc heading), all users who do not have it enabled are not affected and do not update this table. When user login or logout it insert / delete the record from table, expired records are frequently removed so that table is very small, users update the table everytime when they read any page so that information whether they are available is updated.
When viewing a user page where enabled it will show the current users availability like so:
[edit] Caching
Extension is using caching in order to access db only when it's necessary, memcached is required for that.
[edit] Api
New module for api called "onlinestatus" is available, you can display user online status by opening:
api.php?action=query&prop=onlinestatus&onlinestatususer=User
where User is username of user
[edit] Performance
It reads db everytime when user who has this enabled open any page (cached) in order to find if it's necessary to update timestamp, if timestamp is older than value specified in config, it's updated, thanks to that extension shouldn't write more frequently than once a 5 minutes or so.
[edit] Classes
It contains 4 classes each in separate file
[edit] OnlineStatusBarHooks
This class contains the hooks which are used.
[edit] ISONLINE
Extension also add a magic word {{isonline}} which turns to current status of user, possible states are:
- online - User in online
- away / busy - User is away or busy
- unknown - User doesn't want to be tracked or it's not a user
- offline - User is offline
[edit] See also
- Stable extensions
- User activity extensions
- Extensions in Wikimedia version control
- UserLoginComplete extensions
- UserLogoutComplete extensions
- GetPreferences extensions
- ParserGetVariableValueSwitch extensions
- ArticleViewHeader extensions
- UserGetDefaultOptions extensions
- LoadExtensionSchemaUpdates extensions
- MagicWordwgVariableIDs extensions
- BeforePageDisplay extensions
- All extensions
- 2012 Q1 Extension Page Review Drive
