制作作業と配備作業
「サイトがとにかく簡単に作れる」に関して、Catyはけっこう実現出来てきた。が、Catyは業務用ツールなんで、業務の最初から最後までサポートしないといけない。サイト作成段階での顧客とのコミュニケーションや、納品物の作成、本番カットオーバー、更新・メンテナンスまで。
Catyが推奨するワークフローでは、制作の最初からサイトを顧客と共有する。この方法は、今のWeb業界からは嫌われそうな要素を含むんだが、そうすべきだと思う。これが嫌なら、出来上がってからまとめて納品することももちろん可能だし。
「サイトを顧客と共有」にも色々なやり方がある。
- それぞれのローカルPCにCatyをインストールして、サイトデータを適宜交換する。
- 顧客はLAN内にテスト&ステージング・サーバーを持ち、サイトデータを適宜交換する。
- 同一のテスト&ステージング・サーバーにアクセスする。
いずれにしてもデータの交換が発生する。
メール添付やFTPはさすがにないだろうと。リビジョン管理システムを利用すれのがよかろうと。僕らがMercurial使っているからこれがよかろうと。
CatyのパッケージにMercurialも同梱してしまい(ライセンス上どうか?)、Catyのプロジェクトディレクトリを生成(初期化)するとき、hg initもしてしまうと。一部のCatyツール(OSのコマンド、「コマンド」と呼ぶと混乱する)がhgコマンドを呼んでリポジトリを維持するようにすればいいのではないか。
僕の経験では、みんなあんまりcommitしてくれないのだが、少なくとも顧客とデータを交換するタイミングではcommitする。顧客側がMercurialを使ってくれないなら、hg archiveしたファイルを送ればいいのではないか。diffでもいいし。いずれにしても、制作側はMercurial使ったほうがいい。
本番サーバーにもリポジトリを置いて、本番への配備・更新はリポジトリからupdateをするのがよいと思う。SSHでリモートコマンド実行ができると楽そうだな。このへんは有りモノが使える気がする。