前回書いてからずいぶん経ってしまったが、業務利用のマスタメンテナンスツールをQcodoで開発していく手順について職場のJさんにまとめてもらったので、いろいろ晒してみます。業務システムに限らず、旧来のwebサイトに適用して、なんちゃってCMS/カンタン管理ツールみたいなモノを作って、サイトの運用をラクにする、というような使いかたもできるとおもいます。Jさんにはあらかじめ許可をいただきました。感謝。
実際のところ、Qcodoを使えば、最低限のメンテナンスツールは、
- codegen_setting.xml で対象テーブルと関連を定義する
- codegen.php で全部自動生成する
の2ステップだけで開発完了してしまう。カラムの日本語化やページレイアウト変更の多少の手間は残るが、それが我慢できるなら、難しいことを考える必要は無い。
業務利用しているデータメンテナンスツールとなると、そうもいかない。認証機能や、登録編集時の確認画面、検索機能、各種ビジネスロジックなどの追加要件は、どうしても発生してしまう。
つーことで、うちの場合は、Qcodo利用の勘所(ココを使うのが便利!!ってとこ)を、次の2つに絞った。
- モデル(entity+dao)が自動生成できること
- UIを作るためのライブラリが充実していること
上にも書いた通り、自動生成機能は entity+dao だけのコード(data)生成に留まらず、フロント(formbase/panelbase) の生成までもサポートしてくれてるんだけど… 仮に好きなようにロジックを追加したいのであれば、モデル部分は自動生成したものに任せ、フロントの部分は formbase を拡張する形で作るのが自然なアプローチになりそうだ。
ということで、今回の開発手順は、次のような感じでまとまった。
- 認証とセッション管理、編集確認、検索、ロギングの機能は共通機能として自動生成時のベースに含める。これらを適用した基本的なUI(*.tpl.phpなテンプレートファイル)も自動生成する
- 各テーブルを編集する際のビジネスロジックはFormBaseやPanelBaseをベースに、これらを拡張(継承)する
- テンプレートを書き換えたい場合、生成後の *.tpl.php を書き換える。使いたければQcodoの各種UIライブラリも使う(テンプレとロジックの結合度がわりと強いので、UIライブラリを使う場合は↑のロジック側にもいろいろ手を入れてやる必要がある)
- 自動生成された entity+dao と、任意に書き換えたFormBase, PanelBase, *.tpl.php をサーバに配置する
ちゃんと書いていきたいけど、眠くなったので寝る。続きは今度かく。
ところで、qcodoと前のエントリで書いていたが、Qcodoが正しいみたい。
関連していそうなエントリ:
最近のコメント