このサイトのCMSは弊社オリジナルです
世の中たくさんCMSはあるので、何も作る必要はないじゃないかというのは、まぁ当然の反応だと思います。
じゃあ、なぜそんなものを作ったのかと言えば、
作りたかったから
としか言いようがありません。
WordPress とか使えば、サクっと作れるのはわかっているのですが、 汎用性が高いがゆえに中身が複雑ですし、それゆえにいろいろ面倒臭いことも起きます。 また、PHP で書かれているので、普段 Ruby や C でシステムを書いている我々にとっては、ちょっと躊躇してしまいます。
Ruby で書かれた CMS も結構あることはわかっているのですが、ピンと来るものがない。
そんなわけで、 CMS を自作してます。
やっていることは簡単で、コンテンツを送り出す CGI があるだけです。 テンプレートも特に凝ったことをしないで、ERB を使うだけというシンプルさです。 フレームワークとか使ってません。Rails じゃなくて CGI です。 Rails 界隈の変化の激しさに付き合うつもりはありませんから。
ちょっと工夫したことと言えば、コンテンツを送り出すためのロジック(Railsで言うcontroller)をいくつか用意出来るようにしたことくらいです。
class PutPage < Controllers::Base def get(params, cookies, options) render(options['template'], { params: params, layout: options['layout'], pages: options[:pages], title: options[:title] }) end end
主要部分は本当にこれだけ。renderって書けるのも一工夫あったんですけどね。
でまぁ、こんなことをして何が良かったかと言えば、テンプレートやcontrollerで好き勝手が出来る拡張性があることと、 割と即物的にフレームワークが作れることでしょうか。
反面、「誰でも簡単にサイト構築」とかは無理になります。 でも別にいいじゃないですか。自社サイトの構築をするために作っただけなんですから。
コンテンツは DB の中にありますが、それ用の UI はまだありません。 直接 migration ファイルでセットアップしています。別にいいじゃないですか(ry
今のところ完全に社内ツールでしかないので、公開や販売の予定はありません。 希望があるようなら考えないではないですが...