プログラムが書けるのに、どうして a-blog cms 使うんですか?
森田
プログラムが書けるのに、どうして a-blog cms 使うんですか? 他の CMS でプログラムを書いてしまった方が楽じゃないですか?
藤田
開発する人にとってもあまりテンプレートにロジックはいれたくないという人が多いんですよ。だからa-blog cmsのようにテンプレートの制御がコードを少なく書けるというのは魅力的です。
WordPress のようにPHPプログラムがそのままテンプレートに書けるCMSの場合、どれだけでもぐちゃぐちゃにできるし、セキュリティホールができる事もあります。
でも、a-blog cms では、ほぼプログラムがテンプレートに書けないので、セキュアだし、きれいにテンプレートが書けるので、運用や引き継ぎを考えてもいいなと思います。
藤田
とはいえ、新たなロジックを書きたい時には不便だなぁと思ってたんですが、最近わかったのは、独自のロジックをプログラムできる事が分かり、さらに魅力的なCMSに思えています。実際、オリジナルのモジュールを作っています。
あまりドキュメントが公開されていないから、そんな開発ができることを知らない人が多いんでしょうね。開発者に人気がないのは、プログラムが書ける事が知られていないからかなぁ。いろいろできることをしったらもっと人気でると思うし、テンプレートの仕組み的にも開発者には手離れがいいCMSだと思うよ。
なんでもかんでもプログラムしたがる開発者には、チョット。
森田
そのー手離れがいいってのは?
藤田
デザイナーさんと、しっかり分業ができるって意味。
多くのCMSは管理ページ上でカスタムフィールドを設定するんだけど、そういうCMSは開発用のサーバーから本番サーバーへの反映がとても大変なんですよ。a-blog cms は field.html ってテンプレートファイルをアップするだけでできるのがいいよね。
森田
ふ〜〜〜ん。登録? テンプレート書くんじゃないですか?
藤田
管理画面でカスタムフィールドの名前とかタイプとか定義を登録するんですよ。
WordPress も似たような感じなんだけど、カスタムフィールドをインポート・エクスポートする仕組みでなんとかなるんですよね。そういったカスタムフィールドを管理画面で作るCMSの本番反映については本当に大変ですね。
森田
藤田さんは、いろんな CMS を利用していると思いますが、a-blog cms に一番近いなって思う CMS は何ですか?
森田
この前の CMSプロレス の NOREN の紹介で、ユニットみたいなのありましたよね。
藤田
あれは、陣っていうキノトロープさんが作ったもので、あれはオプションなんだよ。a-blog cms は、最初から入ってますよね。最近、ユニットという概念については最近 Movable Type でもやろうって動きがありますね。藤本さんとかやってたりしますね。
森田
もう1コの、Drupal は?
森田
モジュールIDってこと?
藤田
そうそう。モジュール単位で情報を持ってくるところ。モジュールIDで条件を指定しているじゃないですか? a-blog cms では、この条件が管理ページで設定できるけど、Movable Type とか WordPress とかは、テンプレートに書くことが前提なんですよね。
そんな、嫌な顔してー。
森田
だって、使いまわせないじゃないですかー。
藤田
その通り!だから結構大変なんですよ。でも、a-blog cms のような管理ページでの設定にもデメリットはある。本番移行時に設定の移行が大変。さっきのカスタムフィールドの時の逆の状況だよね。
森田
モジュールID のエクスポートもあったような... 普段あまり使わないんですけど。
森田
藤田さんの将来的に a-blog cms に欲しい機能は何ですか?
藤田
ソースコードを公開とか! エラーがあった時に見えないと苦労するんだよね。
森田
一応、テンプレートに書くGETモジュールは Github に公開されていますので、そちらもご活用ください。
藤田
他には、何かあるかなぁー。なんだろう?なんだろう?
機能はかなりできてるので、今度搭載されるレイアウトモジュールができれば、僕の中では、だいたい大丈夫だと思う。まぁ、レイアウトモジュールの洗練度をアップして欲しいくらいかな。
開発中のレイアウトモジュールの紹介動画
森田
洗練度って?
藤田
運用しやすい、制御がききやすい、壊れないような仕組みになるといいな。レイアウトモジュールのバージョン管理とか、承認機能とかもそのうちできるようになるといいな。
レイアウトが簡単に制御できるCMSとかで、実際にレイアウトを変えるデモをやることがあるんだけど、短い時間でやるので、たまに見た目がとんでもない結果になる事がある。こんな風にレイアウトが変えれて素敵でしょ!っていうのが、こんな感じに壊せちゃうよね!って印象のデモに変わる時もあるので、そういう印象を無くせるようにしたい。
ほら、おかしくなったけど、ポンって簡単に戻せますよ。って言えると、いいなーって思います。どうですかね?
藤田
ホント、デザイナーのためのCMSなんだけど、開発者も面白いと思う。テンプレートにロジックが書けるのが嫌いな開発者は大量にいるから。基本的にはそうだと思う。どちらかと言えば、テンプレートじゃないところに書きたい。書いたヤツをテンプレートで呼び出せる a-blog cms のモジュールみたいな仕組みはいいよね。
開発のためのドキュメントがしっかりしてたり、サンプルがもっとあると使ってもらえるんじゃないかなぁって思います。
森田
今回はたくさんのCMSを知っている藤田さんにお越しいただいたこともあって、a-blog cmsの話だけではなく、他のCMSの話も聞くことができて、個人的には勉強になりました。自分がプログラムを書く人間じゃないので、開発者側からみたa-blog cmsの感想もいただけて面白かったです。
それでは最後になりましたが、藤田さんありがとうございました!
その後、開発系のドキュメントを追加しました
- a-blog cmsのモジュール
- GETモジュールの基本と雛形
- POSTモジュールの基本と雛形
- GETモジュールから表示ページがもつIDを参照する
- テンプレートエンジン(Templateクラス)の使用 (前編)
- テンプレートエンジン(Templateクラス)の使用 (後編)
- データベース関係クラスの使用(1) DB編
- データベース関係クラスの使用(2) SQL Select編
- 校正オプションの拡張について
- フック処理の拡張について