Změny oproti verzi 2.2

a) Hlavní změnou je fungující autorizace na úrovni stránek.

Nyní jsou pro autorizaci použity entity jako jsou uživatel, role a uživatelská skupina.

V novém systému pracujeme standardně se 4 rolemi. Při prvním připojení dostane automaticky každý roli Anonymous. Po loginu se změní na roli Authenticated.

V následující tabulce je znázorněno, jaké aktivity může provádět která role.

Oprávnění k aktivitě Role
Anonymous Asserted Authenticated Admin
zobrazit stránky x x x x
editovat stránky x x
vytvářet stránky x x
přejmenovávat stránky x
souborové přílohy ke stránkám x x
komentáře ke stránkám x (jen několik konkrétních stran) x x
mazat stránky x
vytvářet skupiny x

Ve spodní části obrazovky jsou odkazy na tyto aktivity viditelné pouze když jsou povolené. Pokud chcete editovat stránku, je potřeba se nejdříve nalogovat, a poté bude viditelná akce Upravit stránku.

Každý editor stránky může pomocí speciálního tagu omezit přístup na tuto stránku. Dělá se to pomocí tzv. ACL (access control lists) tagů.

Syntaxe je

[{ALLOW akce kdo}]

Která nastavuje, "kdo" (seznamu) smí dělat "akci" s touto stranou.

Př.

[{ALLOW view Janne,Mike Morris}]

Stránka je viditelná pouze uživatelům Janne,Mike Morris.

[{ALLOW view Janne,Mike Morris,Ucitele}]
[{ALLOW edit Ucitele}]

Strana je viditelná třem uživatelům a všem co patří do skupiny učitelé. Učitelé smí tuto stránku i editovat.

Pro umožnění vkládání příloh uživateli Janne je nutné na stránce s ACL tagy přidat:

[{ALLOW upload Janne}]

Běžný případ stránek určitého předmětu na PowerWiki by tedy mohl vypadat například jako:

[{ALLOW view All}]
[{ALLOW edit,upload Ucitele}]
 POZOR: Nikdy nesmíme zapomenout přidat se do seznamu a současně si přidat i práva pro editace pro sebe (jako autora). Pokud to zapomeneme, pak musíme požádat někoho s právy Admin, který toto pravidlo do stránky přidá.

Nový způsob autorizací umožňuje veřejná diskusní fóra pro anonymní uživatele. Tuto vlastnost je potřeba používat obezřetně, neboť otevírá možnost ke spamu. Na PowerWiki je zatím dovoleno přidávat komentáře veřejnosti jen na jedné stránce (v levém menu je to položka Veřejné fórum). Je možné toto právo přidat k jakékoli stránce, musí se však definovat v konfiguračním souboru, a nejde povolit pomocí ACL. Pokud bude zájem o přidání možnosti veřejných komentářů na určitou stránku, kontaktujte Admina.

Více informací je možné si přečíst zde.

b) Při použití vnořených pluginů v tabulce již není nutné používat escape znak

Takže místo

[{Table

| [{nbsp count='10'}] |Aaa  | [{nbsp count='10'}]
}]

Prostě můžeme psát přímo

[{Table

| [{nbsp count='10'}] |Aaa  | [{nbsp count='10'}]
}]

Na stránkách, kde jsou použity escape sekvence je nutné je vyhodit. Vzhledem k tomu, že nové editační okno má funkci najít/nahradit, tak je to poměrně triviální oprava.

c) Mnoho nových maličkostí

Omezení testovací verze

Jakékoli požadavky na změny nebo hlášení chyb můžete psát přímo do tohoto diskusního fóra

Přidejte komentář


Komentáře:

19. květen 2006 22:41
MigraceNaVer2_4_blogentry_190506_2
Odpověď:

ad 1) Problém je v tom, že ve verzi 2.2 byl login zavolaný přímo požadavkem na aktivitu editace. V nové verzi je záložka "Upravit stránku" viditelná až po loginu. Jednoduchým řešením by bylo, aby tato záložka byla viditelná vždy, a pří prvním použití systém požádal dialogem o login (stejně jako ve verzi 2.2)

Je to chování, jaké chceme? Můžu to takto jednoduše opravit.

ad 2) Pokud uživatel klikne na symbol sponky u souboru přílohy v seznamu, pak se otevře dialog s informacemi o příloze. V případě, že má uživatel právo mazat, vidí i tlačítko "Delete attachment".

V současnosti má právo delete pouze role Admin. Pokud se domluvíme, pak můžu toto právo přidat i uživatel s rolí Authenticated. Zatím jsem ale raději volil přísnější bezpečnostní politiku.

pozn. 1: Pokud by toto právo bylo automaticky přiděleno i všem s rolí "Authenticated", pak by byla jediná obrana proti neobnovitelnému smazání stránky nebo přílohy jen explicitní zákaz pomocí ACL přímo ve stránce. Nyní je tato destruktivní funkce dostupná jen velice omezenému počtu uživatelů s rolí Admin.

