第1回concrete5京都勉強会でconcrete5を使うメリットや特徴を聞いてきました

CMSといえばWordPressがよく使われていますが、concrete5というCMSを最近よく見かけるようになりました。Web上の簡単な操作でホームページが作成できるというので気になっていたんです。
まだ、ちゃんと触れていないのですが、勉強会の内容をまとめてみました。

sponsored link

ページ機能の特徴

concrete5はおもに「ページ」と「ブロック」という機能で構成されています。WordPressのようなテンプレートという概念がなく、基本的には1ページずつ作成することになります。

そのかわりに、1ページずつテーマを変更することができるので、ページごとにカラム数を変更したりと柔軟にレイアウトの変更ができるのが大きな特徴です。

ブロック機能の特徴

concrete5はエントリー(投稿)をHTMLなどに疎いひとでも簡単に更新できるのが特徴です。それを助けてくれるのがブロックという機能です。WordPressでいうとカスタムフィールドに近い機能です。

項目はあらかじめ用意されているので、タイトルや文章などを入力していくだけでテキストや画像を追加することができます。(バージョン5.7以前でブロック内でカラム数を変更するとレスポンシブ対応ができないので注意)

ページタイプ

ページタイプのデフォルトブロック機能を使うとページを新規作成する時のベースを設定することができます。

スタック機能を使うと、よく使うブロックをまとめて管理することができます。

教育機関でよく使われる理由

事例紹介でいくつか紹介されましたが、大学や学習塾などの教育機関で採用(移行)されることが多いそうです。

理由としてはおもに2つ。

  1. ページを表示する時間帯(期間)を指定できる
  2. 権限機能を使って管理者が承認してから公開することができる

試験や模試など、受付できる期間が決まっているものは、あらかじめブロックを用意しておいて自動で表示・非表示するという使われ方が重宝されているようです。

他にも、台風などで休校になる可能性がある時にはブロックを用意して、状況に応じて期間指定で公開することがあるそうです。
concrete5は通常PHPでページを生成していますが、アクセスが集中するとサーバーに負荷が大きくかかってしまうため、静的なHTMLを生成・表示させる機能を使うことで負荷を減らすということもできるようです。

権限機能が標準で使用できるのも大きな特徴のひとつです。複数人でコンテンツを作成する場合に管理者が最終チェックをしてから公開することができます。


事例として京都駅前の地下街ポルタもあげられていました。
元々はWordPressで制作されていました。店舗数が多いので管理者だけでは追いつかないということで更新のしやすいconcrete5に移行、店舗のセール情報などの更新は各店舗に任せることにしたそうです。

結果としては更新頻度が上がり、PVが3倍になったそうです。(ここでも権限機能を使って更新できる範囲を制限しているそうです)

公式サイトの事例検索 でインテグレートパートナーの事例が、ショーケースでコミュニティーのフォーラムに投稿された事例を探すことができます。

ブログは不得意な理由

テンプレートという概念がないので、ページごとにブロックを置いていくのが基本になります。そのため更新頻度が高く記事数が多くなるブログには不向きです。

他にも、カテゴリがなくタグしかないこと。サイドバーなどにアーカイブを設置しても月ごとの記事数は表示できないことなどがあります。 WordPressはブログ機能が強くて固定ページに柔軟性がない。concrete5はその逆のことが言えるとのこと。

元々concrete5はアメリカの制作会社が制作をしやすくするために作ったCMSなのでブログではなくホームページ向けに設計されている。そのかわり、かゆいところに手が届く機能があるんだそうです。


concrete5かWordPressかという考え方ではなく、用途に応じて使い分けるのがいいのかもしれませんね。
ちなみに業種ごとにテンプレートを作っておいて、テキストと画像を流し込んで制作する格安プランを提供しているWebデザイナーの方もいらっしゃるそうです。(ブログがないシンプルなサイトなら1日でできることもあるとか)

カスタマイズをする方法

カスタマイズにはおもに2つの方法が用意されています。

  • マーケットプレイスからアドオンやテーマをインストールする
  • concreteファイルを上書き(オーバーライド)する

Marketplace

