Jump to content

Rozšíření:ConfirmAccount

From mediawiki.org
This page is a translated version of the page Extension:ConfirmAccount and the translation is 100% complete.
Příručka k rozšířením MediaWiki
ConfirmAccount
Stav rozšíření: stabilní
Implementace Identita uživatele , Databáze , Speciální stránka
Popis Vyžaduje předložení a schválení účtů.
Autoři Aaron Schulzdiskuse
Zásady kompatibility Vydání snímků současně s MediaWiki. Hlavní vývojová větev není zpětně kompatibilní.
MediaWiki >= 1.37.0
Změny v databázi Ano
Tabulky account_requests
account_credentials
Licence GNU General Public License 2.0 nebo novější
Stáhnout
README
  • $wgAutoWelcomeNewUsers
  • $wgAccountRequestTypes
  • $wgConfirmAccountNotice
  • $wgConfirmAccountCaptchas
  • $wgConfirmAdminEmailExtraFields
  • $wgConfirmAccountRequestFormItems
  • $wgConfirmAccountContact
  • $wgAccountRequestExts
  • $wgAccountRequestThrottle
  • $wgConfirmAccountFSRepos
  • $wgRejectedAccountMaxAge
  • $wgConfirmAccountSaveInfo
  • $wgConfirmAccountSortkey
  • $wgAutoUserBioText
  • $wgAccountRequestWhileBlocked
  • $wgConfirmAccountRejectAge
  • $wgMakeUserPageFromBio
  • confirmaccount
  • confirmaccount-notify
  • requestips
  • lookupcredentials
Čtvrtletní stahování 171 (Ranked 34th)
Veřejné wiki používající rozšíření 953 (Ranked 279th)
Přeložte rozšíření ConfirmAccount, používá-li lokalizaci z translatewiki.net
Problémy Otevřené úkoly · Nahlásit chybu

Rozšíření ConfirmAccount vypíná přímé zakládání nových účtů a vyžaduje, aby byl každý nový účet nejprve schválen byrokratem. Pokud chcete, aby Administrátoři /byrokraté měli i možnost založit nový účet bez žádosti, podívejte se na stránku Uživatelská práva .

Rozšíření ConfirmEdit lze použít (ve spojení s rozšířením ConfirmAccount extension) za účelem použití captchas k zastavení záplavy požadavků (od verze 1.39).

Instalace

  • Stáhněte soubor/y a vložte je do adresáře pojmenovaného ConfirmAccount 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/ConfirmAccount
  • Na konec vašeho souboru LocalSettings.php přidejte následující kód:
    wfLoadExtension( 'ConfirmAccount' );
    $wgGroupPermissions['*']['createaccount'] = false; // POVINNÉ k vynucení žádostí o účet prostřednictvím tohoto rozšíření
    $wgGroupPermissions['bureaucrat']['createaccount'] = true; // volitelné pro povolení vytvoření účtu touto důvěryhodnou skupinou uživatelů
    
  • Spusťte aktualizační skript, který automaticky provede všechny nezbytné databázové změny, jaké rozšíření vyžaduje.
  • Dále konfigurujte podle potřeby.
  • Ujistěte se, že wiki má oprávnění k zápisu na $wgUploadDirectory .
  • Prostudujte si také část věnovanou známým problémům, protože by mohly mít vliv na vaši wiki.
  • Yes Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.

Konfigurace

Volitelné

K dispozici je několik konfiguračních proměnných, které lze nakonfigurovat v souboru LocalSettings.php , za řádkem wfLoadExtension('ConfirmAccount');

Viz část "config" v souboru extension.json , kde jsou všechny proměnné, které lze překonfigurovat.

Rozšíření ve výchozím nastavení používá obsah životopisu osoby jako výchozí obsah pro uživatelskou stránku. Toto chování lze vypnout, pokud nastavíte $wgMakeUserPageFromBio = false;
Pokud chcete biografii z formuláře zcela vypustit, nastavte $wgConfirmAccountRequestFormItems['Biography']['enabled'] = false;
Ve výchozím nastavení se u nového uživatele, při odeslání formuláře žádosti, vyžaduje stručný životopis, který má minimálně 6 slov. Pokud chcete tento počet navýšit, např. na 10 slov nastavte $wgConfirmAccountRequestFormItems['Biography']['minWords'] = 10;
Sysops může stále zakládat účty přímo, pokud to nezakážete tím, že nastavíte
$wgGroupPermissions['sysop']['createaccount'] = false;
Pokud si mají po přihlášení uživatelé rovnou přečíst nějaké stránky, nezapomeňte je přidat do $wgWhitelistRead .