pozn. 2: Můžeme si určit metodiku, např. kdy uživatel, který chce něco smazat, jednoduše název této stránky nebo odkazu napíše do speciální stránky např. "KeSmazani" do seznamu.

Potom Admin v pravidelných intervalech (1-n x týdně) provede postup:
1) nahlédne do této stránky
2) zkontroluje podle historie, kdo přidal jednotlivé řádky
3) zjistí, zda daný uživatel má nárok na smazání
4) a provede smazání

Vypadá to krkolomně, ale můžeme vymyslet i lepší metodiku.

ad 3) Povolení veřejných komentářů (od kohokoli) pro jednotlivé stránky je již možné. Jediné omezení je, že pokud se rozhodneme povolit veřejné komentáře ke své stránce, je nutné poslat jméno stránky Adminovi, který ji sám přidá do speciálního seznamu.

Opět je tu možnost veřejné komentáře implicitně povolit pro každou stránku (a pro vybrané stránky zakázat), ale bezpečnější je opačný postup. Nicméně jsem otevřený diskusi na touto politikou.

By xkrumpha  Permalink
19. květen 2006 0:08
MigraceNaVer2_4_blogentry_180506_3
Zdravim, odhlaseni je dobra vec hlavne pro testovani, jinak asi moc uzitecna nebude. Mel bych jenom par drobnosti :-):

1. Po prihlaseni na strance, kterou chci editovat, dojde k presmerovani na hlavni stranku, coz neni zavazny nedostatek, ale je to "zdrzovacka" (ve starsi verzi k tomu nedochazi).

2. Libi se mi "List of Attachements", kdyz uz neco takoveho je, nelze k tomu pridat editacni tlacitka (pridej,smaz)? Trosku mi schazi moznost mazani priloh, otravovat kvuli kazdemu souboru admina....

3. Chapu ze spam je problem, nicmene verejna fora napr. k jednotlivym predmetum/strankam vidim jako velmi uzitecnou vec a registrovat kazdeho navstevnika asi neni dobry napad (nebo je?). Proto bych do budoucna uvital bud povoleni verejnych komentaru pro jednotlive stranky, nebo vytvoreni strukturovaneho moderovaneho verejneho fora.

R.

By rproch  Permalink
18. květen 2006 9:48
MigraceNaVer2_4_blogentry_180506_2
Odpověď:

Volbu "odhlásit se" přidám. Standardně tam byla, ale nebyl jsem si jist její užitečností.

By xkrumpha  Permalink
18. květen 2006 9:46
MigraceNaVer2_4_blogentry_180506_1
Odpověď:

Právo vytvářet skupiny má zatím jen uživatel s rolí Admin. Po přilogování uživatele s touto rolí se v dolní části (aktivit) objeví i položka "Create group".

Do pole "Group name" je potřeba vyplnit název nové skupiny. (opět apeluji na nepoužívání diakritiky) Do pole "Members" se zadá seznam členů oddělený čárkami.

Po stlačení tlačítka "Save" je nová skupina vytvořena. (Hází to sice error hlášku, ale skupina je skutečně vytvořena - opravím později)

Skupina je ve skutečnosti nově vzniklá wiki stránka, která má jméno GroupXXXX, kde XXXX je zadané jméno skupiny.

Když se pokusíme otevřít tuto stránku, pak se objeví nápis "This is a wiki group. Edit this page to see its members."

Když poté zkusíme editovat stránku přes akci "Upravit stránku", tak uvidíme v obsahu zhruba toto.

[{ALLOW edit XXXX}]
[{SET members='xkrumpha,bina'}]
This is a wiki group. Edit this page to see its members.

a pak ji můžeme dále editovat přímo. Jak vidíte, editace stránky je umožněna členům této skupiny. (a Adminům)

By xkrumpha  Permalink
17. květen 2006 18:54
MigraceNaVer2_4_blogentry_170506_2
Je mozne pridat i volbu: odhlasit se? Myslim, ze ji krome me nikdo nevyuzije, ale co kdyby. ;)
By bina  Permalink
17. květen 2006 18:36
MigraceNaVer2_4_blogentry_170506_1
Jak vytvorit novou skupinu? Nenasel jsem na strankach Create a new group na hlavni strance (viz. dole). Kde ji najdu? Predpokladal jsem ji na strance Administrace, ale tam take neni.

To make role-based access controls more flexible, JSPWiki allows users to create wiki groups. These are special roles that users create themselves. Users create wiki groups by clicking on the front page link Create a new group. The JSP NewGroup.jsp opens. The user gives the group a name and enumerates its members. The "save" button creates a new wiki page with the prefix "Group" that contains the membership list. By defaut, any member listed in the group member list can edit the group.

By bina  Permalink