Umbraco CMS でウェブページを作ろう

1. Umbraco は、どういう CMS ですか

Umbraco (アンブラコ)は、デンマークのNiels Hartvig 氏によって開発されたオープンソースの CMS で、HTML5/CSS3、XHTML/CSS2 等の Web 標準に対応し、使いやすいユーザーインターフェースが提供されています。Umbraco のライセンスは MIT Licenseです。MIT Licenseは、制限の緩いライセンスで、商用での利用にも好都合です。

Umbraco は、日本では全く知られていませんが、世界では 250,000 サイトの実績があるオープンソースの CMS です。特徴のある CMS として現在成長中で、Google トレンドのウェブ検索の人気度では、日本では比較的名前が知られている MODx を追い抜き抜き、Concrete5 に対してはまだ引き離しています。

Umbraco は、開発者やデザイナーに人気のある CMS です。ASP.NET MVC と WebForms のハイブリッドで開発することができ、API が充実していて拡張性の高いCMSです。

2. Umbraco のメリットは?

Umbraco の長所を端的にいうと以下のようになりますが、ライター、デザイナー、ディベロッパーが共同作業しやすい CMS です。

  • デザイナーが思ったとおりのデザインができる。
  • 開発者が容易にカスタマイズ可能である。
  • レスポンスがよく、大規模なサイトも構築可能である。
  • ユーザーコミュニティが活発であり、フォーラムの雰囲気もよい。

そういうことで、以下のような人には最適なオープンソースの CMS です。驚くほど簡単に自分のパソコンにインストール(Umbraco の5分間インストールを参考にしてください)できるので、一度 Umbraco を使ってみてください。

☆プログラミングに興味がある人

Umbraco は、プログラムに興味がある人であれば、標準的な技術を使って簡単に機能拡張をすることことができます。これが、外国では Umbraco に人気がある大きな理由です。最新技術である Razor 構文を使ってフロントエンドの機能拡張を簡単に行うことができます。Razor についての詳細は、Umbraco で Razor を使ってプログラミングにメモしてます。本格的な機能拡張をしたい場合には、コンテンツを自由に操作できる強力な Umbrco API を備え、フル機能のASP.NET を利用することができます。Ver4.10 以降はフロントエンドではフル機能の ASP.NET MVC も利用することができ、従来からの .NET User Control、.NET Custom Control、XSLT、Python、Ruby と一緒に使うことができます。Visual Studio や Excel の VBA を使ったことがある人であれば容易に機能の拡張ができると思うのでぜひ試してみてください。

それに加えて Umbraco が優れているのは、コミュニティにすごく元気があることです。コミュニティサイト our.umbraco.org をみていただければ活発さは理解いただけるでしょう。フォーラムでは活発な議論がなされ、また、プロジェクトは300を超えており急速に増加しています。

☆Bootstrap 等の CSS フレームワークを使ってウェブページを作成している人

スマートフォンの普及により最近は Bootstrap を使って Web サイトを構築することが多くなりました。Umbraco は、HTMLで作成したウェブページを容易にCMS化することができます。以前は、WordPress のように豊富なテーマがないというのが欠点でしたが、Bootstrap を使えば特にテーマの必要はなくなったと思います。

☆自分の思い通りのデザインのウェブページをつくりたい人

UNIVERSAL MUSIC JAPAN のページをみていただければ、Umbraco は、デザインの綺麗で素晴らしいサイトを比較的簡単に作れるポテンシャルを持っているということは理解していただけるでしょう。Umbraco は、自由自在にウェブサイトをデザインすることができます。Umbraco 7.2 では、Grid Layout エディターという強力な機能が導入されています。これを使えば、編集画面だけでいろいろなタイプのコンテンツを使うことが可能になっています。

Grid Layout

☆本格的なウェブページを作りたい人

Microsoft の ASP.net のページWired.co.uk のページが Umbraco で作成されています。大規模なサイトの作成にも十分耐えられる CMS です。キャッシュがうまく機能しており、軽快に動作します。

☆WordPress を使っていてブログでないウェブページを作りたい人

WordPress でも、ブログでないホームページを作ることはできます。しかし、ブログでないホームページであれば、Umbraco の方がはるかに自然に作ることができます。

