Send to your Kindle *** 例 [#m523cc8a] %%/属性%% %%…というページに「編集(錠)」を…%% %%/属性/属性%% %%…というページに「属性編集(錠)」または「編集Lv2(錠)」を与えたとすると、属性/継承によってスペース内全ページにまとめて権限が設定される。%% %%/属性%% %%…にまとめて書いても同じ。(/属性/属性にも継承されるので)%% RIGHT:[[:t/属性]] [[:t/継承]] [[:t/実装]] 「属性」というページ型を持つページが属性ページ。あるページの属性領域は、そのページ名に「/属性」と付けた下位ページ。 権限領域なら「/権限」という語を持ち、ページ型「属性」のページ。 %%両方をまとめて1つのページにしてもいいかも知れない。%%それを参照する処理によってページ名は決まるので、属性領域は複数作れるようにしたほうが拡張しやすい。 † [[:i/ページ属性は特別に用意された属性領域に書く]] *** %%権限領域の権限も必要なので%% [#wa70679e] %%属性領域の数を決めてしまうと%% %%属性領域をページ型の一部にすると%% %%、属性領域を編集するときの錠を書く場所がなくなる。%% %%複数の属性領域をひとつにすると、属性領域別に権限(錠)を与えることができなくなる。%% %%属性とページ内容を混ぜない。「属性領域の属性領域」も作れるようになるので。%% %%/ページ名/属性/属性%% %%…が属性領域の属性領域。%% *** 例 [#m523cc8a] %%/属性%% %%…というページに「編集(錠)」を…%% %%/属性/属性%% %%…というページに「属性編集(錠)」または「編集Lv2(錠)」を与えたとすると、属性/継承によってスペース内全ページにまとめて権限が設定される。%% %%/属性%% %%…にまとめて書いても同じ。(/属性/属性にも継承されるので)%% *** 権限領域はひとつ [#ue6c5f6d] …というか、ひとつのページ名に対して複数ある属性領域のひとつ。 権限はそこに全部書く。「権限領域についての権限を書いた権限領域」は作らない。その権限についてもどこかに書かなければならなくなるのを避けるため。 *** 実装 [#h64255d7] あるページを編集するときに、そのページ名に「/属性」を付けたページを参照して、権限(錠)を集めることになる。 あるページの属性領域を編集するなら、そのページ名に「/属性/属性」を付けたページを参照することになる。 [[:/属性領域の属性領域の属性はどこに書くのか?]] *** 仕組み [#ub4517b4] 継承はページ型が「属性」の場合に行われる。 ページ「属性」でそう定義するので、その下位ページも(継承によって%%/ページ名に含まれる「属性」という特別な語によって%%)同じページ型になる。''ページ型は属性のひとつであり継承対象''。 …というのは「継承しないと継承の起きるページ型か分からない」ので不可能。''ページ型を決めるために継承がいる。それを行なうかはページ型によって決まる''。 → 継承処理を2段階に分けて解決。第1段階でとにかく継承。その結果、特定のページ型を持つと判明したページで、継承を有効/無効にする。ページ型の継承だけを特別に先に行なうのと同じこと。