update
→ ページ/編集
ページの編集について。
このシステムで編集されるのはページだけ。
編集は「まとめ」なので、書くだけなら「書き込み(writing)」。
- あとでなおす(改訂前)
- 外に出さない書き込み
- ここで履歴を取って公開
- プレビューでも差分表示
- 編集時に編集者名を記録
- 衝突
- 一人衝突対策
- 衝突時も画面フローは変わらない
- 編集衝突時の統合はシステムによる編集
- 編集禁止機能は不要
- 編集がプレーンテキストなのは
- 署名
- 書き続けられるように
- あとで書く
- 追加(追記)は章単位。
- HTML除去はいつ行うか
- 下位ページを含むか?(下位展開)
- 下位ページを何階層展開するかは編集機能次第
- 編集権限
- 編集ページは検索エンジンにインデクシングさせないように指定
- 添付ファイルのファイル名は使わない
- 機能で操作しやすいようにテキストに構造を持たせる
- 相互リンク
- ページ削除は編集の内、ページ作成も編集の内
- 編集の競合は編集フォームを作成した時点の最新版で判定
- 編集/
- tag:編集
編集/承認 †
あとでなおす(改訂前) †
外に出さない書き込み †
議論中の書き込み、不確定な書き込み、暴言は外に出したくない。
でも内部には公開したい。
Wikiなので、そのうち暴言は消される。
残るならそれがそのWikiでの結論。
→それなら追加された(更新された)部分はしばらく外に出さないだけでいい。
- 外
- Google、アンテナなど。
外に出さないものは拒否を表明しておくだけ。
別ページにしないと、更新された部分だけ分けることができない。
→外には古い版を出せばいい。
- ---------------------------------------------------------
つまり、不適切な書き込みをネットに広めないように…
…ということ。
ここで履歴を取って公開 †
更新は何回してもいい。でも公開するなら履歴も必要、という発想。
プレビューでも差分表示 †
変更点が分かりさえすればいい。
前後を表示しなくても、変更後だけ表示して行頭に変更マークを付けるとか、変更のあった行だけをリストアップするとか。
編集時に編集者名を記録 †
(デフォルト設定では)編集不可能になっているページに記録する。
編集者名は分かるときのみで良い。ログインしていない利用者まで記録することはない。
この機能は特定の人の編集結果を探すための機能。荒らし対策のためではない。
→利用者ごとのページに記録してもいい。
衝突 †
フォームには編集対象の版を結びつける。
最新版以外を対象にしたフォームからの投稿は衝突とする。
衝突をエラーとしてはいけない。正常な動作なので。
Windowsでの「情報」レベル。
1つのページは複数のファイルから成り立っているので、ファイル単位の衝突を検出するように。
同じページを編集しても、異なるファイルしか編集していないなら衝突なし。
編集結果…1つのテキストを複数のファイルに割り当てる処理が要る。
一人衝突対策 †
編集、投稿→戻るボタン→投稿→衝突(一人衝突)
これを防ぐには、最新版取得をページロード時にも行う。実装では最新版の版番号を取得するだけでいい。それが読み込み済みのWikitextのものかどうか判定。
これは編集作業中にも行なっていいがうるさいので、警告のしようがない。
衝突時も画面フローは変わらない †
通常でも編集後は差分表示。
衝突時も差分表示。メッセージが付くだけ「編集が立て込んだので確認しておいて」。
編集処理が一度キューに入るなら衝突が分かるのは後になる。なので編集時ではなく閲覧時にページ冒頭にでも「3版前に衝突がありました→確認する」という案内でも出しておけばいい。どのみち利用者が編集しないと衝突は回避できないし。
編集衝突時の統合はシステムによる編集 †
統合をしたら編集者は「システム」になる。
これで意図的に「システム」にして編集者名を隠せるが、そんなことはどうでもいい。
・編集者名は荒らし防止のためのものではない。
編集にシステムが介入したら衝突した編集者(複数)にメッセージを送る。
事後通知。
メッセージはメール?利用者ページ?後から編集した方(衝突したほう)なら編集直後のページで分かるが、前(衝突されたほう)にはお知らせできない。
編集禁止機能は不要 †
自分が書いたページ、自分が編集した分だけの履歴を取り出して、それを元に新しい版を作れればいい。
他人による編集を禁止するのではなく、自分が関わった版を改訂していけるように。
Wikiの設定類は編集権限の有無で。
これは編集権限はあるのに編集禁止されるページについて。
編集がプレーンテキストなのは †
他、MediaWikiの「外部エディターで編集」に対応するWebブラウザー拡張機能を作るとか。
署名 †
利用者の署名は…
- 自分の記事を探すため。
- 自分宛の記事を探すため。
書き続けられるように †
あとで書く †
下書きを保存。
(中断、後回し)
編集中のテキストを自分の個人ページ下のページとして保存。
ページ名を変えて保存するだけで良い。
追加(追記)は章単位。 †
HTML除去はいつ行うか †
ページ/編集/HTML書き込みを許可するので、永続化されたページの中にはHTMLを含む場合と含まない場合が生まれる。
含まない場合はいつHTMLタグを除去するか。
→閲覧時にページ/属性が「HTML」になってるかで判断して除去するか、あるいは編集時に。
→閲覧時。データは利用者に与えられたままで保存すべき。
下位ページを含むか?(下位展開) †
ページトップのEditボタンなら表示されている範囲を編集。(下位ページが表示されていればそれらを連結して編集)
見出し横のEditボタンはその見出し分だけ(章・下位ページ1つだけ)
??
下位ページを何階層展開するかは編集機能次第 †
編集機能呼び出しのパラメータで指定。
編集権限 †
下位ページを含む編集では章ごとに編集権限が必要。
1ページ内の編集権限の無い部分は埋め込みオプション付きの見出し記法のまま展開しない。
**ページタイトル/処理されない [#d68cd82c] ──あなたには編集できない部分です(ログインすると編集可能になるかもしれません)──
編集後に消えてしまっていたら末尾に追加。
消してしまっても順序が変わるだけ。
編集不可能なWikiTextが(見出し以外)見えなくなる。
でも、WikiTextを参考にしたりコピーできなくなるくらいの不都合しかない。
→:i/機能/ソース[?]機能を使用して解決。
全ページ共通のヘッダーあたりに置けばいい。
編集ページは検索エンジンにインデクシングさせないように指定 †
添付ファイルのファイル名は使わない †
→ファイル名を使う箇所がない。
機能で操作しやすいようにテキストに構造を持たせる †
編集時には出さない。ページ更新時に。
<div><span>でid、class属性を付ける。
機能の出力にも付けやすいように。フレームワークで付けるように。機能では「指定」のみをする。
機能の出力は<div class="機能名"></div>の中に書く。
なども。
機能ではclass名ごとに構造を扱えるように。
相互リンク †
→バックリンクの機能をページのフッターにでも入れておけばいい。
ページ削除は編集の内、ページ作成も編集の内 †
PukiWikiと同様に…
ページを空にするのが削除。
空のページに書き込むのが作成。
空でないページに書き込むのが編集。
…全て編集のうち。
編集の権限さえあれば、削除と作成もできるということに。
編集の競合は編集フォームを作成した時点の最新版で判定 †
競合判定は利便性のため。
判定は最新版の版番号でいい。