DCEwiki:Extensions
Extensions (rozšíření) jsou doplňkové moduly pro Mediawiki, které nejsou její standardní součástí, ale přidávají do ní nové možnosti. Tato wiki používá, resp. má nainstalována následující rozšíření:
Lockdown
Zamčení stránek pro skupinu
GroupPermissionManager
Dává větší možnosti pro sofistikovanější nastavení práv systémovým uživatelským skupinám
UserRightList
Umožňuje přehledným způsobem měnit členství uživatel v systémových uživatelských skupinách
SyntaxHighlight
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 source viz příklad:
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
PdfHandler
Umožňuje prohlížení vložených pdf dokumentů bez toho že by je bylo nutné stahovat. Funguje podobným způsobem jak prohlížení djvu souborů, které je v MediaWiki standardní součástí, za předpokladu, že jsou na serveru nainstalovány knihovny a utility djvulibre.
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í:
- V již existující stránce vytvořím (zatím neplatný) odkaz na uživatelskou skupinu. Zvolím si název kupř. Moje:Skupina
- 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
- 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:
* Já * Jiný uživatel * Další uživatel (ro) |
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
<accesscontrol>Moje:skupina</accesscontrol> |