:i/ロールは管理者とゲストのみによって、この権限は不要になった。
残る権限は「スペースの所有者かどうか」くらい。
「各スペースからページをどう集めるか」というbotの挙動が、権限の代わり。重要なページの収集対象にはならないスペースや、ルートページの収集対象スペースなど、スペースを差別するのが新しい権限。
- -
権限は2種類。
権限名はユースケース名。フレームワーク/WikiEngineが定義する。再定義可能にはしないので、権限定義はページにはしない。
運用中に新しいユースケースを導入するには、新しい権限(錠と鍵)をしかるべきページに書かなければならない。
ひとつのユースケースに対応する錠は全て外さなければならない。通常はひとつしか設定されていないはずだけど。実際にはユースケースクラスの権限判定次第。
:Done/権限について再再考[?]は権限のまとめ。
:Done/権限について再々考は権限のまとめ。
錠はページのもの †
ページ以外のものに錠をかけるなら独自に似たもの(錠ではない何か)を作る。それを表すページの属性領域にでも要求する権限(鍵)を書いておいて。それをどう扱うかはコード次第。実装内のクラス別に設定ページを用意するということ。
†:i/クラスごとにページを
通常の錠はページクラスの設定ということになる(が、すべてのページに必要な設定なのでクラスごとのページにはしない)
ページ名を見る権限 †
逆リンクであってもそのページを閲覧する権限が必要。ページ名はページ/内容の1行目なので内容と同等。
自動リンクの場合、ページ名はもう書かれているのでリンクにしないだけ。
†:i/常にサブセットWiki
実装では閲覧権限のあるページだけのサブセットWikiにする。その中で逆リンクや自動リンクを生成。
:i/権限を判定するケース †
:Done/ページ自動更新時の権限 †
→ :/自動生成ページにアクセス権は引き継がれる
自動更新するなら権限不要にしないとおかしい。
自動更新にするための権限なら必要。それは拡張機能の導入権限。
:i/ロールと権限の違い †
ロールは「→:権限セット」と呼ぶことにした。それを運用で「ロール」と呼んでもいい。
権限セット/権限グループは用意しない †
権限をまとめたもの。権限と同じ使い方ができる。権限はページ/属性。権限セットはページ。権限セットに書いた権限は、他の権限セットに継承可能。
鍵と錠の対応を分かりやすくするため、「権限をまとめた権限」は用意しない。「書ける(錠)」に対応するのは「書ける(鍵)」だけ。
ロール。