ロールを作れるロールでは、ロール権限の集合)に名前を付けて新しいロールにできる。新しいロールには自分が使える権限のサブセットを与えられる。

権限継承 Edit

設定項目は任意のテキストと、選択肢から1つコピペ(列挙)。ただし自分(ロールを作れるロール)に与えられている選択肢に含まれてなければ未定義(設定されていない状態)になる。このルールで最上位ロールが他のロールを一度に制御できるように。

ページ/属性継承ルールとは違って、継承させていただく側に選択肢がある。選択肢なら継承させる側の値はどれ?属性定義(つまりそれを使うコード次第)の話なので…列挙値を書く記法が必要。とりあえず汎用記法で。

ページ/属性は制約のためのものではないのでこのルールとは別。下位のロールに制約を課すためには使えないし、ロールの上下関係とページの上下関係は違う。
ではどうやるか?

ロールページ。特別なページ/型にするか特別なページ/要素権限を定義するか。いずれにせよロールの上下関係も、下位に制約を課すルールも特殊なので、何かを特殊にする必要はある。

→記述先がページであること以外はすべて特殊。特定のページに特定の記述で書く。それを参照するのはユースケースから呼ばれた権限判定処理。
すべてのページに存在するページ/属性とは別の処理。権限判定のときだけ参照と権限継承処理が行なわれる。

権限継承 Edit

未定義値を「上位からの継承」とするか「無効(設定を使う側次第)」とするかはロールとは別の設定スペース設定
ページ/属性設定するなら属性継承ルールが使える。ページ/属性設定に「明示してない項目をどう見なすか」という項目を用意して。この項目は書き方の指定なので、ページ内でのみ有効なプラグマのようなもののほうがいいかも知れない。

ロールを作るとはページを作ること Edit

ロールを作る」とはそういうページを作る権限のこと。特定のディレクトリにあるページの作成・編集権限

ロールを表すページの内容 Edit

ページの内容に使用可能な権限(鍵)について記述。属性領域にはそのページが要求する権限(錠)などを書くので使えない。
権限(鍵)はロールを表すページの内容に書く。ここでもこのページ編集権限が必要。この編集権限ロールを作る権限ということ。
権限(錠)はあらゆるページ属性領域に書く。→ 権限

上下関係 Edit

ロールの上位/下位関係は作った側が上位、作られた側が下位。最上位は下位すべての上位にあたる。
つまりロールを定義してるページの作成者(の作成したとき)のロールが上位ロール
作成したときのロールはどこにも記録されていないので、記録しておく必要がある。

作成したときでなく、権限参照時のロールでもいい?作成時だと記録を変える方法が別途要る…ページ/属性の変更で。

作成者のロールは複数あるかも知れない。作成者では不足。少なくともロール定義のページには「作成時に使われたロール」が必要。
そういった情報を持つにはページ/要素では不足。

上位ロールの同名権限を参照して、選択肢を用意するにはページ/要素が向いている。

権限設定には特殊なページ/型と、特殊なページ/要素が必要??