Extension:OnlineStatusBar/cs

Category:GPL licensed extensions/cs
Příručka k rozšířením MediaWiki
OnlineStatusBar
Stav rozšíření: stabilníCategory:Stable extensions/cs
Implementace Uživatelská aktivita Category:User activity extensions/cs
Popis Přidá malý pruh s ikonou, která indikuje, zda je uživatel na uživatelské stránce online či nikoli.
Autoři Petr Bena
Nejnovější verze 1.2.0 (2019-12-08)
Zásady kompatibility Vydání snímků současně s MediaWiki. Hlavní vývojová větev není zpětně kompatibilní.
Změny v databázi Ano
Licence GNU General Public License 2.0 nebo novější
Stáhnout Category:Extensions in Wikimedia version control/cs
  • $wgOnlineStatusBarDefaultOnline
  • $wgOnlineStatusBar_WriteTime
  • $wgOnlineStatusBarDefaultOffline
  • $wgOnlineStatusBar_LogoutTime
  • $wgOnlineStatusBarCacheTime
  • $wgOnlineStatusBarTrackIpUsers
  • $wgOnlineStatusBar_AwayTime
  • $wgOnlineStatusBarAutoDelete
  • $wgOnlineStatusBarDefaultEnabled
Čtvrtletní stahování 1 (Ranked 91st)
Přeložte rozšíření OnlineStatusBar, používá-li lokalizaci z translatewiki.net
Problémy Otevřené úkoly · Nahlásit chybu
Category:All extensions/cs

Rozšíření OnlineStatusBar přidává na uživatelské a diskusní stránky každého uživatele, který ho povolil, malý pruh, který signalizuje, zda je daný uživatel k dispozici či nikoli. Také vytváří magické slovo {{ISONLINE}}, které lze použít na uživatelských stránkách ke kontrole stavu uživatele. Je k dispozici v uživatelských preferencích.

Instalace

Pokud se vaše wiki nachází na vzdáleném serveru, extrahujte soubory do dočasného adresáře na vašem lokálním počítači a poté nahrajte všechny extrahované soubory do adresáře s rozšířeními na serveru.
  • Stáhněte soubor/y a vložte je do adresáře pojmenovaného OnlineStatusBar ve vaší složce extensions/.
    Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/OnlineStatusBar
  • Na konec vašeho souboru LocalSettings.php přidejte následující kód:
    wfLoadExtension( 'OnlineStatusBar' );
    
  • Spusťte aktualizační skript, který automaticky provede všechny nezbytné databázové změny, jaké rozšíření vyžaduje.
  • Spusťte následující SQL dotaz pro vytvoření dalších tabulek v databázi MediaWiki:
CREATE TABLE online_status (
`username` varchar(255) NOT NULL default '',
`timestamp` char(14) NOT NULL default '',
PRIMARY KEY USING HASH (`username`)
) ENGINE=MEMORY;

Pokud používáte SQLite, použijte místo toho tento SQL dotaz:

CREATE TABLE online_status (
username varchar(255) NOT NULL default '',
timestamp char(14) NOT NULL default ''
);
CREATE INDEX username ON online_status (username);

Konfigurace

You may insert those parameters into LocalSettings.php:

  • $wgOnlineStatusBarDefaultIpUsers – pokud chcete sledovat i uživatele IP adres
  • $wgOnlineStatusBarDefaultOnline – výchozí online stav
  • $wgOnlineStatusBarDefaultOffline – výchozí offline stav
  • $wgOnlineStatusBarDefaultEnabled – pokud je to ve výchozím nastavení povoleno pro všechny uživatele
  • $wgOnlineStatusBarWriteTime – zpoždění mezi přístupy k zápisu do databáze pro aktualizaci
  • $wgOnlineStatusBar_LogoutTime

Dokumentace

Jak to funguje

Toto rozšíření vytvoří novou tabulku, která obsahuje uživatelské jméno a čas, kdy uživatel naposledy otevřel nějakou stránku. Každý uživatel má možnost tuto možnost povolit v nastavení (v sekci Různé). Všichni uživatelé, kteří ji nemají povolenou, nejsou ovlivněni a tato tabulka se neaktualizuje. Když se uživatel přihlásí nebo odhlásí, vloží/odstraní záznam z tabulky. Prošlé záznamy jsou často odstraňovány, takže tabulka je velmi malá. Uživatelé tabulku aktualizují pokaždé, když si přečtou jakoukoli stránku, aby se aktualizovala informace o tom, zda jsou záznamy k dispozici.

Při zobrazení uživatelské stránky, kde je tato funkce povolena, se aktuální dostupnost uživatelů zobrazí takto:

Ukládání do mezipaměti

Rozšíření používá ukládání do mezipaměti, aby přistupovalo k databázi pouze v nezbytných případech, k tomu je vyžadován memcached.

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

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.

Classes

It contains 4 classes each in separate file

OnlineStatusBarHooks

This class contains the hooks which are used.

ISONLINE

Extension also add a magic word {{isonline}} which turns to current status of user, possible states are:

  • online – User is 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

Working inside the Foreground Skin

To make this extension show up at the right place inside the Foreground skin, the same skin as Wikiapiary, you need to change the following line:

On line 36 of resources/ext.onlinestatusbar.js change:

// Add status bar wrapper
		$( 'h1' ).first().prepend( $statusbarFields );

to:

// Add status bar wrapper
		$( 'h2.title' ).first().prepend( $statusbarFields );

Cindy.cicalese, the writer of the Extension:Title Icon, found this fix.

Category:All extensions/cs Category:ArticleViewHeader extensions/cs Category:Extensions in Wikimedia version control/cs Category:GPL licensed extensions/cs Category:GetPreferences extensions/cs Category:LoadExtensionSchemaUpdates extensions/cs Category:MagicWordwgVariableIDs extensions/cs Category:ParserGetVariableValueSwitch extensions/cs Category:Stable extensions/cs Category:UserGetDefaultOptions extensions/cs Category:UserLoginComplete extensions/cs Category:UserLogout extensions/cs Category:User activity extensions/cs