MediaWiki:Extensions

Z thewoodcraft.org
Verze k tisku již není podporovaná a může obsahovat chyby s vykreslováním. Aktualizujte si prosím záložky ve svém prohlížeči a použijte prosím zabudovanou funkci prohlížeče pro tisknutí.

Extensions (rozšíření) jsou doplňkové moduly pro Mediawiki, které nejsou její standardní součástí, ale přidávají do ní nové možnosti.

?
Rozšíření je na serveru, ale nepoužívá se
obsolete
Rozšíření, které se v minulosti používalo, ale již se nepoužívá. Buď…
  • se ukázalo jako neperspektivní,
  • bylo nahrazeno jinou alternativou,
  • nebo byl jeho vývoj ukončen.
neaktivní
Rozšíření, které je součástí distribuční verze MediaWiki, jako submodul, ale na wiki TheWoodcraft.org se nepoužívá.
tučné
Tučně jsou zvýrazněna rozšíření důležitá pro chod wiki TheWoodcraft.org
#AccessControl
#Arrays +
#CategoryTests
#CategoryTree https://www.mediawiki.org/wiki/Extension:CategoryTree
#Cite https://www.mediawiki.org/wiki/Extension:Cite
#CiteThisPage https://www.mediawiki.org/wiki/Extension:CiteThisPage
CodeEditor https://www.mediawiki.org/wiki/Extension:CodeEditor
#CollapsibleVector (obsolete)
#ConfirmAccount #Confirm User Accounts
ConfirmEdit https://www.mediawiki.org/wiki/Extension:ConfirmEdit
#Contributors
#CSS +
#DeleteBatch
#Disambiguator
#DynamicPageList3 #DynamicPageList (third-party) (obsolete) #DPL
#DynamicSidebar
#Echo +
#EImage
#ExternalRedirect (obsolete)
#FlaggedRevs (obsolete)
#FullLocalImage.php (obsolete)
Gadgets https://www.mediawiki.org/wiki/Extension:Gadgets
#ImageMap https://www.mediawiki.org/wiki/Extension:ImageMap
#ImageSizeInfoFunctions
InputBox https://www.mediawiki.org/wiki/Extension:InputBox
Interwiki https://www.mediawiki.org/wiki/Extension:Interwiki
#LabeledSectionTransclusion
#LiquidThreads (obsolete)
LocalisationUpdate https://www.mediawiki.org/wiki/Extension:LocalisationUpdate
#Lockdown (obsolete)
#LookupUser
#LoopFunctions
#Loops
#MassMessage +
#Math (obsolete)
#MultiBoilerplate
#MyVariables
#NativeSvgHandler +
Nuke https://www.mediawiki.org/wiki/Extension:Nuke
OATHAuth https://www.mediawiki.org/wiki/Extension:OATHAuth
#OnlyRecentRecentChanges (obsolete)
#ORES (obsolete)
#PageForms #Page Forms
PageImages https://www.mediawiki.org/wiki/Extension:PageImages
#ParserFunctions
#Paypal #PayPal (obsolete)
#PdfHandler #PDF Handler https://www.mediawiki.org/wiki/Extension:PdfHandler
#Poem https://www.mediawiki.org/wiki/Extension:Poem
#ProofreadPage
#Renameuser https://www.mediawiki.org/wiki/Extension:Renameuser
ReplaceText https://www.mediawiki.org/wiki/Extension:ReplaceText
#RestrictAccessByCategoryAndGroup (obsolete)
#Score (obsolete)
Scribunto https://www.mediawiki.org/wiki/Extension:Scribunto
SecureLinkFixer https://www.mediawiki.org/wiki/Extension:SecureLinkFixer
#SimpleSort +
SpamBlacklist https://www.mediawiki.org/wiki/Extension:SpamBlacklist
#SubPageFun +
#SubPageList (obsolete)
#SyntaxHighlight_GeSHi #SyntaxHighlight https://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi
TemplateData https://www.mediawiki.org/wiki/Extension:TemplateData
#TextExtracts (not used) https://www.mediawiki.org/wiki/Extension:TextExtracts
#timeline #EasyTimeline
TitleBlacklist https://www.mediawiki.org/wiki/Extension:TitleBlacklist
#TocTree
#Translate
#TranslateSvg (not used)
#TreeAndMenu +
#UniversalLanguageSelector
#UserMerge
#Variables
#VisualEditor (not used) https://www.mediawiki.org/wiki/Extension:VisualEditor
#WhoIsWatching +
#Widgets
WikiEditor https://www.mediawiki.org/wiki/Extension:WikiEditor
#WikiSEO