Například:

$wgWhitelistRead = [
    'Special:RequestAccount',
    'Main Page'
];
V jiných jazycích musíte nahradit "Main Page" a "Special:RequestAccount" za lokalizované názvy, například "Hauptseite" a "Spezial:Benutzerkonto_beantragen", v případě německé wiki.

Pro další kategorizaci uživatelů na základě jejich zájmů můžete nastavit MediaWiki:Requestaccount-areas. Mělo by to být ve formátu jako:

* Téma|Stránka wiki s tématem|text, který se přidá do životopisu všech zainteresovaných uživatelů |text, který se přidá do životopisu všech zainteresovaných uživatelů ve skupině0|text, který se připojí ke skupině bios všech zainteresovaných uživatelů1|text, který se připojí ke všem zainteresovaným bios uživatelům ve skupině2|...

Tato čísla skupin vycházejí z $wgAccountRequestTypes. Pokud je tedy 0 index pro 'autory', pak 'autoři' zajímající se o téma budou mít text skupiny0 připojený k jejich biografii. To může být užitečné, řekněme, pokud uživatelé mohou být schváleni jako autoři nebo editoři. Autoři mohou mít "category:X authors", kde X je téma, například "matematika", a editoři mohou mít "category:x editors". Můžete mít tolik skupin, kolik chcete, ale potřebujete alespoň jednu.

Minimální syntaxe

Aby se zabránilo spamu, namísto captchas, blacklistů a filtrů, ručně moderujte registrace nových uživatelů pomocí jednoduššího Request account (požádat o účet). Vyžaduje pouze uživatelské jméno, emailovou adresu a krátkou zprávu. Přidejte následující k LocalSettings.php za řádek require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";.

 $wgMakeUserPageFromBio = false;
 $wgAutoWelcomeNewUsers = false;
 $wgConfirmAccountRequestFormItems = [
 	'UserName'        => [ 'enabled' => true ],
 	'RealName'        => [ 'enabled' => false ],
 	'Biography'       => [ 'enabled' => false, 'minWords' => 50 ],
 	'AreasOfInterest' => [ 'enabled' => false ],
 	'CV'              => [ 'enabled' => false ],
 	'Notes'           => [ 'enabled' => true ],
 	'Links'           => [ 'enabled' => false ],
 	'TermsOfService'  => [ 'enabled' => false ],
 ];

Volitelně upravte systémovou zprávu/zprávy: requestaccount-text, requestaccount-notes, requestaccount-ext-text, requestaccount-acc-text.

Použití

Schéma interakce úspěšného procesu vytvoření účtu.
Potvrzení žádostí o účet na Special:ConfirmAccounts (beta formulář)
  1. Jako byrokrat (nebo jiný uživatel s oprávněním confirmaccount) přejděte na Special:ConfirmAccounts.
  2. Klikněte na Review (recenze).
  3. Uvidíte celý formulář s údaji uživatelů. Pečlivě zkontrolujte formulář a pokračujte k vytvoření účtu nebo zamítnutí žádosti.
  4. Pokud se rozhodnete vytvořit účet, životopis uživatele se stane jeho uživatelskou stránkou a uživatelská stránka bude automaticky vytvořena s výchozím shrnutím Vytváření uživatelské stránky s biografií nového uživatele.
  5. Po vytvoření účtu lze na data zadaná uživatelem v době požadavku odkazovat zadáním uživatelského jména na Special:UserCredentials
Aby byli byrokraté informováni o nevyřízených žádostech, musíte nastavit email/seznam adres v LocalSettings.php:
$wgConfirmAccountContact = 'Bureaucrat@domain.com';

Odeslání e-mailu s upozorněním více uživatelům

Toto rozšíření umožňuje odesílat e-maily více schvalovatelům k potvrzení účtu, pokud tito uživatelé mají oprávnění confirmaccount-notify. Toto je doplněk/alternativa k nastavení $wgConfirmAccountContact.

