Plone Conference 2010参加レポート

Plone Conference 2010 Day 2

この記事を読むのに必要な時間:およそ 9 分

The world outside Plone

このセッションでは,Plone以外のテクノロジー(ここではJoomla!Djangoについて学び,Ploneに生かしていくという視点での講演となりました。筆者も他のCMSでは当たり前だけどPloneではできなかったり,逆のことも色々あると思っているのですが,他をきちんと調査したことはないため,非常に興味深いセッションとなりました。

Mikko Ohtamaa氏

Mikko Ohtamaa氏

Joomla!

最初はJoomla!日本語サイトというCMSについてです。Joomla!はPHPとMySQLいわゆるLAMPで動作するCMSの一つです。世界でもっとも人気のあるCMSだそうです。

Joomla!は以下の機能を有しています。

  • 管理画面
  • Articleというコンテントタイプ
  • WYSIWYGのエディタ
  • ブラウザで編集可能なテンプレートとCSS編集機能
  • ユーザー管理
  • 二つの状態を持ったワークフロー
  • メニューの編集機能
  • プラグイン管理機能

逆にPloneにある以下のような機能はありません。

  • フォルダがない
  • アクセス権限の処理がない
  • 共有とロールの概念がない

実際にJoomla!を操作して,デモが行われました。フォルダがないのにどのようにコンテンツの配置を管理するのか不思議に思っていたのですが,Articleを作成してメニューに割り当てていくという感じで管理するようです。Ploneではフォルダ構成がそのままメニューになるので,少し面倒だなと思いました。

また,ワークフローの状態が2つだけだったり,アクセス権限やロールの概念がないということで,Ploneに比べるとシンプルな使い方を想定しているシステムである印象を受けました。

デモの後,Joomla!には「Component provides」というビジネスモデルが紹介されました。Ploneで言うところのプロダクト(Joomla!ではエクステンション)を作成することを指している言葉のようです。

JomSocialというサイトでは,自社が作成したエクステンションをサポートレベルによって$99/$149/$499で販売しており,すでに37,000人以上が使用しているそうです。このようにJoomla!ではエクステンションの販売で仕事をするというエコシステムができあがっているそうです。

Joomla!用の有料プロダクトの例

Joomla!用の有料プロダクトの例

Django

次にDjangoが説明されました。Djangoは,Pythonを使ってWebアプリケーションを作成するためのフレームワークです。Pythonの開発は楽しい,同じようにDjangoの開発も楽しい,でもPloneの開発は楽しくないそうです。初級Python開発者にPloneの開発をやらせたら,その人が爆発してしまうというようなことを語っていました。

Djangoには以下の機能があります。

  • O/Rマッパー
  • テンプレートエンジン
  • URLマッパー
  • フォーム
  • 自動生成される管理画面
  • ユーザー管理
  • 拡張機能のアプリケーション

逆にPloneにある以下のような機能はありません。

  • 管理画面以外のデフォルトの表示用テンプレートがない
  • ビューレットがない
  • フォルダの探索機能がない,階層構造がない
  • ユーザ登録機能がない

Djangoのデモも行われました。テンプレートがPloneのPage Templateとは違いXMLベースではないこと,再起動しなくてもどんどん変更が反映されることが説明されました。

また,Django documentationReference Manualのように,ドキュメントが非常に充実していることが開発者の助けになっていると紹介されました。確かにDjangoのドキュメントの充実ぶりはうらやましいです。Django用の拡張機能は,Django Packagesというサイトで共有されているようです。

まとめとして「PloneはWebサイト用,DjangoはWebアプリケーション用」という使い分けをすることが示されました。

Plone開発者マニュアル

最後にこれらの(特にDjango)の教訓を踏まえて,Ploneの開発者マニュアルを作成していることが紹介されました。それがPlone Developer Manualです。Ploneでの開発に関する情報がかなり大量に入っているドキュメントです。

現在,著者は個人的にこの文書の翻訳を進めており,Plone 開発者マニュアルとして公開しています(最近あまり進捗がありませんが)⁠この文書に興味のある方は,ぜひ翻訳にご協力いただければと思います。

著者プロフィール

鈴木たかのり(すずきたかのり)

BeProud 所属。

部内のサイトを作るためにZope/Ploneと出会い,その後必要にかられてPythonを使い始める。最近miniじゃなくなりつつあるPython mini Hack-a-thonの主催者の一人でもある。

趣味は吹奏楽とレゴとペンシルパズル。2012年の目標は9月にオープンするマレーシアのレゴランドに行くこと。写真はうちのフェレットくろちゃんとくりちゃんです。

Twitter: @takanory
ブログ: http://takanory.net/takalog/