ページ/」で始まるページ作成

 

目次 Edit

 
 

関連 Edit

 

検索:ページ

 

ページ周辺のタグ Edit

Array
 

ページ Edit

思い付き Edit

アクセス権は引き継がれる Edit

自動生成ページは元のページ(入力されたページ)すべてのアクセス権を引き継ぐ。
アクセス権の合成ルールが必要。

添付ファイルは1ページ扱い Edit

添付ファイル1つで1ページ
閲覧用データ/編集用データがHTMLで添付ファイルを表示するようなもの。
内部用データは添付ファイルそのもの。
こうしたほうが扱いやすいし、ページの機能を利用できる。
ページページを含める機能を利用して。

Wiki構築をページ Edit

Wiki構築をページで。
他のWikiEngineでのプラグイン

  • Wikiではページとはファイル権限、日付、読み専用などの属性、パスなどがある。
  • 段落を1ページにすれば使い回しや集約のために分ける作業が減る。
  • ページは…
    • ファイル
    • メール
    • 書き込み
    • フォルダー
    • オブジェクト
    • 順序や前後のある本のページ
    • ToDoリスト

履歴を取らない Edit

同一ユーザーによる同じページの複数回更新は上書き。
バックアップ履歴を取らない。無駄。
更新を1回取り消すと他のユーザーによる更新まで戻ることになる。

ページ内容はコードと見なせる Edit

  • 全てコメント
  • #で始まる行はコード
  • コードの出力はコメント
  • コードの出力はコードの位置に展開される

Wikiは1ページが1つの板 Edit

利用者登録も?
WikiFarmとは違う?

ページクラスに追加 Edit

iframeタグを生成するプラグインなど、管理者だけが使えるプラグインを使えるページ
使える文字列が違う。

このページ事態管理者だけが使えるものでなくてはならない。

newプラグインを標準に Edit

章にはNew!が付く。
ということでページへのリンクにも付く。
章へのリンクにも。

ページタイトルと章タイトルにも。
タイトルに付ける方法は?

名前変更でリダイレクト Edit

ページ名前変更をしたら旧名はリダイレクトページになる。
もう一手間かけてリダイレクトページを消してもいいし、旧名をまた使うまで残しておくのも良い。

他サイトからのリンクを切らないための措置。

仕様が大きくなりそう Edit

ページ分割する必要がありそう?

実装 Edit

コンテンツとスタイルの分離 Edit

「人気のページ」など、データを提供するページはコンテンツとスタイルを分ける。
スタイルは…

  1. スタイルシート
  2. フィルター
    →フィルタリング
  3. ページ/テンプレート

…で。

フィルターとテンプレートは別のページに埋め込んだときに可能…になるはず。

1ページに4つの形式 Edit

  • 閲覧用
    HTML
  • 編集
    WikiText
  • 保存用
    オブジェクト
    内部用のページIDなどを使う
    (オブジェクト間を間接的な参照に)
  • 検索
    表記の揺れを省く
    大文字/小文字統一
    カタカナ/ひらがな統一
    全角/半角統一

リストとハッシュ Edit

リスト状に並んだページ
ハッシュに格納…Wiki。

凍結 Edit

ページ凍結は再生成を止めるということ。
編集、参照などは可能に。

エクスポート機能 Edit

データをテキストにする。
入力時そのままの形式のテキストに。

ずっとテキストで保存することに意味はない。
必要なときだけエクスポートできればいい。

分割数を指定。デフォルトでは1。テキストファイルを1つの圧縮ファイルに入れてブラウザーへ。

OPML Edit

OPMLを使う手も。
キーワード:OPML

XOXO Edit

microformatsのXOXO。
キーワード:microformats

不要? Edit

WikiTextにフォーマットなど無いので、共通フォーマットも不要。
ただページ→他のWikiEngineでのページに変換することができれば良いだけ。
インポート手順は相手WikiEngine次第なのでサポートしない。

エクスポート機能は変換しやすい形式でダウンロードできればよし。

ページに手を加えるにはページごとに Edit

{属性→値}
でできた指示をキューイング。
適当なときに処理。

最新版が必要なときは自動リロード。

衝突したか知らせるために、編集後のレスポンスには最新版が必要。

編集ページ検索エンジンにインデクシングさせないように指定 Edit

継承される領域 Edit

