• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:[[:t/属性]] [[:t/継承]]

ページ管理に使う情報。
そのうち利用者が手作業で設定するもの。
ページ/属性は利用者からシステムへの指示。それに各要素が反応する。

システムが設定する属性は[[ページ/裏]]。

ページ/裏とは異なり上位ページの属性を継承する。
継承があるので、システムによる変更はできない。順不同パスにより継承元を特定できないので変更されてもデータの保存先が分からないので。これが解決できればシステムによる設定と継承を両立できる。

#contents

***属性にするもの/しないもの [#re68790d]
属性にしないもの
-ページ名
外部名4区分のentry. ページ/本文の1行目に書くので属性ではない。
-システムが設定するもの
ページ/裏を使うのでこちらではない。

属性にするもの
-作成者
ちょっとした修正でも版を新しく作ることになるのでここにユーザーIDが残る。
-更新日時
情報の更新日時。ページ/本文の版生成時のこと。

[[:ToDo/履歴はどこに残すのか]]

***[[:Done/ページ属性をページにするには]] [#w8faac78]
ページ/属性はページではない。でも永続化キーは本文と分けて、本文を読まずに属性だけを読み込むこともできるようにして、本文とはロックの競合が起きないようにする。


属性はページと同じフォーマットで、外部名を持たず、属性操作の権限で操作可能にする。(権限判定はユースケースクラスで)
ページ/本文とは似ているが異なるもの。
対応するページインスタンスだけから見える。

*あとでなおす [#kb367683]
**継承不可能キーワード [#uc0b8218]
***継承不可能キーワード [#uc0b8218]
必要ならページ/属性に「継承不可」という言葉か記号を書いて、それが継承されないようにする。
継承できない属性があるのなら、「継承不可」で始まる名前にすれば分かりやすい。継承不可と書かないと使えない属性。
**ページの属性にテキスト部分を加えても良いかも [#pe39363d]

***ページ/記法/特色付け [#pe39363d]
ページの属性にテキスト部分を加えても良いかも。
テキスト部分は…
-HTMLタグ
-プレーンテキスト
-記法

これらを1要素ごとに(プレーンテキストは固有名詞が1要素)集計して、上位数語を辞書順にソートして。
できれば色のように混ぜたい。が、そのためには単語に位置関係を持たせないと。
**ページ/属性を決めるのは誰か [#zd5c1592]
作成者。

***ページ/属性を決めるのは誰か [#zd5c1592]
管理者と’’作成者’’。[[権限/ロール/作成者]]
隠したり、特定の利用者だけに見せたり、読み取り専用にしたり。

-相手のポータルページに相手だけに見える章(サブページ)を。
メール代わり。これで私信を。
**ページ名接頭辞で指定できるページ/属性 [#c6fcb733]
ページ名の接頭辞(prefix)で指定可能なもの。ページ名変更さえできれば誰でも変更可能な属性。
これはUI。対応するファイル名(内部名)を変えてしまうと参照できなくなるので、属性の保存はどこかのファイル内に。
相手のポータルページの下位にその相手だけに見えるページを作成。これで私信を。メール代わり。

|~接頭辞(prefix)|~意味|
|:|隠す。不可視。一覧に出ない。ページ名を指定された時には無意味になる。|
||システム。機能は未定。Wiki構築で使用。|
||埋め込み式ページ。自動リンク時には埋め込みになる。|
||省略可。リンク式ページ。自動リンク時にリンクになる。|
***%%ページ名接頭辞で指定できるページ/属性%% [#c6fcb733]
%%ページ名の接頭辞(prefix)で指定可能なもの。ページ名変更さえできれば誰でも変更可能な属性。%%
%%これはUI。対応するファイル名(内部名)を変えてしまうと参照できなくなるので、属性の保存はどこかのファイル内に。%%

これらが変更されたとき、ページ名(に付ける接頭辞)も変更すること。
これらは複数指定可能で、順不同。適当な順番にソートしておく。
|~%%接頭辞(prefix)%%|~%%意味%%|
|:|%%隠す。不可視。一覧に出ない。ページ名を指定された時には無意味になる。%%|
||%%システム。機能は未定。Wiki構築で使用。%%|
||%%埋め込み式ページ。自動リンク時には埋め込みになる。%%|
||%%省略可。リンク式ページ。自動リンク時にリンクになる。%%|

接頭辞はページ名として扱わないので、接頭辞違いの同じページ名は全く同じページ名とみなす。
%%これらが変更されたとき、ページ名(に付ける接頭辞)も変更すること。これらは複数指定可能で、順不同。適当な順番にソートしておく。%%

:tag と tag は同じページになるので、ページ「:tag」を作った後、「tag」を作ろうとすると既存ページの編集となる。
**ページ名接頭辞に適さない属性 [#i5182051]
%%接頭辞はページ名として扱わないので、接頭辞違いの同じページ名は全く同じページ名とみなす。%%

%%:tag と tag は同じページになるので、ページ「:tag」を作った後、「tag」を作ろうとすると既存ページの編集となる。%%
%%…というのも紛らわしい。%%
***ページ名接頭辞に適さない属性 [#i5182051]
-凍結(ロック)
一時的なものなので。他の属性と異なりページ名と無関係なため適さない。
**ページ/属性はAPIのため [#o31b2722]

***ページ/属性はページ/要素のため [#o31b2722]
プログラムでは型を決めないとデータを扱えないから。
利用者のためではない。利用者のためのデータはすべてテキストで。
ということで、タグをページ/属性にしたりしてはいけない。

-タグの継承と対立?
タグの継承と対立?
[[検索:タグ 継承]]
-これはページ/裏のことでは?
**%%ページ/編集はページ/属性を変える一例%% [#oec184cc]
これはページ/裏のことでは?

上位ページにタグを付けたとき、上位ページだけが見つかればいい。下位はそれに付随する。タグを継承するようになると使いにくい。そもそも継承は分かりにくい。
***%%ページ/編集はページ/属性を変える一例%% [#oec184cc]
%%ページ/属性のエディターがWikiサイト。%%
%%ページ/編集はページ/属性にある「内容」を更新、保存する機能。%%
%%→継承される領域やページ/裏だけでなく、ページ/属性の数だけWiki上のページのフィールドがあるということに。%%
%%RIGHT:[[:t/属性]]%%

→ページ/属性はプログラムが扱う。エディターはページ内容だけ扱えればいい。

***編集権限は投稿できる権限 [#c13a6ceb]
つまり編集権限はページの更新ができる権限。
編集ビューを見るところまでは閲覧権限なので、NotationTextを見ることはできる。

***ページ側権限と利用者側権限 [#jcbbb17c]
ページ/権限(錠)と利用者/権限(鍵)が合えばリクエスト受け付け。
型のデータを両方のクラスに。または対応表が必要。

**編集権限は投稿できる権限 [#c13a6ceb]
つまり編集権限はページの更新ができる権限。
編集ビューを見るところまでは閲覧権限なので、Wikitextを見ることはできる。
**ページ側権限と利用者側権限 [#jcbbb17c]
ページ/権限と利用者/権限が合えば操作可能。同じ型のデータを両方のクラスに。または対応表が必要。
**ページ/属性の編集権限とページ/内容の編集権限 [#k706bb39]
***ページ/属性は編集権限対象外 [#p2ddb006]
例えば管理者だけが持っている権限で書き換えられるようにして。
権限の付与(allow)/剥奪(deny)を制御。利用者ページの上位ページのページ/属性編集(錠)を大きな権限を持つロールにしておく。

%%ページ名にもページ/属性が含まれるので、ページ名変更も特別な権限。%%

***内容の編集は属性の編集と内容の編集のほうがしやすい [#k706bb39]
ページ(内容)の編集権限とページ/属性の変更権限は別。
ページ/属性の変更のほうがより高い権限がいる。(デフォルト設定で)
**設定方法2つ [#taef6b65]
-ページ名接頭辞
継承なし。ページ名で属性が分かるようにするため。
フルパスの先頭に。単語先頭ではなく。
ページ/属性の変更のほうがより高い権限がいる。(デフォルト設定では。例えば属性変更は編集者の中でも作成者でなkればならないとか)

***属性の設定方法2つ [#taef6b65]
-%%ページ名接頭辞%%
%%継承なし。ページ名で属性が分かるようにするため。%%
%%フルパスの先頭に。単語先頭ではなく。%%
→分かりにくい。
-ページ/属性に書く
下位ページが継承する。複数ページを一度に設定できるようにするため。
でも継承不可能という意味のキーワードを付けるとその属性は継承されない。というのも必要ならありかも。今のところ不要。

***%%書式%% [#t0f421df]
%%接頭辞はページ名の冒頭に書くだけ。%%

**ページ/属性は編集権限対象外 [#p2ddb006]
例えば管理者だけが持っている権限で書き換えられるようにして。
権限の付与(allow)/剥奪(deny)を制御。

ページ名にもページ/属性が含まれるので、ページ名変更も特別な権限。
**書式 [#t0f421df]
接頭辞はページ名の冒頭に書くだけ。

----

ページ/属性の書き方。
 属性名(主属性名):値
 属性名:値 副属性名1:副属性1の値 副属性名2:副属性2の値 …
 属性名:値, 副属性名1:副属性1の値, …
 属性名=値, 副属性名1=副属性1の値, …
 属性名
%%ページ/属性の書き方。%%
%% 属性名(主属性名):値%%
%% 属性名:値 副属性名1:副属性1の値 副属性名2:副属性2の値 …%%
%% 属性名:値, 副属性名1:副属性1の値, …%%
%% 属性名=値, 副属性名1=副属性1の値, …%%
%% 属性名%%
%%全半角不問。%%

全半角不問。
→システムに合わせなくてはいけないので、不自由。テンプレートを使って空欄入力にしたほうがいい。

副属性は機能呼び出しのパラメーターなどに。
副属性は順不同。機能が解釈する。
%%副属性は機能呼び出しのパラメーターなどに。副属性は順不同。機能が解釈する。%%
%%主属性はページが解釈する。ページが知っている属性名でなければならない。%%

主属性はページが解釈する。
ページが知っている属性名でなければならない。

----

 属性名:値
 属性名
 %%属性名:値%%
 %%属性名%%

これは副属性名を省略した形。副属性名が空文字列な場合。
副属性は必要な分だけ書く。主属性の値も要らないなら書かなくていい。存在しない値が参照されたときは空文字列として扱う。
存在しない名前が参照されたときは継承。

%%これは副属性名を省略した形。副属性名が空文字列な場合。副属性は必要な分だけ書く。主属性の値も要らないなら書かなくていい。存在しない値が参照されたときは空文字列として扱う。存在しない名前が参照されたときは継承。%%
**属性/ [#r79ad893]
#ls

**[[tag:属性]] [#j6951926]
#lsx(tag=属性,new=true)