- 2009年1月27日 01:54
- cms
MTはブログツールとして生まれ、CMSとして進化したと言われているわけですが、そもそも、CMSって何でしょう。
どうもログとか見ていて、エントリーに他人の目を意識しすぎて筆がにぶったので、ここは初心にもどって、気になるテーマを思考実験をしながら、何回かにわけて思いつくままに書いてみたいと思います。
そもそもCMSってなんだ?
「ウェブへ情報を発信する道具」には、どんな機能が必要条件なんでしょう。もちろんサーバーと回線は担保されていると考えた上でです。
まず考えられるのは、情報をサーバーを介して、ブラウザーで見ることができる形式にかえる道具だ。最初に思いつくのはテキストエディターだけど、ブラウザー上でテキストが入力できて、サーバーに保存できるのならば、テキストエディターすらいらなくなる。さらにローカルのテキストエディターだけだと、サーバーにアップるすためのFTPソフトも必要になるが、ブラウザーで直接編集できるのであれば、それも不要になりますね。
そう考えると、ミニマルに必要な道具は、サーバー上で動くCGIのような小さなウェブアプリケーションということになりそうです。最低必要なのは、そこに直接HTMLを記入して保存すると、サーバーに情報が保存されて発信されるというものです。
これだけでも結構いろいろできると思います。情報を入力するのは、別にコンピューターでなくても、携帯からでも、ゲーム機からでも、ウェブページにアクセスできさえすれば、情報が発信できます。
では、発信した情報に間違いがあったり、追記をしたくなったりした場合はどうすればいいでしょう。発信中のページなかから、対象となるものを特定し、編集したり、削除したり機能が必要が必要となってきます。場合によっては、新しいページに分けたい場合もあるでしょう。
このような、情報をあつかうユーザーインタフェースに共通の機能を、Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)の頭文字をとってCRUD(クラッド)と呼びます。特にRは単なる読み取りだけでなく、検索の意味でもあるRetrieveと置き換えて考えることもできます。
このCRUD、SQLコマンドとも対応することからもわかるように、データーベースととても親和性が高いユーザーインターフェースでもあります。故に、WEBアプリケーションとしてCMSを開発する場合、静的ファイルに書き出してファイルシステムで管理するより、直接DBに問い合わせて動的に生成するほうが、開発が楽だということを意味しています。
静的ファイルを生成する場合、その生成ディレクトリーを記録して都度更新するなど、情報の書かれているファイルそのものの管理も必要になってくるからです。
CMSの必要条件
これらを踏まえると、以下のような機能が最低必要です。
- テキストを書く機能
- データーを作成、検索/読み込み、更新、削除する機能
の2つです。すなわち
- 情報を編集・入力する機能
- 情報を管理する機能
の2つが必要になってくるわけです。
テキストエディターと、FTPソフトの組み合わせの場合も、この2つの機能を、OSとソフトの機能を組み合わせて行っているにすぎないことがわかります。
次回から、この2つの機能に分けて、さらに深く考えてみましょう。
- Newer: Pecha Kucha Nightと形式美
- Older: WPかMTか 再考