タグもここに。
WikiFormatで。1ページにいくつでも入れられる。
継承され、下位のページにも適用される。
ページ移動時、消えたり追加されたり。
ただしシステムが追加、削除するのはページ/裏にある継承可能領域のみ。

継承に単位が無いのが問題?
ページ内容はテキスト1つ。これを継承するので分ける必要がある。
内容(継承されない)、ページ全体に影響するプラグイン呼び出しを書くところ(継承される)、裏の3つに分ける?
継承したものは埋め込み位置が失われている。位置が重要なページ/内容継承できなくていい。

 

この領域にプラグイン呼び出しを書けば、下位にあるページすべてに書いたのと同じ。
この領域から呼び出すプラグインを作れば、下位にあるページ管理するようなものも作れそう。
WikiEngineのオブジェクトを組み合わせて独自のCMSを作るとか。

本体はオブジェクト Edit

ページの本体はオブジェクト。
WikiTextではない。
WikiTextはオブジェクトを操作するためのコマンド集。あるいはオブジェクトの設計書。

アクセスログページ属性 Edit

ページを扱うとき、一緒にアクセスログも扱えるように。
:t/フレームワーク

ページプラグインのDB Edit

データはページに記録。
独自形式を使うよりも使いやすくなければ無意味。

作成を頻繁に行う Edit

ページにID
同一IDはFlyweight。
→PageFactoryが要る。

異なるを集めた集約も要る。
1つのページ
Pageの集約 ◇─ Page ◇─ Plug-in

ページ…Page
…Pageが持つRevision(Rev)属性
それとPlug-in。
Pageの集約はリスト。内部は線形。(順序が必要。)
Pageは順序無し。平たい構造。グラフ構造。
Plug-inはRevを中心にした星形。

  • Pageの集約に名前を。
    ページが集まったら何になるか?
    本?冊子?束?

資料 Edit

ごく簡単なHTMLの説明 - The Web KANZAKI
http://www.kanzaki.com/docs/htminfo.html

モデリング Edit

ページは…

  • データ保存場所
  • 保持しているデータやそれに関する情報を文字で情報を提供する。
  • 利用者から送られてきたクエリーのうち、自身に関する部分だけは解釈できる。
  • 入れ子関係になっている場合、親になるページインスタンスから属性を受け継ぐ。

ページは…

  • 読まれる
  • 書かれる
  • 自動的に書かれる
  • 名前を持つ
  • ID(内部名)を持つ

ページは…

…を含む。

WikiText Edit

WikiTextは…

  • HTMLタグ
  • プレーンテキスト
  • WikiFormat
    WikiFormatは入れ子にできる。Decoratorパターン。

…を含む。

WikiFormat Edit

WikiFormatは…

…を含む。

テンプレート Edit

テンプレートは…

  • 適合用正規表現
  • 置き換え用正規表現
    複数。順序あり。

…を含む。

継承 Edit

属性未定義のものだけページから継承する。
先祖に無ければデフォルト値。デフォルト値はWikiの設定にある。

ページ/内容内に章見出しか定義リストの形式で…

…を与えられるように。
通常のページ/内容は元からこの定義リストになっていることにする。
属性名が無いと通常の内容の定義になる。

ページにI/Fを複数用意 Edit

例えばPukiWikiのMenuBarは表示が違う。

などを変えるには?

→フィルタリングで。
実装は

→&tip;却下。変えない。
表示は1通り。I/Fは1つ。
利用者にとって使いやすくなる。
クラス間の依存関係を増やしてまでやることではない。

出力の統合はどうやるか? Edit

→順位付きで出力。同順位同士では後に追加。
順位には複数に分かれたHTMLヘッダー領域も含まれる。

Wikiは1つのページ Edit

検索ページ Edit

検索フォーム検索兼追加投稿*1という特殊なもの。
検索ワードが検索結果へのリンクになって残るから。

検索ページは…

…を含む。

検索履歴の分量には制限を掛けられるように、検索履歴のみを独立したページに。
プラグイン/自動更新で新しい履歴のみの越す。

ページ/編集ページ/属性を変える一例 Edit

ページ/属性エディターがWikiサイト。
ページ/編集ページ/属性にある「内容」を更新、保存する機能。
継承される領域やページ/裏だけでなく、ページ/属性の数だけWiki上のページのフィールドがあるということに。

コード Edit

Perl Edit

code*:364