マーケットプレイスという公式ページからアドオン(WordPressでいうプラグイン)とテーマをインストールすることができます。パッと見たところ有料のものが多いように感じました。

今回の勉強会で紹介されていたアドオンには上記のようなものがありました(メモできなかったアドオンもあります)。アドオンは基本的にはチェックを入れるだけだったり、HTMLとCSSが分かっていればカスタマイズできるようです。

テーマやブロックなどを直接カスタマイズするにはルートディレクトリにあるconcreteフォルダを使用します。concreteフォルダの中にblocksフォルダ(ブロック)やthemes(テーマ)といったフォルダがあるので変更したいフォルダをコピーしてconcreteフォルダと同じ階層(オーバーライドディレクトリ)にペースト・中身を変更することで上書き(オーバーライド)することができます。WordPressでいう子テーマと同じ感覚ですかね。

concrete5


ブロックの開発もできます。(よく分かってないのでさらっと…)

  • db.xmlでデータベースの定義する
  • 既存のテーブルを使わずに追加する
  • データーベース定義の更新はブロックタイプ一覧からブロックごとのできる

セキュリティ

concrete5はセキュリティの対策はパスワードの強化くらいしかできることはないそうです。アドオンでDropboxなども利用している2段階認証ができるものもあるが有料。公開鍵でパスワードを生成できるアドオンもあるがサーバーにルート権限が必要なのでレンタルサーバーでは難しいとのこと。

ただ、管理画面にログインされてもPHPを書いたりすることができないので、ハッキングするメリットがほとんどない作りになっているそうです。
悪意のあるファイルをインストールしたくても、zipファイルはFTPを経由しないと使えないし、FTPを使わない場合もマーケットプレイスからしかアドオンやテーマなどをインストールできない(もちろん審査されますとのこと)。
標準機能でIPアドレスごとにログインの許可を設定することができるけど、IPは散らしてくるのであまり効果的ではないそうです。

データベースのバックアップはconcrete5側でもできる。ただ、PHPの場合は実行制限の30秒に引っ掛かると復元ができなくなるので、サーバー側でバックアップを推奨しているそうです。
なおバックアップは上書きしているフォルダとfilesフォルダをサーバーのデータが飛んだ時用にバックアップしていくといいかもとのこと。

多言語化対応

Internationalizationというアドオンを使うと多言語化サイトを作ることができるそうです。

日本語のページを他言語に一括でコピーすることもできるので、まずは日本語ページを作成してから英語ページなどを作成すればいいようです。言語ごとに翻訳する親ページを選択できるので、表示させる内容もある程度変更できるとのこと。

最新バージョンの5.7について

安定版のバージョン5.6.3.1からメジャーアップデートで5.7がリリースされています。

  • 5.6系も最低1年間はバグやセキュリティのアップデートがあります
  • 5.7系はまだまだバグが残っていたり、対応しているアドオンがほとんどありません

5.7系はまだベータ版なので実案件では5.6系を使う方がいいということです(2014.10現在)。5.7.0のように0が付いているバージョンはベータ版のようです。

5.7の特徴としては

  • モダンPHPを採用
  • ページ変移なしにブロックの配置やメニューにアクセスできる
  • Bootstrap3ベースのレイアウト(ブロック内でカラム数を変更してもレスポンシブに対応)

concrete5 5.7がリリースされました :: concrete5 Japan 日本語公式サイト

詳しくはリンク先を確認してください。
デザインやインターフェイスもそうですが、PSR-2・Symfony2コンポーネント・LESS・Composer・Airbnb JavaScriptなど中身が大幅に変わっているそうです。コンクリートファイブジャパンの代表取締役である菱川さんはプログラマーとしては5.7でぜひ書きたいとおっしゃていました(笑)

5.6から5.7への移行は先に形を作ってからデータを移行することになるようです。準備中とのこと。一部廃止になっているブロックもあるので気をつけてください。


今回は参加者の自己紹介とそれぞれの質問や疑問を説明してくれました。WordPressとの違いや事例などを聞くことができて、おもしろそうだし使ってみたいなと思いました。全国各地で勉強会が開催されているので、興味が湧いた方は公式サイトやFacebookページをチェックしてみてください。