Rozšíření pro práci s textem

Arrays

Toto rozšíření umožňuje načítat textový obsah do polí, s nimiž lze dále pracovat. Je obzvláště výhodné v kombinaci s rozšířením #DynamicPageList3.

https://www.mediawiki.org/wiki/Extension:Arrays#arrayunique

Contributors

Toto rozšíření vytáhne všechny přispěvatele a vytvoří jejich seznam s odkazy na jejich uživatelská jména. Pokud nás ale zajímá pouze to, kdo naposledy stránku upravil, je lepší využít rozšíření #DynamicPageList3. Viz příklad:

Na Kenyho diskuzní stránku napsali: Keny, Skarman, Tuwanakha, Want, Jouza a Gryf.


https://followthescore.org/dpldemo/index.php?title=DPL:Manual_-_DPL_parameters:_Controlling_output_format#mode

ImageSizeInfoFunctions

Rozšíření ImageSizeInfoFunctions se používá prakticky pouze v šabloně {{images}}, nicméně má velmi důležitou funkci. MediaWiki by default neumí použít u obrázků procentuální nastavení velikosti. Což pochopitelně významným způsobem omezuje možnosti zobrazení obsahu.

Tohle rozšíření dělá v podstatě jedinou věc – vrací aktuální rozměry obrázku v pixelech, což umožňuje dynamicky přepočítávat rozměry podle velikosti stránky. Praktické uplatnění šablony {{images}} můžete vidět zde The Ladies’ Home Journal, 1902 (series) v kapitole III. – PLAYING “INJUN” na zobrazení symbolů orlích per.

LoopFunctions

Rozšíření LoopFunctions umožňuje zpracovávat kód ve smyčkách

Loops

Rozšíření Loops má své uplatnění především v šablonách. V kombinaci s rozšířením Variables totiž umožňuje ve smyčce generovat textové řetězce, které se mohou následně interpretovat prostřednictvím wiki kódu ve stránce, atp. Takovým způsobem pracuje kupř. šablona {{kategorie}}

Smyčky, které umožňují zpracovávat textové řetězce, podporuje také rozšíření ParserFunctions

MultiBoilerplate

MyVariables

Rozšíření MyVariables přidává sadu systémových proměnných, využitelných v kombinaci s rozšířením ParserFunctions. Tyto systémové proměnné jsou dostupné pouze přihlášeným uživatelům. Tohoto faktu se zde využívá tam, kde je obsah modifikován v závislosti na tom, jestli je uživatel přihlášený, nebo ne.

ParserFunctions

Rozšíření ParserFunctions má své uplatnění především v šablonách, protože poskytuje funkce, které umožňují podmíněné zobrazení obsahu, případně jeho další zpracování.

K tomu jsou velice užitečná rozšíření, která umožňují získávat z wiki informace v takové podobě, aby se daly využívat jako proměnné. Např. ImageSizeInfoFunctions umí získat velikost výchozího obrázku v pixelech.

Variables

Rozšíření Variables dovoluje při zpracování textu zakládat proměnné, které lze využít v logických testech a smyčkách rozšíření ParserFunctions a Loops. Takovým způsobem pracuje kupř. šablona {{kategorie}}.

Multijazyková rozšíření

Polyglot

Upozornění Rozšíření Polyglot bylo vyřazeno, v kombinaci s rozšířením Translate nežádoucím způsobem ovlivňuje chování wiki

Rozšíření se pokouší identifikovat výchozí jazyk prohlížeče a na základě výsledku pak provádí automatické přesměrování. Umožňuje také používat lokalizované názvy stránek.

Translate

Tato wiki byla navržena jako multijazyčná, a rozšíření Translate se zde využívá k překladu stránek.

Upozornění V této wiki mohou s tímto rozšířením pracovat pouze členové skupiny translator.

UniversalLanguageSelector

Rozšíření k dokumentaci

CiteThisPage

