CodeIgniterにJobboardを組み込む2-Another Codeigniter CMS (ci-cms)を軽く動かして拡張箇所を想像してみる

こんにちは!

今日は前回のJobboardエントリーの素材として選んだ、

Another Codeigniter CMS (http://code.google.com/p/ci-cms/)
を標準状態で軽く動かしてみます。軽くという割に延々と長いですが。
この一連エントリーだけ文体がなぜか微妙に丁寧型でいつもと違いますが、気にしないでください。


ちなみにまだソースは見ていない段階です。
軽く動かして、現状の作り・拡張ポイントを想像している段階。



とりあえず動き出した画面はこんな感じ。

寂しいのでひまわりを追加してみました。

プログラマ以外がスグに気軽に使えるCMSとして普及させるためには、このへんの充実度合いも重要だと思うけど、今回は素材としての利用なので全く問題ありません。

モジュール管理機構・ページ管理機構が実装されているメリットの方が大きいです。
公開してくれている作者さんに感謝。


インストール関連

改造・拡張する前提でのエントリーなので、インストール手順は省略します。
CodeIgniterのファイル構成等については以前のエントリー等をご覧ください。

インストール時のポイントは、

  1. application/config/config.php application/config/database.phpを環境に合わせる。
  2. 空のDBを作成する。(DB名 DBのユーザー名、パスワードは上記のファイルで設定済)
  3. http://(設置URL)/install を開いてインストールする。
  4. ドキュメントルート/index.phpのerror_reporting(E_ALL);を、とりあえずerror_reporting(0);にして、初っぱなにNOTICE警告が出て残念な気分にならないようにする。

位です。


まずはディレクトリ構成(applicationフォルダ等の場所)は弄らずに、
ダウンロードしたソースの標準状態のままインストールします。

(ステップ0の様子)


(ステップ2〜ステップ5の様子)


(インストール完了の様子)


インストーラーは現状シンプル。


ファーストインプレッション

結論だけ先に書いておくと、
CMSとして:
DrupalConcrete5等と比べると完成度はまだちょっとですが、これから期待出来るかも。
色々実装されていてやる気を感じます。試す人が増えるといいな。


改造ベースとして:
CodeIgniterで作られている+既にある程度の機能が構築済みなので、
ゼロから何か作るよりは大幅に時間短縮出来そう。


私の中では、

  • CIベースのCMSを改造してCIでモジュールを作っていく。
  • 足りないところはZend Frameworkを使わせてもらう。

というのが構造を追いやすい+ある程度の柔軟性を兼ね備えていて今のところ理想型です。

他のCMSだと拡張する前にその流儀を覚えるところが非常にしんどいし、
使わない機能がふくらみすぎて構成を見通せないのが嫌なので。




今日はここまで。長い&眠いので次回に続きます。
次回はこれをベースに魔改造して使えるモノが出来るかな?という視点で、このCMSの良い点・まだ足りない点を挙げていきます。



画面ダンプのおまけ

おまけの画面ダンプとメモを載せておきます。


フロントよりバックエンドの画面の方が綺麗です。
ベースとして必要な機能がある程度揃っています。


どの画面も似ているので若干自分の居場所に戸惑う所がありますが(今何の管理をしているのか分かりにくい)、一度キメを作ってしまえばそうそう変わらないので、当初は気にしないで新設Jobbordモジュール側に注力します。


(1:ログイン)

シンプル。


(2:ログイン直後のダッシュボード)

最新のお知らせが右側に出ている。
ソースは見てないけど、この感じだと外につないでRSSでも取得しているのかな?違ったらスンマセン。
ココを流用して外部から何らかのインフォメーションを、スタッフ・業務に流せそう。



(3:ログイン直後のダッシュボード+いくつかのモジュール追加時)

画面上部のタブの数が増えて、モジュール毎の初期設定が可能になる。


(4:モジュール一覧)

モジュールのインストール・有効無効・順序の設定が出来る。(モジュール拡張はMatchBoxを使用)



(5:モジュール毎&ユーザ毎の権限設定の一覧)


(6:モジュール毎ユーザー毎の権限設定画面)

ちょっと操作が分かりにくい。権限設定が煩雑。


(7:ユーザー追加画面)

サインアップ画面がフロント側にあるが、これはバックエンド側での追加画面。項目数が少ないので必要ならば要拡張。


(8:ユーザー編集画面)


(9:ユーザー一覧画面)


(10:ページ構成一覧(ナビ))

左ナビと上ナビの並び順等の変更。上位ページの下にサブページも設置できるようだ。(フロントエンド側ナビでの表示については今日の段階では不明)


(11:ページ編集画面その1)

リッチテキストエディタで編集可能。URL指定、親ページの選択、発行する・しないの指定が可能。


(12:ページ編集画面その2)

画像の参照アップ後に画像名リンクをクリックすると、本文に画像が挿入される。
複数画像の順次アップ可(一括アップではない)。
画像の参照アップは画面リロード無し。jqueryajax経由でアップロード。
リッチテキストエディタの操作性が微妙。(眠かったからor慣れていなかったからかも)


(13:ログイン状態でのフロントエンド側ページ)

ログイン状態&編集可能権限のあるユーザーだとそこから編集画面に飛べる。


(14:ページ一覧)

URL・元ページの表示・ページ編集・削除・ページビュー表示等


(15:言語一覧)

多言語対応。日本語は無し。


(16:全般設定)

サイト名・サイト共通メタタグ・キャッシュ使用制御・デバグ用プロファイラの使用制御。
これを見る感じだと、ページ毎にメタタグは設定出来ないみたい。(ページ編集画面にはメタタグ項目が無い。)


(16:テーマ選択)

テーマはデフォルトで2種類だけど微妙。他のテーマを漁って移植するので良しとしましょう。


(17:ニュース一覧)

ニュースモジュールを有効にすると出てくる。ニュースモジュール自体は未調査。



この他にも写真アルバムモジュール等があるみたいですが、ちょっと入れてみただけではよく分からなかったので調査は後回し。


ではでは!