- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- フレームワーク/WikiEngine へ行く。
- 1 (2009-08-30 (日) 11:16:03)
- 2 (2009-09-22 (火) 16:38:15)
- 3 (2009-09-22 (火) 16:53:24)
- 4 (2009-09-24 (木) 00:12:15)
- 5 (2009-09-24 (木) 00:20:53)
- 6 (2009-11-07 (土) 01:16:23)
- 7 (2009-11-13 (金) 02:07:45)
- 8 (2010-12-29 (水) 08:51:09)
- 9 (2011-01-10 (月) 23:45:18)
- 10 (2011-01-15 (土) 21:38:54)
- 11 (2011-01-15 (土) 21:53:45)
- 12 (2011-02-12 (土) 13:08:18)
- 13 (2011-03-02 (水) 11:30:49)
- 14 (2011-07-17 (日) 04:12:31)
- 15 (2011-12-14 (水) 01:29:17)
- 16 (2012-06-01 (金) 01:33:47)
- 17 (2012-06-01 (金) 05:09:05)
- 18 (2012-06-01 (金) 05:15:14)
- 19 (2012-06-01 (金) 05:31:34)
- 20 (2012-06-01 (金) 05:58:56)
- 21 (2012-06-01 (金) 06:00:17)
- 22 (2012-06-01 (金) 06:13:22)
- 23 (2012-06-01 (金) 06:17:55)
- 24 (2012-07-30 (月) 15:09:42)
- 25 (2012-09-20 (木) 06:45:29)
- 26 (2012-09-20 (木) 07:29:51)
- 27 (2013-01-28 (月) 07:20:28)
- 28 (2013-03-04 (月) 06:36:48)
- 29 (2013-03-04 (月) 12:41:52)
- 30 (2013-03-04 (月) 12:43:41)
- 31 (2013-03-05 (火) 04:39:50)
- 32 (2013-03-05 (火) 05:20:06)
- 33 (2013-03-07 (木) 15:50:44)
- 34 (2013-03-13 (水) 13:45:11)
- 35 (2013-03-20 (水) 22:35:35)
- 36 (2013-03-23 (土) 16:03:19)
- 37 (2013-04-16 (火) 18:19:10)
- 38 (2013-04-18 (木) 20:25:00)
- 39 (2014-02-24 (月) 21:11:10)
- 40 (2014-03-01 (土) 01:10:29)
現在考案中のWikiEngineについて。
クラス設計→X
既存のWikiEngineについては→ tag:解析
目次 † 
関連 † 
- :/ページを更新できるのは自身だけ
- :/ページ要素間の連携方法
- :/疑似言語とPerlでフレームワーク
- :/要素からWikiEngineインスタンスを起動可能
- :Done/SPAM対策
- :Done/データアクセスでページ要素を更新したい
- :Done/属性の継承法則
- :RenameLog/2009
- :RenameLog/2010
- :RenameLog/2013
- :RenameLog/2014
- :i/クエリーパラメーターはユースケースクラスのもの
- :i/プラグインで独自のシステムを作れるか
- :i/プロトタイピング
- :i/プロトタイピング/01
- :i/ログインはWebフレームワーク、ユーザー管理はWikiフレームワーク
- :i/利用者ページの下位に利用者設定を
- :i/状況依存のページ選択
- :t/Wiki
- API
- X
- fw/Wiki
- テンプレート
- フレームワーク
- フレームワーク/Webアプリケーション
- フレームワーク/Webアプリケーションでやること
- フレームワーク/WikiEngineでやること
- ページ
- ページ/権限
- 下位展開でやること
- 全てURIで
- 利用者
- 権限
WikiEngineとは † 
wikiのシステム部分。(サイトとしてのWikiは半分が利用者のアイデアでできている)
キーワード:WikiEngine
キーワード:Wiki OR ウィキ
利用者から与えられたデータを「ページ」化して保存するもの。
利用者からの要求に応じて「ページ」を切ったり貼ったり整形してから見せる。
HTML変換の内部処理 † 
複数の記法→HTML変換を一度に行うために、変換後内容を用意してから置き換え。
全記法分、探索
始点・終点の位置を記録。重なりはエラー。
挿入・削除の区別は要らない。対象位置と内容があれば十分。末尾から順次置き換え
位置がテキスト先頭からの距離なので置き換えの影響を受けないよう末尾から。
参考 † 
実装 † 
ページ要素とのつながり † 
→機能/API[?]
ページ名にユースケース別接頭辞 † 
ブックマークや履歴、ウィンドウタイトルを分かりやすくするために。
閲覧…なし
編集…-
追加…>
…など。
URLクエリーに置くデータ † 
URLに付けるデータはネット上で共通のもののみ。
個人領域のデータ、状況に左右されるデータは置かない。
URLはどれもパーマリンクにすること。
というわけで、
- 検索/クエリー
…はURLクエリーに含める。
「次」や「前」という表現は使わない † 
新/旧、大/小などにする。
ソート順が分かる表現に。
負荷軽減 † 
→負荷[?]
編集後の更新処理を分割。
クエリー保存、ページ更新のキュー入れ
衝突時の警告ができなくなってしまうので不可。編集対象ページはすぐに更新、衝突したらそのときのレスポンスで利用者に知らせなければならない。- 対象となるページの更新、関連するページ更新のキュー入れ
- 関連するページの更新(複数回)
ページを指定していないリクエストでは
…を返す。
というわけで、トップページを見せたいときはトップページを指定したリンクを作り、通常はページを指定しないリンクを使う。
これで、静的なページからでもWebブラウザーの履歴を操作することなく、最後に参照したページに戻れる。
→URIとあわない。
記法の優先順位 † 
機能には記法ごとに(機能ごとではなく)優先順位を定義。
これで複数のNotationに当てはまる場合や、Notationに包含関係がある場合に対応。
WikiEngine側で上書き可能。(Wikiの設定。Notation→機能の追加と一緒に定義)
Notationクラス名→優先順位の表を定義。これが無い場合は機能側の定義を使用。
後からでも追加しやすいように優先順位は0以上の小数点数。
設計 † 
- ユースケースをクラス化。
- ログインページの次はHTTP_REFERERにあるページ。
- ファイルはFlyweightであるべき。
オブジェクトモデル上ではinclude.incのような機能を考慮しない。
include.incのような機能はデータコピーで実現。- アクセスログはページの属性。
利用者はページにある情報を元に作られる。ページが他のページインスタンス宛に編集クエリーを作る。検索は機能化する。