• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:&tag(利用者,派閥,UI,フレームワーク,思い付き,実装,目次);
RIGHT:[[:t/利用者]] [[:t/Wiki]] [[:t/Web]] [[:t/アカウント]] [[:t/権限]] [[☆]]

*目次 [#kacc1d6e]
#contents
#br
#lsx(new=true);
#br
利用者(ユーザー)についての情報。権限情報(鍵側)の集まりでしかない。
ユースケースクラスでの権限判定に使われるくらい。
実体は利用者を表すページ。それをラッピングしたのが利用者クラス。このページを作れば利用者登録になるし、SisterWikiなどで参照可能になったユーザーはログイン可能。→ [[X/User]]

*関連 [#ie095e00]
#related
#br
#lsx(tag=利用者,new=true,except=^利用者(/.*)?$)
#br
[[検索:利用者]]
#br
と、利用者の役に立つような機能のためのデータ集。
と、ページの作成者としての役目。
と、代表見解と投票に関わるもの。
→ [[:i/利用者クラスの高い依存性]]

*利用者周辺のタグ [#d480fd97]
#tag(0,利用者)
#br
%%利用者と権限を結び付ける際、引数の形式を考えるのが面倒なので、利用者をVisitorとしてページに渡す(コントロールクラスが)。で、ページから利用者を参照、利用者をたらい回し。%%

みんな最初はゲスト(お客様)。ゲストが[[認証]]([[ログイン]])を経て特定の利用者インスタンスと結び付く。

----

*利用者 [#mdb5b7ab]
RIGHT:[[:t/利用者]]
#contents

**ログイン/認証 [#f0ab2137]

**アカウント/ロール [#mb19a12e]
-読む人
ブックマークしてるリピーターの人、検索サイトから来た飛び入り参加の人など。書く人の相手。
-書く人
コンテンツに詳しい人。サイトの原動力。
-構築する人
WikiEngineに詳しい人。プラグインを利用して、Wikiをより活用しやすくする人。Wikiを改造する人。
-管理する人
サイトの管理者。責任者。お金を出す人。何かあると怒られる人。管理者設定をする人。
***[[:i/ビルトインユーザー]] [#jd28ac56]
**グループ/ロール [#v1c4b638]
***[[:/アカウントにロールは要らない]] [#x02dfd71]
利用者を上位ページでまとめればロールにあたる仕組みが不要。
***[[:i/利用者をグループでまとめる]] [#cbd82d79]
ページ/属性/継承を使ってグループ内メンバー全員の権限を設定。
***[[:i/利用者のロールといえば]] [#p8c8e371]
(デフォルトで用意する)グループの候補に。

また、アカウントをまとめて扱いたいときにも利用。
読む人1と読む人2を用意して、権限は同じでも有効期限が違うとか。
***[[:i/ロールと権限の違い]] [#a4b6d361]
(デフォルトで用意する)グループの候補に。

***[[:i/下位ロールを作れるロール]] [#g6f2ba59]
Wikiを構築するために。運用でロール作成。
**権限(鍵) [#b73dbd5e]

**アカウント/有効期限 [#za1edd78]
ログイン状態が続く時間。
**利用者情報を必要とする機能 [#u22aeea1]

-アカウントごと
-ロールごと
要するにカスタマイズ。

…に時間を設定。
*思い付き [#g3c5a42b]

**利用者名にはIDから得たハッシュ値を付ける [#wf6442be]
IDを公開してもいいならIDをそのまま付けてもいい。
で…
-同じニックネームがあってもいいように
-いつでもニックネームを変えられるように
**投稿時の自動署名はない [#pd16299c]
名前は自分で書くこと。
**権限設定で、追加のみと既存部分を書き換えられるのを分ける。 [#c4bbe078]
これらは包含関係。(編集>追加のみ)

***[[:i/検索履歴]] [#de223a50]
***[[:Done/ユーザーページではなくワークスペース]] [#a1ffdeea]
+利用者が自分用に使うページ群(下位ページ含めて)ということ
+これを作ることが参加/ユーザー登録になるということ

**「あなたと似ている利用者は…」 [#i501cde3]
*実装 [#ycb09d1c]
…を明確に表現する呼び方は?

**情報はページに [#b2f2c704]
利用者は独立したオブジェクト。でも関連する情報はページに記録。
自分のページにある情報がそのアカウントの情報。
- 「(利用者名)のワークスペース」
- %%「(利用者名)のためのWiki」%%
- %%「(利用者名)の作業用Wiki」%%
- %%「(利用者名)の居場所」%%
- %%「(利用者名)」%%
**未分類 [#b93ae0d7]

エクスポート/インポートが容易になる。
**管理者定義 [#f37faea2]
-管理者OpenIDをプログラムに埋め込み。複数可。
そのOpenID所有者が管理権を持つ。
-Wiki上のページに書くようにしても良い。
両方できるように。
***[[:i/ユーザーを個別化するには]] [#n833fb81]
アクティビティの収集など。個別化は自動的なカスタマイズにもなる。利便性向上に。

[[キーワード:OpenID]]
**高い依存性 [#ka3a7703]
ページや派閥と関係が深い。
利用者についてはこれらを考えてから。
***[[:i/管理アカウントは一般アカウント]] [#ue8a38c8]
多重ログイン。複数セッション。
Atlassian Confluenceはこうなっている。

***[[:i/メンテナンス要員]] [#n19ba1fa]
詳しい人を招いたときのロール。

**アカウント [#kc47cc40]
利用者ごとのアカウントを。
特定のページに記述することが利用者登録になるように。
さらにグループ名を表すページを使って、そのグループに属する利用者を登録できるように。
***[[:i/管理者は誰かという定義をページで]] [#r5d26be6]
最初の管理者はどう決めるか。管理者というより所有者(オーナー)を定義。

***定義の書き方 [#me40c4cb]
 文字列(利用者の属性名とその値に適合するRegExp)→アクセス権定義
***[[:i/情報はページに]] [#sd06d1c1]
ページはデータベース。利用者もページ/要素と同じ方法で情報を記録。ページ/要素は要素間連携と同じ方法で利用者情報を参照できることになる。

アクセス権定義は定義の対象になるページに書く。ページ/属性に書く。
そのページのアクセス権を管理者だけ編集可能にすれば、管理者がアクセス権定義をすることになる。
***[[:i/ページのauthor属性]] [#t32be58a]
セマンティックなWikiのために。TwitterCardsをURIあたり1つしか付けられないのなら、最優秀功労者を決めないと。その方法は?

もしアクセス権定義ページを分けてサブディレクトリごとに用意できるようにするなら、ページがあるディレクトリとサブディレクトリについてのみ定義できるように。
***有効期間 [#v1e01248]
有効であり続ける条件
-最終使用時刻(最後にアカウント情報が参照された時刻)からの時間が有効期限内
アカウント情報を使わないような操作が続くと無効になる?→別にいい?
-同一端末を使っている
同じIPアドレス。同じUAかどうかは不要。
はてなでもやっている?
これがあると不便?PCで編集しながら携帯での見え方をチェックすることができない。
→共著も表現できるはず。
***[[:i/投稿時の自動署名はない]] [#o68432da]
投稿時のコメント欄(MediaWikiのような)があれば自動署名もあり。

無効になる条件
-ユーザーからのリクエスト
「ログアウト」した時。
-有効期限を過ぎた
-アカウントが削除された
***利用者の属性 [#l8a89c2d]
利用者に関する情報で文字列で表せるもの全て。
Googleさんだけ個別化して、特定のページを見せるなら属性「User-Agent」に/googlebot/があることを調べる。
***[[:i/ページ/属性/作成者]] [#dfa223db]
利用者IDはページに記録される。どのページのどの版にも1つ。
***[[:i/追加のみと書き換えの権限を分ける]] [#p4f73785]
権限は雑多。重複がある。個別に考えなければならないし、判定は個別のコードで行なわないと。

***[[:i/著作権に基づいた権限設定]] [#cff94664]
権限のコンセプト。権限とはドキュメントに関する権利を守るためのもの。

RIGHT:[[:t/アカウント]] [[:t/継承]]
***非公開編集 [#w4cb2e9a]
アカウントを持っている人がゲストとして書き込むのもいい。
編集履歴に自分のアカウントが記録されないので、「隠れた編集」や「非公開編集」とも言える。
***[[:i/自分のサイトへトラックバック送信]] [#c4d6e8c8]
利用者情報に「トラックバック先」。他にもTwitterアカウントとかあってもいいかも。
Twitterとの連携でリプライの連鎖をwikiに取り込むTogetterクローンみたいな機能を使えるなら、発言はTwitter側でもwiki側でもいいことになる。

***[[:i/利用者ページの見られ方]] [#i29bb896]
見られ方=見解。利用者の見られ方(側面、インターフェイス)といえばロール。利用者は複数のロールに属せるし、ロールは周囲から期待される役目のこと。利用者ページの見られ方=見解として良さそう。
でも見解は他の見解を隠すためのもの。%%汎用性がない。%%→「他を隠す」というより「代表的なものがある」と考えると問題ない。

側面は見る側が選ぶというのは星。
多くの人か選んだ見解がゲスト向けのデフォルト見解になるというのも星。

*設計 [#ea7b3a6e]
利用者と権限を結び付ける際、引数の形式を考えるのが面倒なので、利用者をVisitorとしてページに渡す(コントロールクラスが)。
で、ページから利用者を参照、利用者をたらい回し。
見解ごとにそのロールで役立つような機能やフォーム(管理者なら連絡用フォームとか)を用意しておけば有意義。
***[[:i/利用者名はニックネーム]] [#b30a5158]
利用者情報に「利用者名」または「ニックネーム」を設けて。Twitterでのdisplay_nameになるのはニックネーム?ID?IDは認証に使ったサイト名を含んでいる。
†[[:i/OAuth+ID+表示名]]

→重複していいので利用者自身が自由に設定。一部でもシステムが決めるのなら非公開に。本人が決めたものではないので。
***[[:i/利用者ページに書くこと]] [#k4bf07b7]
設計のコンセプト。利用者ページのページ/裏のほうはシステムが書き込むものなので設定項目用かも。

***[[:i/ロール別のビュー]] [#r8914f16]
利用者を分けたときの一番の効果。モード変更なので、他のロールと切り替えて(例えば閲覧者と編集者)使用できないと。切り替えするのは利用者自身。

実装方法は…
†[[:i/二重ログイン可能]]
†[[:i/パスワードを複数設定]]
ログイン/ログアウトだけ?切り替えUIは不要?

→ログイン後のログインで。途中のログアウトは不要。
***[[:i/利用者を何と結び付けるか]] [#ud554373]
認証方法の考え方。既存の所有権と関連付けることが認証。

***[[:i/利用者をグループでまとめる]] [#x0bc799d]
†[[:i/ロールと権限の違い]]
†[[:i/利用者のロールといえば]]
†[[:/ロールをページ化、利用者を下位ページ化]]

まとめて管理。まとめて権限設定。設定時に権限を要するがまとめておけば利用者ページごとの権限判定にはならない。判定対象はグループページと管理者の間だけ。
†[[:Done/属性継承時の権限判定は?]]
***[[:i/オープン認証ではユーザーIDにサイトドメイン追加]] [#cdf8c8fe]
アカウントの区別に。IDをグローバルなものにする。
このグローバルなIDは何度アカウントを作り直しても再利用できなければならない。WikiでのIDは使い捨て(再利用しようとすると二世になる)。ここにずれは生じないか?

†[[:i/アカウント削除予約]]

***[[:i/ログインはWebフレームワーク、ユーザー管理はWikiフレームワーク]] [#c76dd916]
フレームワークを分けてはいけない例。基礎は使われて当然なので、フレームワーク/WikiEngine側とみなしていいかも。

***[[:i/アンケートは自分のページに回答を書く]] [#wbe21b9f]
利用法。他人のための権限設定とページ名。大勢を対象にしてそれを行うには?権限設定とページ名はかみ合ってなくてはならない。
***[[:i/アカウント削除予約]] [#jcc4880c]
ページの削除と同じ。ページが消えれば利用者情報も消える。

***[[:i/おかえりなさいメール]] [#hca61793]
「たまには来てよねメール」も。メールアドレスの登録が残っていることを警告しながら存在確認。

***[[:i/Wiki構築には2つの側面がある]] [#a4f9d713]
管理者向けの説明にはコンテンツに応じたシステムの使い方を。
**利用者/ [#va8a81d9]
- [[利用者でやること]]

#ls