3. Umbraco vs WordPress

日本では全く普及していない Umbraco を、最も普及している WordPress と比較するのは気がひけるのですが、日本で Umbraco をどう活用できるのか、そのためにどういう点が不足しているのかを理解するために比較表を作成してみました。

個人的な結論をいうと、WordPress は、ブログや簡単なWebページを簡単に作るためのツールです。一方、Umbraco は、自分の思いどおりの Web ページを作成するのを強力に手助けしてくれるソフトウェアです。テンプレートやプラグインを選択する楽しみがあるのが WordPress で、自分で拡張できるのが楽しみがあるのが Umbraco です。

項目UmbracoWordPress
ライセンス MIT License でライセンスの制限は非常に緩い。コピーレフトでないので、自分で改変した部分を OSS 以外のライセンスで配布することもでき、商用での利用には好都合。 GNU General Public License(GPL)v2。再配布する場合にも、GPLにする必要がある。
稼働環境  対応サーバー:Windows サーバー
動作環境:ASP.NET
データベース:SQL Server、MySQL、SQL CE 4.0
対応サーバー:Windows サーバー、Linux サーバー
動作環境:PHP
データベース:MySQL(SQL Server にも対応)
ページの管理 各ページがエクスプローラと同じツリー型で管理される。ページの移動やコピーが容易でページの構成の自由度が高い。 投稿の順に管理している。インストールすれば、すぐにブログが始められる。
テンプレート Dreamweaver等のWebオーサリングツールで作成した HTMLテンプレートを簡単に修正して利用できる等自由にテンプレートを作成できる。 多数のテンプレートが公開されている。テンプレートの交換は簡単。
ページ作成機能 拡張性が高く自由にサイトを作成することができる。大規模なサイトの構築も可能である。 通常のウェブページは容易に作成できる。
ブログ機能 ブログ機能あまり使い勝手がよくなかったが、7.2 で List View の機能が導入されたので時系列的なものに対しても規模が大きくなければ対応しやすくなっている。 ブログなら WordPress といわれるぐらい使い勝手のいいシステムである。
拡張性 コンテンツを操作することができる強力な Umbraco API を備えており、フロントエンドの開発には ASP.NET MVC のフル機能を使って機能拡張ができるので非常に強力である。小規模なカスタマイズについては、Razor を使って手軽に拡張が可能である。また、バックオフィスについても、User Control、Custom Control を使って拡張が可能である。 圧倒的に多くのプラグインが公開されており、そのインストールもとても簡単。プラグインの作成自体も比較的簡単で PHP についての初歩の知識があれば可能。
情報 英語では、ドキュメントが整備され、コミュニティフォーラムでは非常に活発な議論がされているので必要な情報の入手は可能。日本語の情報は皆無。 現時点では日本において一番ユーザーが多いCMSであり、日本語の情報も豊富。
対象者 html、css 等の Web に関する標準的な技術についての初歩的な知識(現時点ではプラス英語力)が必要。WordPress等の既存のCMSを使っているがブログ以外のウェブページを作りたいと思っている人、既存の静的サイトを CMS 化したいという人、Visual Studio の経験者には最適。 ブログを始めたい人には最適。操作性は優れており、テンプレートやプラグインを選択する楽しみがある。
4. Umbraco のインストール
5.サイトの作成
6.プログラムの例

Umbraco 4 MVC でのプログラムについては、WikiUmbraco MVC についてを見てください。

Umbraco 4 WebForms のマクロは、.NET User Control、.NET Custum Control、XSLT、Python、RubyそしてRazorで作ることができます。

MVC でない Razor を使った例を、Umbraco で Razor を使ってプログラミングにメモしてます。

以下には、UserControl を使った例をメモしています。

  1. Umbraco に Bing API を使った UserControl をインストール その1
  2. Umbraco に Bing API を使った UserControl をインストール その2
  3. Umbraco に Bing API を使った UserControl をインストール その3

Umbraco の特徴は、Umbraco API を利用して、Umbraco のコンテンツを手軽に操作することができることです。our.umbraco の Wiki の Reference に詳しく説明があります。英語ですが、例もあってかなり読みやすくなっています。Umbraco API を使用すれば、UserControl を使用して、コンテンツを操作することができます。