Toho lze dosáhnout (například pro byrokraty) poskytnutím tohoto oprávnění přidáním následujícího do souboru LocalSettings.php :

$wgGroupPermissions['bureaucrat']['confirmaccount-notify'] = true;

Vylepšení

Frekvence omezování

Aby bylo možné bojovat proti robotickým žádostem, výchozí nastavení brání odmítnutým emailovým účtům v opětovném vyžádání účtu po náhodnou dobu po zamítnutí. Pokud chcete, aby odmítnutými emaily bylo možné znovu žádat o účty ihned po zamítnutí nebo po pevně stanovené době čekání (dny, týdny, měsíce nebo dokonce roky po odmítnutí), použijte následující 2 kroky:

1) V souboru LocalSettings.php po požadované deklaraci nastavte Rejected-Age na 0 (pro okamžité vypršení při odmítnutí) nebo na vámi požadovanou dobu čekání v sekundách:

wfLoadExtension( 'ConfirmAccount' );
$wgRejectedAccountMaxAge = 0;

2) Přidejte jeden řádek do souboru /frontend/specialpages/actions/RequestAccount_body.php na úplný konec funkce showForm(), která zobrazuje formulář požadavku, abyste vynutili omezení přímo před každým novým požadavkem:

původní kód:

$out->addWikiMsg( 'requestaccount-footer' );
}

nový kód:

$out->addWikiMsg( 'requestaccount-footer' );		
# PRUNE
ConfirmAccount::runAutoMaintenance();
}

Odkaz "Request account" (požádat o účet)

Pokud byste chtěli přidat přihlašovací odkaz "Vyžádat účet", nejnovější verze rozšíření jej již přidala za vás. Pokud to však nefunguje, budete muset aktualizovat na nejnovější verzi své větve ConfirmAccount z Gitu. Pokud například používáte MediaWiki 1.35, měli byste zůstat ve větvi REL1_35, ale stáhnout si z Gitu a načíst nejnovější změny.

Známé problémy

  • Pokud je nastaveno $wgEmailConfirmToEdit = true;, uživatelé budou muset svůj e-mail dvakrát potvrdit, než budou moci upravovat. Další informace naleznete na úkol T182337.
  • Nenastavujte/nevytvářejte MediaWiki:Requestaccount-areas/xx, kde xx je kód jazyka, první část každého řádku se používá jako klíč k uložení do DB pro položky, které žadatelé o účty kontrolují.
  • Starší verze MediaWiki nemusí v přihlašovacím formuláři uživatele zobrazovat odkaz na Special:RequestAccount. Chcete-li to napravit, můžete upravit MediaWiki:loginprompt.
  • Pokud váš e-mailový klient ztratí data pošty před jejím odesláním, uživatelé nedostanou svá hesla, ale mohou mít účet. Protože nikdo nezná hesla, možná budete chtít použít Special:ResetPassword a poslat jim nová.
  • Pokud stránku potvrzení účtů zobrazí pouze několik lidí, náhodně spouštěné omezování starých požadavků se nespustí často, takže staré zamítnuté požadavky mohou přetrvávat. Tím se zabrání tomu, aby e-mailové adresy znovu požadovaly účty na neznámé časové období. Toto chování můžete potlačit a povolit okamžité opětovné požadavky vynucením omezování těsně před odesláním jakéhokoli nového požadavku. Pokyny najdete zde.
  • Extension is not working anymore with mediawiki 1.43; see here

Řešení problémů

Emaily s upozorněním se neodesílají

Pokud testujete, mějte na paměti, že uživatel musí nejprve potvrdit svou emailovou adresu prostřednictvím odkazu, který mu byl zaslán emailem, a poté bude email odeslán byrokratovi k potvrzení účtu.

Ujistěte se, že nastavení související s rozšířením jsou zavedena po řádku require_once. Dříve ne, jinak rozšíření tato nastavení nevidí a tiše selžou. např.

wfLoadExtension( 'ConfirmAccount' );
$wgConfirmAccountContact = "admin@example.com";

Také si uvědomte, že při použitím nastavení confirmaccount-notify nebude každý uživatel ve skupině (např. sysop) dostávat oznámení, pokud jejich Nastavení e-mailu v Special:Preferences nepovolí "Dovolit ostatním uživatelům posílat mi e-maily" a že potvrdí svou e-mailovou adresu ve stejném formuláři.

Viz též