• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:&tag(ページ,編集,リンク,プラグイン,UI,API,思い付き,実装,設計);
RIGHT:[[:t/別名]]

*目次 [#q523b1b6]
#contents
#br
#lsx(new=true);
#br
→ [[ページ/編集]]

*関連 [#i943530c]
#related
#br
#lsx(tag=編集,new=true,except=^ページ/編集(/.*)?$)
#br
[[検索:編集]]
#br
----


*ページ/編集 [#e94e9e5c]
RIGHT:[[:t/編集]]


*思い付き [#u64877d3]

**プレビューでも差分表示 [#k6076ce8]
変更点が分かりさえすればいい。
前後を表示しなくても、変更後だけ表示して行頭に変更マークを付けるとか、変更のあった行だけをリストアップするとか。
**編集時に編集者名を記録 [#tee31ac5]
(デフォルト設定では)編集不可能になっているページに記録する。
編集者名は分かるときのみで良い。ログインしていない利用者まで記録することはない。
この機能は特定の人の編集結果を探すための機能。荒らし対策のためではない。
→利用者ごとのページに記録してもいい。

RIGHT:[[:t/自動生成ページ]] [[:t/利用者名]]
**衝突 [#u7dce5ab]
フォームには編集対象の版を結びつける。
最新版以外を対象にしたフォームからの投稿は衝突とする。

衝突をエラーとしてはいけない。正常な動作なので。
Windowsでの「情報」レベル。

1つのページは複数のファイルから成り立っているので、ファイル単位の衝突を検出するように。
同じページを編集しても、異なるファイルしか編集していないなら衝突なし。
編集結果…1つのテキストを複数のファイルに割り当てる処理が要る。
**編集衝突時の統合はシステムによる編集 [#s9b131e8]
統合をしたら編集者は「システム」になる。
これで意図的に「システム」にして編集者名を隠せるが、そんなことはどうでもいい。
・編集者名は荒らし防止のためのものではない。

編集にシステムが介入したら衝突した編集者(複数)にメッセージを送る。
事後通知。
メッセージはメール?利用者ページ?後から編集した方(衝突したほう)なら編集直後のページで分かるが、前(衝突されたほう)にはお知らせできない。

**編集禁止機能は不要 [#t7556970]
自分が書いたページ、自分が編集した分だけの履歴を取り出して、それを元に新しい版を作れればいい。
他人による編集を禁止するのではなく、自分が関わった版を改訂していけるように。

Wikiの設定類は編集権限の有無で。
これは編集権限はあるのに編集禁止されるページについて。
**編集がプレーンテキストなのは [#q94cd70a]
-なんでもできる。
拡張性が高い。
-作りにくい項目がある。
--表
→リロード無しのプレビューで。
また、記法を書きやすく。
--長文
→章ごとの編集で
-ブラウザーが用意するフォームが使いにくい。
→テキストエディターで編集するように勧める。
など。

他、MediaWikiの「外部エディターで編集」に対応するWebブラウザー拡張機能を作るとか。
**ページ作成の手順 [#k610397d]
ページを作る→タイトルかアウトライン入力→本分、タイトル、アウトラインなどすべて編集

----
-アウトラインを入力すると記事検索に使われる。
-本文中に見出しとして追加される。

-アウトラインは本文と違って
--(編集中に表示される)類語検索の対象
--記事の要約になる
--編集単位…

----
→本文中に書いた見出しをアウトラインとしたほうがいい。
-「記事を書くときは見出しから書きましょう」
「そうすれば、以前に書いた似ている記事が自動表示されます」と。
----

ページ作成時、ページ名入力の後に
 もしかして…
で似ているページ名を列挙。

ページ名の重複を防がせる。

----

ページの編集とページ名変更を分けても無意味。

「どんなことを書くの?」→主題入力→おすすめ追記先候補(または新規ページ)選択→ページの編集→ページ名と内容が決まる。
**署名 [#o60dd4c9]
利用者の署名は…
-自分の記事を探すため。
-自分宛の記事を探すため。

RIGHT:[[:t/利用者/署名]]

**書き続けられるように [#n7b9843d]
+1つのフォームに書く
+送信
++ページ/名前が自動的に決まる
++ページに追加される。無ければ作成される
+同じ型、空のフォームが返ってくる

RIGHT:[[:t/手間を省く]] [[:t/UI]]
**あとで書く [#o423aa69]
下書きを保存。
(中断、後回し)

編集中のテキストを自分の個人ページ下のページとして保存。
ページ名を変えて保存するだけで良い。
RIGHT:[[:t/ページ/名前]]


**追加(追記)は章単位。 [#q36869da]
+サブページを作って
+参照する側のページにリンクを追加

…ということ。


*実装 [#v0d54912]

**編集ページは検索エンジンにインデクシングさせないように指定 [#c52b3e86]
**添付ファイルのファイル名は使わない [#ia2230c8]
-ページ/内部名はシステムが決めるルール。
-ページ/表示名はマルチバイト文字で付けられるルール。

→ファイル名を使う箇所がない。


**作成、削除、編集 [#s523c6d3]
:作成は|無し→編集後
:削除は|編集前→無し
:編集は|編集前→編集後

→全て編集のうち
RIGHT:[[:t/型の統一]]

いずれもページ名は残る。


**書き換え範囲はページのみ [#mac73468]


**プラグインで操作しやすいようにテキストに構造を持たせる [#g1a37628]
編集時には出さない。ページ更新時に。
<div><span>でid、class属性を付ける。
プラグインの出力にも付けやすいように。フレームワークで付けるように。プラグインでは「指定」のみをする。

プラグインの出力は<div class="プラグイン名"></div>の中に書く。
なども。

プラグインではclass名ごとに構造を扱えるように。


**ページ更新時 [#vadd981c]
ページ更新時、リンクを調べて''リンク先''が相互リンク用ページなら(相互リンクを表示するための領域があれば)相互リンク(返信)を作る。
+リンク先の編集が増える
+相互リンクするか否かは''リンクされるページ''による
リンクするときの利用者の手間を減らして、相互リンク用ページへのリンクを''全て''相互リンクにするため。

RIGHT:[[:t/手間を省く]]
**ページ削除は編集の内、ページ作成も編集の内 [#b60c3d97]
ページを空にするのが削除。
空のページに書き込むのが作成。
空でないページに書き込むのが編集。

編集の権限さえあれば、削除と作成もできるということに。