Frockworks[taro:Memo]

[Written by たろう]
Clockworksのソースを再利用してKanaWikiを作ったように、Clockworksをベースにしたような、Frameworkぽいものが作れないかな…と考え中
ClockworksとFrameworkを足して適当に割って、「Frockworks」
frockは「(農夫・労働者などのゆったりした)仕事着」という意味があるそうなので、「作業をするときに必要なゆったりとした枠組み」という辺りの意味も後から加えてみる。

URLを「(Searver)/index.cgi/(WordCode)」に統一
・下位互換として「(Searver)/index.cgi?word=(WordCode)」もOKとする
・おまけで「(Searver)/index.cgi?(WordCode)」もOKにしてみた
・URLのWordCodeに:がある(複数の場合は最初の:のみ)場合、:の前部分をAction、後部分をWordとして扱う

内部データのCRUD(Create,Read,Update,Delete)ができるようにする
・GETの場合はRead(画面表示系処理)
 ・GETの複数パラメータ指定ができないな…/区切りで指定しようかな?
 ・GETの拡張処理はGetAction_(ActionName):引数Word/GetPage_(Word):引数なし
・POSTの場合はCreate、Update、Delete(パラメータによって変化)のデータの操作処理等、画面表示を行わない処理
 ・POSTのときにGET用複数パラメータ指定(/区切り指定)があっても無視をする?
 ・POST処理の後はActionResult呼ぶ(メッセージとリダイレクト先を指定)
 ・POSTの拡張処理はPostAction_(ActionName):引数Word/PostPage_(Word):引数なし
・拡張処理の関数がない場合はGetAction($Action,$Word)/PostAction($Action,$Word)を呼ぶ
・とりあえず、PUT、DELETEは考えない:p

最低限、以下の関数を定義すればCGIとして動く
・GetAction()
・PostAction()
・ActionResult()
…一応、なくても動く(Templateで定義したヘッダーとフッターのみ表示されるだけ)

PageViewモジュールは簡易Templateモジュール
・WordTemplate_(Word).tplファイルがあれば、それを出力
・ActionTemplate_(Action).tplファイルがあれば、それを出力
この2つのテンプレートファイルに対しては、置換処理をほぼ行わないので、ファイル内のHTMLをそのまま出力だけ

以下メモ
・Clockworks用には、特殊なインライン表示用のBracketAction_(Name)を用意
・iPodCalendar(local)
・iPodNote(local)
・BookAdmin
・PlugInAdmin

過去の「改良メモ(Note:5006)」もメモ


以下、思いつきメモ追記
Wiki::plugin_name::GetAction
Wiki::plugin_name::PostAction
Wiki::plugin_name::GetPage
Wiki::plugin_name::PostPage
とかで呼び出すというのはどうだろう?

Wiki::ParseとかWiki::DBとかも設定ファイルで切り替えができないかなぁ…
tags:Clockworks:
[2006-03-08 22:10:35]


Comment


(このNoteは書き込みから約半年以上経過したためコメントFormを非表示しています)

Zenback