Toto rozšíření zavádí speciální stránku Special:Cite, s jejíž pomocí lze generovat formálně korektní odkazy na stránky této wiki, použitelné v externích pracích.

SyntaxHighlight_GeSHi

Toto rošíření přidává do wiki možnost barevně zvýrazňovat syntaxi ukázek programových kódů. Použití je velmi jednoduché. Kód se vloží do stránky jako obsah elementu syntaxhighlight viz příklad:

Upozornění Rozšíření původně používalo element source, ten se sice stále dá použít, ale s ohledem na jeho omezené konfigurační možnosti se to nedoporučuje.
Příklad
<syntaxhighlight lang="bash" strict>
#! /bin/bash

gksu -p -m "Zadej své heslo.." sudo echo
sudo /etc/init.d/mysql start
sudo /etc/init.d/apache
</syntaxhighlight>

..se ve stránce zobrazí takto:

#! /bin/bash

gksu -p -m "Zadej své heslo.." sudo echo
sudo /etc/init.d/mysql start
sudo /etc/init.d/apache
Poznámka
  • Element nowiki se používá aby wiki neprovedla nežádoucí interpretaci kódu. Jeho obsah není interpretován, ale zobrazuje se tak jak je. Pokud použijete pro zobrazení zdrojového kódu element syntaxhighlight, není zapotřebí.
  • Parametr strict zajišťuje aby se rozšíření správně generovalo i kód pro tiskové verze stránky.

Rozšíření pro zvýrazňování syntaxe na této wiki je založeno na php aplikaci geshi, která není integrální součástí MediaWiki. Atributem parametru lang je kód programovacího jazyka, který odpovídá názvu skriptu v geshi. V současné chvíli podporuje zvýrazňování kódu pro tyto programovací jazyky:

abap		actionscript	actionscript3	ada
apache		applescript	asm		asp
autoit		bash		basic4gl	blitzbasic
bnf		caddcl		cadlisp		cfdg
cfm		c_mac		c		cpp
cpp-qt		csharp		css		delphi
diff		div		dos		dot
d		eiffel		fortran		freebasic
genero		gettext		glsl		gml
groovy		haskell		html4strict	idl
ini		inno		io		java
javascript	java5		kixtart		latex
lisp		lotusformulas	lotusscript	lua
matlab		mirc		mpasm		mxml
mysql		m68k		nsis		objc
ocaml-brief	ocaml		oobas		oracle8
pascal		perl		per		php-brief
php		plsql		python		qbasic
rails		reg		robots		ruby
sas		scala		sdlbasic	scheme
smalltalk	smarty		sql		tcl
text		thinbasic	tsql		vbnet
vb		verilog		vhdl		visualfoxpro
winbatch	xml		xpp		z80

Administrátorská rozšíření

AccessControl

Tohle je původní manuál pro starší verze. Nová verze manuálu je k dispozici na stránce AccessControl.

Je rozšíření, které umožňuje nastavovat a omezovat přístup ke stránkám přímo uživatelům. Původní verze rozšíření accesscontrol-0.8 příliš našim potřebám nevyhovovala a navíc obsahovala drobné nedostatky:

  • Za každou skupinou v elementu accesscontrol musely následovat dvě oddělovací čárky a to včetně poslední skupiny v seznamu. Pokud tomu tak nebylo, nevytáhnul skript seznam skupin správně.
  • Jmenný prostor pro vytváření uživatelských skupin bylo možné nastavit pouze "natvrdo" na jednu skupinu přímo v kódu rozšíření.
  • Nebylo možné současně používat systémové skupiny a uživatelské skupiny. Buď jedno, nebo druhé
  • Nebylo možné nastavit pouze právo čtení na jednotlivce, vždy pouze na skupinu
  • Rozšíření postrádalo standardní lokalizaci používanou v MediaWiki

Navíc kód rozšíření byl slušně řečeno velmi nepřehledný, proto jsem toto rozšíření přeprogramoval. V současnosti jej lze tedy používat následujícím způsobem.

Chce-li někdo omezit přístup k některé stránce, musí buď nastavit některou z existujících systémových skupin, nebo nejprve založit vlastní uživatelskou skupinu.

