preload
3月 16

前回書いてからずいぶん経ってしまったが、業務利用のマスタメンテナンスツールをQcodoで開発していく手順について職場のJさんにまとめてもらったので、いろいろ晒してみます。業務システムに限らず、旧来のwebサイトに適用して、なんちゃってCMS/カンタン管理ツールみたいなモノを作って、サイトの運用をラクにする、というような使いかたもできるとおもいます。Jさんにはあらかじめ許可をいただきました。感謝。

実際のところ、Qcodoを使えば、最低限のメンテナンスツールは、

  1. codegen_setting.xml で対象テーブルと関連を定義する
  2. codegen.php で全部自動生成する

の2ステップだけで開発完了してしまう。カラムの日本語化ページレイアウト変更の多少の手間は残るが、それが我慢できるなら、難しいことを考える必要は無い。

業務利用しているデータメンテナンスツールとなると、そうもいかない。認証機能や、登録編集時の確認画面、検索機能、各種ビジネスロジックなどの追加要件は、どうしても発生してしまう。

つーことで、うちの場合は、Qcodo利用の勘所(ココを使うのが便利!!ってとこ)を、次の2つに絞った。

  1. モデル(entity+dao)が自動生成できること
  2. UIを作るためのライブラリが充実していること

上にも書いた通り、自動生成機能は entity+dao だけのコード(data)生成に留まらず、フロント(formbase/panelbase) の生成までもサポートしてくれてるんだけど… 仮に好きなようにロジックを追加したいのであれば、モデル部分は自動生成したものに任せ、フロントの部分は formbase を拡張する形で作るのが自然なアプローチになりそうだ。

ということで、今回の開発手順は、次のような感じでまとまった。

  1. 認証とセッション管理、編集確認、検索、ロギングの機能は共通機能として自動生成時のベースに含める。これらを適用した基本的なUI(*.tpl.phpなテンプレートファイル)も自動生成する
  2. 各テーブルを編集する際のビジネスロジックはFormBaseやPanelBaseをベースに、これらを拡張(継承)する
  3. テンプレートを書き換えたい場合、生成後の *.tpl.php を書き換える。使いたければQcodoの各種UIライブラリも使う(テンプレとロジックの結合度がわりと強いので、UIライブラリを使う場合は↑のロジック側にもいろいろ手を入れてやる必要がある)
  4. 自動生成された entity+dao と、任意に書き換えたFormBase, PanelBase, *.tpl.php をサーバに配置する

ちゃんと書いていきたいけど、眠くなったので寝る。続きは今度かく。
ところで、qcodoと前のエントリで書いていたが、Qcodoが正しいみたい。


関連していそうなエントリ:

Comments are closed.