「Concrete5ってなに?」に参加してきました
2013年06月21日

なつきさん(@Stocker_jp)の運営するStocker.jp / Space で行われた concrete5についての勉強会に行ってきました。講師はconcrete5 日本語版チームメンバーの菱川さん(@HissyNC)です。なつきさん、菱川さん、ありがとうございました。
「concrete5ってなに?」というセミナーを開きます | Stocker.jp / diary
concrete5とは、オープンソースのCMSで、WordPressのようなブログ型ではないタイプのCMSです。
正直、何で今までConcrete5を使わなかったのか!と公開したクラスの凄さでしたよ、concrete5。これは2011年のwordCampに行った時に「WordPressってブログだけじゃないのか!」と衝撃を受けたときと同じくらいですね。オープンソースCMSすげーよー。
以下、メモです。
concrete5について
- サイトの管理はマウス操作で出来る
- サイトの変種したいページで「編集モード」に入って編集できる(これマジすげーって!)
- 歴史は長いんだけど、開発スピードはやい
- コミュニティが面白い(マーケットプレイスがあって、テーマ・拡張機能の販売が出来る)
デザイナーへのオススメポイント
- テーマ作成が簡単
- カスタマイズの学習コストが低い
- カスタマイズの自由度が高い
- カスタマイズが容易なオーバーライドシステム
制作会社へのお進めポイント
- 早く形になる(あとあとブロックを追加したりすれば良い)
- 手離れが良い(運用で色々できる)
- 後からの変更に強い設計
- ウィザードインストール、1クリックアップデート
ライセンス
- MITライセンス(最も制限の少ないライセンスのひとつ)
- マーケットプレイスから入手できるテーマやアドオンは異なるライセンス
コンテンツの編集方針
ログインした状態で編集したいページに訪れ、ツールバーで「編集モード」に入ることで編集が可能になる。
各コンテンツは「ブロック」と呼ばれ、ブロック毎に移動したりすることも出来る。自由度が高そうです。各ページにどんなブロックを奥かを個別に設定できるのかな?
- 編集すると履歴が残る
- 個別の変更毎に承認が可能(これ超大事よね!)
- 各ページのブロック毎に「下書き・公開」とうのステータスを設定できる
- 「今表示されているページを公開する」みたいなことができる
- デザインの分類を複数持てる(ページ単位でレイアウトを持てる)
- ページ単位でテーマを選択する事も可能
- ブロックがやれることは多い。例えばグローバルナビにどういう項目をどれだけ表示するか、とか
- レイアウトの追加もできる
サイトを構築するために必要な機能がすでにそろっている!!
というかね、すげー柔軟なんです。まじ柔軟なんですよ。もっかい言います、柔軟々です。
アドオン(拡張機能)
マーケットプレイスからアドオンを探してインストールすることで簡単に機能の追加がブロックとして使う事ができる。
権限について
- 各ページに編集権限・表示権限を設定できる
- 編集専用のユーザーを作る事も可能(ユーザーグループの作成)
- 表示権限を「登録ユーザー」に限定すれば会員サイトを作ることも出来る
- 権限は「上級権限モード」もあり、公開スケジュールの設定等ができるようになる
concrete5はどういう作りになっているか
「ページ」という概念が存在する
いわゆる普通のページ。固有のURLがある。 その中にブロック(コンテンツ)を並べていくイメージ。 ここがブログ型のCMSと違うところで、ブログタイプのCMSは「記事」が中心で、記事に対してページを生成するイメージ。
ページの構成要素
page > pagetype > area > block こんな感じ ページタイプとは
- 他のCMSのテーマに近い
- その中にエリアがあり、それが「メインコンテンツ」とか「サブメニュー」とかだったりする
- 各エリアにブロックを配置してページを作っていく
テーマの作り方
- テーマで規定するのは「エリア」
- 「ヘッダーエリア」とか「コンテンツエリア」とか「フッターエリア」とかを設定する
<?php $a = new globalArea ( 'main' ); $a->display©; ?>
こうやって並べていくことでテーマが作れる
- テーマを変えても中身のコンテンツには影響しない!!
- つまり、テーマだけを作っても中身は何もないのと一緒です
- 「テーマはコンテンツを規定するものではない」
- 「テーマは始まりにすぎない」
- 機能とテーマを分離できるので再利用性が高い
- バージョンアップのサイにテーマ由来で動かなくなるという事もない
スタイルシートの合わせ方
- ブロック毎にテンプレートを持つ(カスタムテンプレート)
- つまり、カスタムテンプレートを複数作れば良い(のか?)
テンプレートタグ?
- テンプレートタグはない
- ブロックテンプレートをカスタマイズするには多少のPHP知識が必要
- ブロックで見るべき事はブロック内で完結している
あらゆるブロックはテンプレートを持つ
- ブログ型CMSはテンプレートタグで出来る
- 追加機能(プラグイン)のデザインカスタマイズは厳しい
- あらゆるブロックはテンプレートを持っていて、カスタムテンプレートを作成できる。
どんなサイトに向いているのか
- マーケティングを重視したサイト(トップのコンテンツを頻繁に入れ替える、とか)
- 公開認証フローが必須なサイ医と
- 権限機能が豊富なので、会員サイトにも向いている
-
カスタマイズの容易さを活かして勤怠管理システムなどを作る事も可能
-
ページ単位でのデザインにこだわりたい場合は向いてます
- 個人的にHissyさんが「(ウェブ)ページ管理システム」=PMSと読んでいる
会員サイトを作る場合
- メッセージ等の機能は標準装備
- 時期バージョンからはFacebookログインなどの会員機能を強化予定
コンテンツの移行
- WordPressからの移行であればインポートスクリプトがある
マーケットシェアは?
0.2% (WPは58%、MTは0.3%)
思ったこと
この勉強会に参加して、帰ってそのまま色々試してまずは一サイト作ってみようと思ったんだけど、やっぱり0から全てが出来るとまではいかなかったですね。でも、手応えは感じたしポテンシャルは凄いなぁと感じました。
とにかく各ページの自由度が高いんですよ。同じレベルのページなのに全く違うレイアウト、全く違うコンテンツ表示が凄く簡単にできる。
何となく、CMSって「詳細ページには画像を1点アップロードして、概要、本文を入力する」みたいな入力画面がある物を想像するじゃないですか。違うんですよ。好きなものを好きな場所に置けるんですよ。しかもそのページ(何か追加とかしたいページ)を見ながら。
以前はてなダイアリーでもそういう機能があった気がするんですけど、それより凄いと思います。
というわけで、しばらくconcrete5でサイトを作ってみようかと思います。自分でそれなりに作る事が出切れば、お客さんに提案するサイトか、デモを見せればかなり刺さるんじゃないかなぁ。「ほら!こんなに簡単にページの追加ができちゃいます!」みたいな。
他にこんな事も書いてます
- JavaScript祭スピンオフ! フロントエンド祭り in Co-Edo でオブジェクトベースのJSについて話してきた
- 第5回 HTML5minutes! で話してきた
- Creators Meet Up でJadeについて話をしてきた
- 秋のJavaScript祭りで話をしてきた
- 春のJavaScript祭りでAngularJSについてお話ししてきました
- Creators MeetUpでCSSアニメーションについて登壇しました
- ゆるふわ勉強会第6回 「WordPress で企業サイトを作る Vol2 【構築編】作ったサイトを オリジナルテーマ化する」を開催しました
- ゆるふわ勉強会第5回 「WordPress で企業サイトを作る Vol1 【初期編】WordPressを知ろう!」を開催しました
- ゆるふわ勉強会第3回やってきたよ
- ゆるふわ勉強会第2回やってきたよ
FBでコメント