Model-Glue:Unity Scaffolding
Sean Corfieldのサンプルアプリケーションggcc11を通じて、Model-Glue:UnityのScaffolding機能を含めた「15分で作るWebアプリケーション」の作成手順を体感しつつあります。
しかしながら、私のローカルマシンやHostNexusホスティングで完璧に動作していません。
Model-Glueメーリングリストでも私と同様のエラー発生が報告されているので、ベータ2までには解決するだろうと思います。
Seanが記述してくれたGGCC11作成体験記を意訳してみたので、ご参考までに。
詳細は、添付ファイルをご確認ください。
1.modelglueapplicationtemplateを雛形にして、ANT適用
a. modelglueapplicationtemplate内のbuild.xmlファイルを開き、
b. <property>タグのtarget属性のvalue値に、"ggcc11"へのフルパスを設定し、
c. <replace>タグのtoken属性のvalue値に"ggcc11"を設定する。
2.Reactor.xmlファイル
a.データベースオブジェクトの定義
b.リレーションの定義
3.ModelGlue.xmlファイル
a.scaffoldタグの追加
note
task<event-handlers>
<scaffold object="note" />
<scaffold object="task" />
</event-handlers>
4.アプリケーションの実行
http://[host]/ggcc11/
5.自動生成ファイルの確認と移動
a.viewファイル(確認と移動)
VIEW(cfm) :/ggcc11/config/scaffolds/dsptaskList.cfm ---> /ggcc11/views/
frmtask.cfm ---> /ggcc11/views/
b.modelファイル(確認のみ)
MODEL(cfc):/ggcc11/model/data/
6.Scaffolds.xmlファイル内容をModelGlue.xmlファイルにコピー
コピー元:/ggcc11/config/scaffolds/Scaffolds.xml
<event-handler>タグ task.list, task.edit, task.commit, note.commit
コピー先:/gggcc11/config/ModelGlue.xml
<event-handlers>タグ
7.<event-handler>タグへの追記
a.task.commit用<event-handler>
note.commitへのforwardb.note.commit用<event-handler>
task.editへのredirect
8.controllerへのリスナーメソッドの追記
getQueryStruct()メソッド
9.ModelGlue.xmlの修正
a.メッセージリスナーの登録
<message-listener message="makeLookupFromQuery" function="getQueryAsStruct" />
b.task.list<event-handler>へのメッセージ追加
<message name="makeLookupFromQuery">
<argument name="queryName" value="statusQuery" />
<argument name="lookupName" value="statusLookup" />
<argument name="key" value="statusId" />
<argument name="value" value="statusName" />
</message>
<message name="makeLookupFromQuery">
<argument name="queryName" value="userQuery" />
<argument name="lookupName" value="userLookup" />
<argument name="key" value="userId" />
<argument name="value" value="firstName" />
</message>
10.dsptaskList.cfmの修正
HTMLの整形:status、username、最終更新月日
11.frmtask.cfmへの追記
a.validationError時の対応
<cfmodule template="customtags/validationErrors.cfm" property="ownerID" validation="#validation#" />
b.その他
12.未達成事項
a.note書き込み時のセキュリティチェック
ggcc7を参照
コメント