Re:Re:Catalystアプリオレオレポリシー

| コメント(0) | トラックバック(0)

久しぶりのえんとりー

めがねのひとに触発されてオレオレポリシー。
Re:Catalystアプリオレオレポリシー

仕事も個人もCatalystなんで、特にポリシーは分けてない。
会社のみんなも俺のポリシーでやればいいのに。

・MyApp::Pluginとかは作らない。
 だってそのアプリでしか使わないならMyApp.pmに書けば良いじゃない。
 もしMyApp.pmが長くなってきたらそのとき考える。
 他のアプリでも使いそうだったら全部C::P::Hogeにする。
 CPANにあげなくてもC::P::Hogeにする。
 そういうのはrun_script.plの中でPERL5LIBに足してパス通す。

・設定系は全部myapp.yml
 connect_infoもフォームのセレクトボックスも、
 DBには入れたくないけどハードコードしたくないのは全部myapp.yml

・myapp.ymlはリポジトリに入れず、myapp.yml.orgを入れる
 myapp.ymlは動いてる環境に合わせて。myapp.yml.orgはデフォルト
 更新があったらスクリプト使ってマージ。

・データベースの更新用にscript/updatedb.plとsql/update/を用意
 sql/update/の下にSQLファイルを作って、updatedb.pl走らせればおk

・テンプレートはDreamWeaverで編集
 タグとか打ってらんねーよ!

・ログは全部C::P::Log::Dispatch

・開発サーバは./script/run_script.pl ./script/myapp_lighttpd.plで
・本番サーバは./script/myapp_fcgi_starter.pl startで。
 場合によっては/etc/rc.d/init.d/にシンボリックを置く

まぁ こんな所かな?

とりあえず「catalyst.pl MyApp」でできない部分。


MyApp/
+html_template/ # DreamWeaverで作ったテンプレート用ディレクトリ
+Templates/ # ttのファイルに変換するコマンド使って全部変換する
index.dwt # DreamWeaverのテンプレート これを元にheader.ttとfooter.ttを作る
+static/
+css/
+images/
+lib/
+MyApp/
+CRUDBase/ # C::P::CRUD使うときの継承元
+Common.pm
+Groups.pm
+Main.pm
menu.yml # 外に出してないC::P::MenuMaker用の設定ファイル
myapp.yml # myapp.ymlはsvnに入れない
myapp.yml.org # こっちを入れる
+run/ # ログ・セッション・キャッシュ等のファイル置き場
DEBUG.MyApp # 本番時は/var/run/myappや/var/log/myappに出す
session
+script/
dbic_console.pl # MyApp::Schemas::MyAppを使ってDBICでほにゃる用のコンソール
grant.pl # updastedb.plの部品
myapp_lighttpd.pl # typesterさんのC::H::Lighttpdを元にprocsとか設定できるようにしたやつ
myapp_fcgi_starter.pl # ./myapp_fcgi_starter.pl [start|stop|restart|status]でFCGIプロセスを立ち上げる
run_script.pl # /usr/lib/やMyApp/libに無いけど取り込みたいモジュールのパスを通す。startup.plみたいなもの?
updatedb.pl # MyApp/sql/update/以下のreleaseほげほげのファイルを使ってDBをアップデートする。
updateseq.pl # updatedb.plの部品
+sql/
base.sql # ベーススキーマ update以下にファイルが貯まってきたらここに統合
+update/ # SQLのアップデートファイルがいっぱい
release-YYYY-MM-DD-NN.sql
+template/ # TTのテンプレート置き場 root以下は嫌いです。html_templateからスクリプト使って吐き出される。


MTのバージョンあげたいなー
デザインも変えたいなー
というかブログ放置するならなくしちゃえばいいのにって思った。

トラックバック(0)

トラックバックURL: http://deathmarch.orz.hm/mt/mt-tb.fcgi/65

コメントする