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
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

Je k dispozici nový modul pro API s názvem "onlinestatus", online stav uživatele můžete zobrazit otevřením:

api.php?action=query&prop=onlinestatus&onlinestatususer=User

kde User je uživatelské jméno uživatele

Výkon

Pokaždé, když uživatel, který má toto povoleno, otevře jakoukoli stránku (uloženou v mezipaměti), načte databázi, aby zjistil, zda je nutné aktualizovat časové razítko. Pokud je časové razítko starší než hodnota uvedená v konfiguraci, aktualizuje se, díky čemuž by rozšíření nemělo zapisovat častěji než jednou za 5 minut.

Třídy

Obsahuje 4 třídy, každou v samostatném souboru

OnlineStatusBarHooks

Tato třída obsahuje háčky, které se používají.

ISONLINE

Rozšíření také přidává magické slovo {{isonline}}, které se přepne na aktuální stav uživatele, možné stavy jsou:

  • online – uživatel je online
  • away / busy – uživatel je pryč nebo zaneprázdněn
  • unknown – uživatel si nepřeje být sledován nebo se nejedná o uživatele
  • offline – uživatel je offline

Práce uvnitř popředí

Aby se toto rozšíření zobrazovalo na správném místě uvnitř vzhledu Foreground, tedy ve stejném vzhledu jako Wikiapiary, je třeba změnit následující řádek:

Na řádku 36 v resources/ext.onlinestatusbar.js se mění:

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

na

// 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