Po po téměř roce vývoje od vydání verze 5.38 byla vydána nová stabilní verze 5.40 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 75 vývojářů. Změněno bylo přibližně 160 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.
Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).
Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Cílem tohoto blogpostu je seznámit zdejší obecenstvo s rozšířením Mediawiki, které jsem svého času vytvořil a které momentálně nemám čas zaktualizovat pro její novější vývojové verze.
Klasická mediawiki má systém práv založený na skupinách. Pokud instalujete novější verze mediawiki, tak se vás instalační skript při konfiguraci zeptá, jestli chcete wiki:
Jemnější nastavení práv tento systém neumožňuje. Rozšíření Accesscontrol však přidává navíc možnost vytvářet uzavřené uživatelské skupiny a to tak, že k tomu není zapotřebí obtěžovat správce. Pro větší názornost jsem vytvořil schematický obrázek
Uživatelské skupiny, se kterými pracuje Mediawiki, jsou v horizontální rovině. Uživatel Franta, který je přiřazen do skupiny "byrokrat" má stejná práva jako uživatel Tonda. Ale co když chce uživatel Franta vytvořit stránku k projektu na kterém spolupracuje s uživatelem Luboš, ale nikdo jiný by k se k těm datům dostat neměl? To je situace, kde se může s výhodou uplatnit rozšíření Accesscontrol, které umožňuje vytvářet uzavřené skupiny napříč uživatelských skupin Mediawiki.
Možná si i někdo z vás vzpomene, že jsem se tady o něm již jednou zmiňoval, v rámci blogpostu Zabezpečení mediawiki
Nejprve Franta nebo Luboš vytvoří stránku s názvem Sk:A, která bude fungovat jako seznam uživatelů co mají být členy této skupiny. A na ni napíše seznam uživatelských jmen osob, které mají mít ke stránkám projektu přístup. Do wiki kódu všech stránek, které mají být součátí projektu pak stačí přidat tag accesscontrol s názvem této stránky.
Rozšíření funguje tak, že ještě předtím než vrátí obsah stránky provede kontrolu kódu a pokud narazí na tento tag, zkontroluje v něm uvedené seznamy. Pokud na některém z nich najde username uživatele co na stránku leze, pokračuje se v jejím zpracování. V opačném případě ho vykáže do příslušných mezí.
Pochopitelně je žádoucí takto zabezpečit i samotný seznam uživatelů této skupiny. Při pokusu o přístup na takto zajištěnou stránku i uživatel Tonda ostrouhá. Jedinou výjimkou je uživatel Jenda, který je správcem wiki. I když i správce může mít omezen přístup do skupiny, není to moc praktické - obzvláště v případě, kdy se Luboš nebo Franta blbě uklepne a vloží do tagu chybné jméno uživatelského seznamu. Jenda má stále možnost chybu opravit.
Existují i jiná řešení problému. Accesscontrol má však tu výhodu, že si uživatelé mohou vytvářet své uzavřené skupiny po libosti, aniž by tím museli otravovat Jendu. Jako např. Marek, který si udělal svou skupinu Sk:B, do které nemůže z celé té partičky kromě Jendy nikdo.
Tak. A teď k věci. Tohle rozšíření jsem napsal já a momentálně funguje se všemi stabilními verzemi. Jenže od verze 1.21 se u MediaWiki změnil způsob, jakým se pracuje při generování stránky s textem a tak toto rozšíření ve vývojových verzích nefunguje - je-li aplikován současný kód, tak se nevrátí nic. Žádná tragédie, podobný problém byl i při přechodu na verzi 1.18, jenže já už dlouho s PHP nedělal a hrabu se teď v jiných věcech. Nejspíš bych se k tomu dostal až někdy v létě, ale pokud by chtěl někdo na tom zapracovat již teď, budu rád.
Rozšíření pro verzi 1.21 bylo nakonec aktualizováno díky neznámému přispěvateli na verzi 2.2 3.října 2013. a vývoji postupem času přispěli také další lidé, čímž jim touto cestou děkuji.
Aktuální verze 2.5, vydaná včera (tj. 25.srpna 2014), konečně nabízí řešení vleklé bolesti tohoto rozšíření, která souvisí s vyhledáváním. Pokud se hledaný výraz nachází na chráněné stránce, končilo vyhledávání přesměrováním. Teď lze toto přesměrovávání vypnout a jako bonus - obsah cílové stránky nahradit vlastním sdělením.
Je to k neuvěření. Šest let..
Tiskni
Sdílej:
Posílal jsem své patche Jeisenovi (autor IAC) a říkal, že bude IAC pravděpodobně upravovat, tak moje patche zařadí...8-D Nerad bych někomu bral iluze, ale doporučoval bych se podívat do historie stránek k příslušným rozšířením přímo na Mediawiki. Původní rozšíření - 'Group Based Access Control' - se objevilo 16. října 2006. V době kdy jsem potřeboval problém se skupinami vyřešit, bylo ve verzi 0.8 a podporovalo Mediawiki v. 1.11, jenže já ho potřeboval použít s verzí 1.12 a tam nefungovalo. Nejdřív jsem ho chtěl pouze upravit, jenže jsem zjistil že jeho kód má zásadní chyby a autor řadu věcí nedomyslel. Takže jsem to nakonec napsal úplně znovu. Chtěl jsem ale z hlediska obsahu Mediawiki zachovat kompatibilitu, takže jsem zachoval (až na ty čárky) syntaxi tagu i stránek s uživatelským seznamem. Aby byla zachována kontinuita, tak jsem do gitu uložil i všechny předchozí verze, které jsem vytahal z SVN. To bylo v srpnu 2008. Nechápu pohnutky tvůrce IAC, nicméně v době kdy vytvořil svůj klon (rozvněž založený na 'Group Based Access Control') byl Accesscontrol funkční a použitelný. Každopádně mne nijak nekontaktoval, takže předpokládám že se ani moc nedíval, jestli náhodou někdo jiný něco podobného neudělal. Ale to není můj problém. Drobnou úpravu bylo třeba provést až pro verzi 1.16 Od Mediawiki verze 1.18 byl odstraněn hook na kterém byl 'AccessControl' (i původní 'Group Based Access Control' ) navěšen, proto bylo třeba kód v podstatě přepsat. Proto také verze 2.0 Psal jsem to tehdy už pro 1.19beta, takže tato verze funguje i s aktuální stable verzí Mediawiki 1.20.3 Jak už jsem zmínil v blogu, od verze 1.21 přilepili do Mediawiki framework, který mění chování při generování stránek. Vím které části kódu je třeba upravit, ale háček je v tom že se změnilo nejspíš ještě něco jiného. Takže další verze bude nejspíš 3.0 Osobně mi přijde smysluplnější věnovat pozornost rozšíření, které pokrývá všechny verze Mediawiki od 1.11 nahoru a které je součástí oficiální repository, než vytvářet forky. Původní rozšíření už svou stránku na Mediawiki nemá řekl bych že IAC v dohledné době nejspíš také vyšumí. Ale proti gustu..