Uživatelskou skupinu tvoří množina uživatelských jmen, které jsou položkami první úrovně odrážkového seznamu. Název této uživatelské skupiny pak tvoří titul stránky s tímto seznamem, což může být libovolná stránka v libovolném jmenném prostoru. Lze tedy jak založit vlastní jmenný prostor, tak využít pro založení uživatelské skupiny některý stávající, který může mít přístup chráněný i jinak než přes AccessControl. Viz Nápověda:Jak omezit přístup ke stránce .

Postup pro vytvoření takové stránky je následující:

  1. V již existující stránce vytvořím (zatím neplatný) odkaz na uživatelskou skupinu. Zvolím si název kupř. Moje:Skupina
  2. Kliknutím na tento odkaz a založením stránky mi tak vznikne jmenným prostor s názvem Moje, který bude zahrnovat stránku Skupina. Jiní uživatelé si mohou pro své uživatelské skupiny založit třeba jmenný prostor Naše, který také může mj. obsahovat stránku s názvem Skupina
  3. Do této stránky pak umístím seznam uživatelů, kterým chci povolit přístup ke své stránce. Použiji přitom následující syntaxi:
    Příklad
* Já
* Jiný uživatel
* Další uživatel (ro)
Upozornění Do uživatelského seznamu je třeba zapsat uživatelské jméno tak jak s ním pracuje wiki, tj. s velkým počátečním písmenem

Tím, že jsem uživateli "Další uživatel" přidal za jméno (ro) jsem mu nastavil pouze právo pro čtení. Nebude-li tedy současně členem jiné skupiny s právem editovat mou stránku, pak bude moci její obsah pouze prohlížet, nikoliv upravovat.

Přístup k této uživatelské skupině pak mohu rovnou ochránit přidáním elementu accesscontrol

