II-15-9. RoR応用アプリケーションの利用

典型的なWebアプリケーションであるコンテンツ管理システム(Content Management System; CMS)について説明し、CMSのRubyによる実装例としてRubricksやRadiant CMSなどのアプリケーションを紹介する。RubricksやRadiant CMSの構成と特徴について述べ、さらに各アプリケーションの導入と設定方法を解説する。

【学習の要点】

* CMSとはWebページや画像データといったコンテンツを作成、編集、管理する機能を提供するソフトウェアである。

* RoRを用いて開発されたOSSのCMSとしてRubricksやRadiant CMSがある。

* Rubricks、Radiant CMS共に拡張性が重視されており、拡張機能をプラグインとして開発、あるいは導入するための仕組みが提供されている。

図II-15-9. Radiant CMSの管理画面

【解説】

1) CMS(Content Management System)

CMSとは、コンテンツの作成、編集、管理を容易にすると共に、一貫した形式で公開することを可能にするソフトウェアである。Webサイトの構築に広く利用されており、ブラウザ経由でWebページの追加や編集を行う機能や、ユーザの権限を管理する機能などが提供される。BlogやWikiもCMSの一種であると考えることができる。

2) Rubricks

Rubricksは日本人の開発グループにより開発されているCMSである。

* RoR上に構築されており、MITライセンスで公開されている。

* BBSやニュース配信の機能が用意されており、コミュニティポータルの作成を容易にする。

* Rubricksはコンポーネントアーキテクチャと呼ばれる機構を採用しており、必要な機能はコンポーネントの単位で管理され、自由に組み合わせることが可能になっている。

3) Rubricksのインストール

* Rubricksの推奨環境は開発Webページ(http://dev.rubricks.org/wiki/RubricksSystemRequirementJa)を参照のこと。注意点としては2008年8月の段階で、RoRのバージョン1.x系のみの対応となっている。

* Rubricksのインストール手順についてはWindows向け、およびCentOS向けの手順が公開されている。詳細は開発Webページ(http://dev.rubricks.org/wiki/RubricksInstallationGuideJa)を参照のこと。

4) Radiant CMS

Radiant CMSはシンプルでわかりやすいインタフェースを特徴としたCMSである。

* Rubricks同様、RoR上に構築されており、MITライセンスで公開されている。

* Ruby言語の公式ページ(http://www.ruby-lang.org)で採用されるなど、Webサイト構築用のCMSとして比較的多くの実績をもつ。

* Webサイトのツリー構造を柔軟に構築できる機能や、個々のページを統一的なレイアウトで表示する機能など、一般的なWebサイトを構築するための基本的な機能が提供されている。

* Rubricksと同様に拡張機能を管理する機能を持つ。拡張機能はExtensionという単位で管理され、様々な機能がサードパーティから提供されている。

5) Radiant CMSのインストール

Radiant CMSはRubyGemsパッケージとして提供されており、gemコマンドを利用してインストールすることができる。詳細な手順はWebサイト(http://wiki.radiantcms.org/Installation)を参照のこと。インストールの流れを以下に示す。

* Ruby、およびRubyGemsのインストール

* gemコマンドによるradiantパッケージのインストール

* Radiantプロジェクトの作成

* データベースの接続設定と初期化

* サーバの起動

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。