忍者ブログ
目標: 月1回以上更新すること
> ホーム <
27 26 23 22 21 20 19 18 17 16 15
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

test.png
前回の続き。
図の階層構造そのものがこのWikiの特徴。

一番上の階層「Storage」は、いろいろなデータのフォーマットや保存場所だけが定義されている。
しかし、ユーザーやアドオン開発者は保存データの構造を気にする必要はない。それどころか、このStorage階層に直接アクセスすることは許されない。
データにアクセスするには、真ん中の黄色い部分、「Core APIs」と名付けられた関数群をもちいなければならない。

「~ならない」と表現すると、一見うっとうしい制約がついたように見えるが、「Core APIs」はWikiデータの操作を制限するものではなく、単なるラッパーである。
「ラッパー」がどういうものかについては、この辺を参考にしていただきたい。
つまり、「Core API」を使えば、アドオンの開発者は日本語のページ名をURLエンコードしたり、ファイルのXMLデータを解析したり、セッションの情報からユーザー名を取得したり、…、というコードを書く必要がないのである。

ピンク色の「Cache Controller」は微妙な位置づけの機能。
通常WikiではWiki形式のデータをHTMLに変換する必要があるが、ページが呼び出されるたびに変換するのは負荷がかかるから鬱陶しい。
ということで、
・ページを編集するときはWikiデータを垂れ流し、保存時にHTMLへの変換をしてキャッシュに保存する。
・ページを普通に呼び出すときはキャッシュデータを垂れ流すだけ
という負荷軽減機構だ。よく使われる手段だけどね。

ほかの部分は他所のWikiシステムと大差ないので省略。
強いて違いを挙げるならHTMLだけじゃなくてPDF形式でも表示できる、といってもこれも既存の機能。
さらにユーザーが好きな出力形式を追加できるようにしよう。XHTMLとかTeXとかXPSとか…

まあ、プラグインの簡単インストール機能とかついてたほうがユーザー的には嬉しいけどね。

あと、画像とかのファイルは「Media」の部分にまとめて保存する。ページごとに添付する方式は鬱陶しいから廃止。
一応フォルダとかカテゴリの機能をつけて整頓しやすくするが。でもそうすると画像のパス名が長くなるんだよな…
using namespace ***
的な文法でも付けとこうか。
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
ブログ内検索
カレンダー
11 2017/12 01
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
~*~*~*~
カウンター
最新コメント
[09/25 紗弥加]
[09/09 しょうこ]
[08/11 かおる]
[07/30 みなみ]
[07/22 純]
最新トラックバック
アクセス解析仕掛けてます
忍者ブログ [PR]