Příklad
<accesscontrol>Moje:skupina</accesscontrol>
Upozornění Pokud se zapomenete do této uživatelské skupiny přidat, nebo se překlepnete při psaní svého jména, nebo si omylem nastavíte pouze readonly přístup, nebudete jí už moci nikdy upravit! Navíc také může mít toto rozšíření nastaveno, že stránky ve jmenných prostorech mohou upravovat pouze správci. Pak se k ní rovněž už nemusíte víckrát dostat (i když budete tuto uživatelskou skupinu jinak moci bez problémů používat.

Aplikace práv je už ze zmíněného patrná. Do stránky u které budete chtít omezit přístup vložíte element accesscontrol se seznamem skupin. Kromě uživatelských skupin můžete nastavit také přístup pro členy systémových skupin.

Příklad
<accesscontrol>Moje:Skupina,Naše:Skupina (ro),bureucrat</accesscontrol>

Jak si můžete povšimnout, readonly přístup lze nastavit také na celou skupinu. Pokud tedy nebude uživatel členem i některé jiné skupiny s právem k editaci, bude moct stránku pouze prohlížet.

Upozornění Členové skupiny sysop mají ( pokud to není zakázáno přímo v rozšíření hodnotou proměnné $wgAdminCanReadAll ) automaticky právo číst všechny stránky

Každý kdo ke stránce nebude mít přístup pak bude automaticky přesměrován na některou z předem nastavených systémových stránek, které se nacházejí v systémovém jmenném prostoru wiki ( v našem případě DCEwiki ) s informací proč jim byl přístup zamezen.

Naše výchozí pravidla

  • Anonymní uživatelé na stránky chráněné elementem accesscontrol nemají přístup nikdy
  • Stránky nechráněné mohou anonymní uživatelé pouze číst
  • Přihlášení uživatelé mají přístup na stránky chráněné elementem accesscontrol vždy pouze na základě svého členství v některé ze systémových, nebo uživatelských skupin
  • Uživatelé co jsou členy skupiny Správci (sysop) mohou stránky chráněné elementem accesscontrol editovat vždy

ConfirmAccount

Tato wiki používá rozšíření ConfirmAccount, protože jádro MediaWiki samo o sobě nevyžaduje při vyplnění formuláře pro založení uživatelského účtu nic víc, než platnou e-mailovou adresu. Tohle rozšíření přidává do ověřovací procedury celou sadu prvků, které mají jeden cíl – maximálně znesnadnit infiltraci potencionálního škodiče mezi uživatele wiki TheWoodcraft.org.

Ověření uživatele

MediaWiki, která rozšíření nepoužívá a která má vypnuto i ověřování přes e-mailové adresy, zakládá nové účty na základě naprosto jednoduchého formuláře, bez jakýchkoliv ověřovacích prvků.

Rozšíření vyžaduje potvrzení účtu prostřednictvím platné e-mailové adresy a navíc si vynucuje aktivní spoluúčast při vyplňování žádosti o účet.

Registrace zvýhodňuje uživatele webu TheWoodcraft.org, proto je třeba, aby kromě platné e-mailové adresy budoucí uživatel…

  • …vyplnil obsah pro svoji budoucí uživatelskou stránku, a to v rozsahu minimálně 50 slov
  • …odsouhlasil podmínky a z nich plynoucí závazky spojené s přístupem do wiki TheWoodcraft.org
  • A před vlastním odesláním formuláře vyplnit jednoduchou CAPTCHU

Po vyplnění a odeslání obsahu formuláře, server odešle e-mail s linkem pro ověření funkčnosti e-mailové adresy. Ten obsahuje link, kterým dojde ze strany budoucího uživatele k potvrzení žádosti.

Proces zpracování žádosti

Příjem žádosti

V okamžiku potvrzení ze strany budoucího uživatele, je žádost zařazena do fronty žádostí čekajících na zpracování a uživatelé zařazení do skupiny ..Byrokratů.. obdrží informační e-mail o tom, že ve frontě čeká nová žádost na schválení. Kterýkoliv z nich má právo prostřednictvím speciální stránky [Special:ConfirmAccounts] žádosti kontrolovat, přijímat, zamítat nebo odkládat k pozdějšímu vyřízení.

Ověření obsahu žádosti

Kterýkoliv z nich, může zkontrolovat obsah žádosti. Pokud informace ve formuláři jsou neúplné, nebo nesmyslné, může proces zpracování pozastavit a prostřednictvím formulářové položky napsat žadateli zprávu proč tak učinil a co má udělat pro její úspěšné vyřízení.

O každé operaci, která se týká zpracování žádosti je žadatel informován e-mailem. S jedinou výjimkou - když odpovědní byrokraté nemají zájem o další vzájemnou komunikaci a žádost zařadí mezi tzv. Spam.

Upozornění Každá žádost čekající ve frontě musí být do určité doby vyřízena, jinak je automaticky považovaná za zamítnutou. Ale i na základě zamítnuté žádosti lze uživateli založit účet.

Vytvoření účtu

Teprve jsou-li všechny náležitosti žádosti v pořádku a je schválena, je založen nový uživatelský účet. Žadateli je odeslán e-mail s automaticky vygenerovaným heslem pro přihlášení a odkaz na stránku, přes kterou si je může rovnou změnit.


DynamicSidebar

LookupUser

Rozšíření umožňuje uživatelům s právy skupiny lookupuser prohlížet údaje, které jiní uživatelé při registraci uvedli do svého registračního formuláře.

Renameuser

Rozšíření přidává speciální stránku (Přejmenovat uživatele) s formulářem, který umožňuje uživatelům s oprávněním renameuser změnit v databázi původní uživatelské jméno na jiné.

Upozornění Ve výchozím stavu k tomu mají oprávnění pouze Byrokraté.

UserMerge

Rozšíření UserMerge umožňuje začlenit databázové záznamy uživatele A pod uživatele B a účet uživatele A zrušit.

Upozornění Ke speciální stránce Usermerge mají přístup pouze uživatelé s právem usermerge (skupina Administrators)

Navigační rozšíření

Cite

Rozšíření Cite umožňuje vkládat do stránek poznámky pod čarou. Více o použití tohoto rozšíření viz Poznámky pod čarou

CategoryTree

Rozšíření CategoryTree generuje stromovou strukturu kategorií ve formě rozbalovatelného seznamu. Jako příklad použití tohoto rozšíření na téhle wiki vám může posloužit Kategorie:Historie, na kterou odkazuje i položka horního menu.

DynamicPageList3

Rozšíření DynamicPageList3 je fork starší, již neudržované verze DynamicPageList (third-party)

ExternalRedirect

Umožňuje provést přesměrování stránky z wiki na jiné URL

SubPageList

Rozšíření SubPageList umožňovalo nejenom vylistovat podstránky ve formě seznamu, ale také získat informace o jejich počtu, na čemž jsou zde založeny některé šablony pro dynamické generování obsahu stránek. Od MediaWiki verze 1.35 ale přestalo fungovat, proto bylo nahrazeno rozšířením SubpageFun

SubpageFun

Rozšířením SubpageFun bylo nahrazeno na TheWoodcraft.org od MediaWiki verze 1.35 původně používané rozšíření SubPageList. Subpage Fun oproti němu podporuje celou sadu „kouzelných slov”, které lze dále parametrizovat. Např. {{NUMBEROFSUBPAGES: Pagename}} zobrazí počet podstránek stránky Pagename

{{SUBPAGETITLE}} zobrazí skutečný název podstránky, bez počátečního zpětného lomítka (/), podobně jako kouzelné sůvko SUBPAGENAME
{{SUBPAGES}} zobrazí úroveň podstránky. Stránka, co není podstránkou vrací 0.
{{TOPLEVELPAGE}} zobrazí pouze jméno výchozí stránku na úrovni 0.
{{PARENTPAGES}} zobrazí seznam jmén všech stránek, co mají další podstránky (potomky). Jednotlivé položky jsou odděleny čárkou.
{{SIBLINGPAGES}} zobrazí strom potomků na příslušných úrovních.
{{NUMBEROFSUBPAGES}} Vrací počet podstránek. Lze dále parametrizovat

Poznámka: Výstupem {{SUBPAGES}}, {{PARENTPAGES}}, {{SIBLINGPAGES}} je seznam, který lze dále zpracovávat např. přes rozšíření Arrays.

If one function is used with parameter 1 on a page with invalid characters, the output value will be an empty string.

Advanced formatting

There are several more parameters for some functions beside 1 which is available for all functions and allows to define the page to get the information from.

linked
If this parameter has any value at all the pages in the list of list generating functions become links
sep
Allows to define a different list separator than the default separator ,
depth
Works with {{SUBPAGES}}, {{NUMBEROFSUBPAGES}} and {{PARENTPAGES}}. It allows to define the relative depth to the most distant page. If the depth is set to a value smaller than 0 or not set, the functions will output everything, for {{PARENTPAGES}} a negative value will return that many elements starting from the top-level page.
filter
Works with {{SUBPAGES}}, {{PARENTPAGES}}, {{SIBLINGPAGES}} and {{NUMBEROFSUBPAGES}}. This parameter allows to define a regular expression (allowed delimiters /%|, allowed modifiers imsSuUx) which will filter all elements out of the list who don't match the expression. Alternatively, it is possible to define a simple word which must be part of a list entry or the entry won't be outputted. It is possible to define several words separated by an escaped | for example with help of a template like Template:! using {{!}}.
Examples:
  • {{PARENTPAGES: linked=true |depth=1}} will output the current page's direct parent page as link.
  • {{PARENTPAGES: <page> |depth=-1}} will give the same result as {{TOPLEVELPAGE}} with the only difference that if <page> is the top-level page already, an empty string is returned.
  • {{SUBPAGES: somepage |depth=1 |sep=<nowiki> </nowiki>}} will output all direct subpages below somepage seperated by a simple space.

Rozšíření pro práci s elektronickým archívem

CategoryGallery

LabeledSectionTransclusion

Upozornění Neumí identifikovat tagy sections, pokud se nalézají v šablonách

ProofreadPage

CategoryTests

Rozšíření CategoryTests se využívá např. u šablony {{ToDo}}, kde se s jeho pomocí testuje do jaké kategorie podstránka (list) knihy aktuálně spadá, čímž lze odfiltrovat rozpracované stránky od hotových.

PdfHandler

Je rozšíření, které umožňuje prohlížení vložených PDF dokumentů bez toho že by je bylo nutné stahovat. Funguje podobným způsobem jako prohlížení DJVU souborů, které je v MediaWiki integrované přímo do kódu, a funguje za předpokladu, že jsou na serveru nainstalovány knihovny a utility djvulibre.

Speciální rozšíření

iDisplay

Rozšíření dovoluje vložit do wiki stránky prvek iframe do kterého mohou být nalinkovány externí webové stránky. Viz kupř. stránky věnované organizaci Liga lesní moudrosti