-オープンソースのSNSエンジン OpenPNEプロジェクト-

開発情報

Home > 開発情報

OpenPNE3は拡張しやすくなる

02 / 06 水曜日 2008

OpenPNE3はカスタマイズ性・拡張性の向上を目指しています。Ver2までのOpenPNEはカスタマイズの事を全く考えていませんでした。カスタマイズや拡張の柔軟性よりも、一つのSNSエンジンとしての完成度を高めることを優先していました。

オブジェクト指向も無視、HTMLの構造を考えることも無し、カスタマイズ・拡張用のドキュメントも不足しています。元々の開発元である手嶋屋自体もカスタマイズ性が低いおかげで、個別の業務案件をこなすのに多大な苦労をしていました。

ただ、ベタベタなコーディングをしたおかげか、50,000行クラスのプログラムがPHP4でもPHP5でもほとんど無改造で動いたというのは、良かったかなと思っています。

去年の末でPHP4のサポートが切れたおかげで、これからは本格的にPHP5の時代がやってきます。OpenPNE3はPHP5でしか動きません。OpenPNE3で採用をするsymfonyフレームワークと、ライブラリのZendFrameworkは、PHP5限定だからです。

PHP5限定にすることで、動作できる環境は減りますが、OpenPNE3がリリースされる頃にはレンタルサーバの対応も完了すると見ているので、実質的な影響は少ないと見ています。(※さくらインターネットの共有レンタルは6月ごろPHP5に移行するそうです。)

フレームワークの採用でカスタマイズ性は格段に上がります。まずカスタマイズをしやすくするために、一番重要なのはドキュメントだと思います。symfonyフレームワークを土台にすることで、カスタマイズに必要なベースのドキュメントはすべてsymfonyの物を利用できます。また、フレームワークにはそれぞれ開発の作法があるので、その作法に従ってコーディングしていけば、個別機能を作るのも容易になります。
ORマッピングはpropelに頼りますので、SQLは書かなくて良くなります。

フレームワークだけでカスタマイズしやすくなるわけでは無いですが、OpenPNE3はカスタマイズ・拡張性の向上は一つのテーマとしています。

amazon小窓の仕様を変更しました

02 / 02 土曜日 2008

amazon小窓の仕様を変更しました。

これまで配布していた仕様では、貼り付けられたURLにどのようなアソシエイトIDが入っていようと、snsoft-22に置き換える仕様になっていました。

今回の仕様変更により、アソシエイトIDが含まれている場合はそのままリンクを表示し、含まれていない場合のみ、snsoft-22を追加する仕様にしました。

修正したamazon小窓のソースコードは、最新の開発版(trunk)にアップしてあります。
http://trac.openpne.jp/browser/OpenPNE/trunk/public_html/cmd/

他にも、amazon小窓には、縦幅を小さくして欲しい、SNSオーナーのアソシエイトIDを登録したい等の要望が寄せられています。

要望は応えられるところから、順次改善を進めていこうと思います。

OpenPNE3のフレームワークをsymfonyに決めました。

02 / 01 金曜日 2008

手嶋です。

http://trac.openpne.jp/wiki/pne-openpne3

このWikiでフレームワークの比較をしていたのですが、諸々の調査の結果&開発者の好みに基づいて、手嶋屋開発チームとしてはsymfonyを選択しました。

評価の基準としては、「すべて揃っている感」が一番決め手になりました。

正直私個人としては、今回サンプルを書いたり、分析したりしているわけでは無いので、これだ!と言う思いは有りません。実際にコーディングをしてもらう開発者の意見を一番尊重しました。

そう言う基準では、小川さんがさわってみて「symfony行けるんじゃない?」や、海老原君の「CakePHPはやってみたけどどうもなぁ、、」と言う意見が響いています。

フレームワーク選定に当たっては、symfonyでの運用実績があるDinoさんから多くのアドバイスを頂きました。ありがとうございます。

symfonyは今回選定したフレームワークの中でもかなり大型になります。

・共用レンタルサーバのような不自由な環境で簡単に動かせるか?
・少メモリ環境でどの程度快適に動くか?

など制約の有る環境でどう動くか?と言う不安は現在でも残っています。
このあたりの課題は、実際にOpenPNEを書いてみないと正直なところ何とも言えません。

OpenPNE3.0がリリースされるまでは、フレームワークを他の物に乗り換える可能性は残ります。
別フレームワークのほうが!と言うご意見が有れば、是非対案を頂きたいです。

ひとまずコア開発チーム(手嶋屋スタッフ)はsymfonyをベースにしてOpenPNE3の設計やコーディング作業を進める事にしました。
コア開発チームとしては、コーディング最中に袋小路に入ったり、途中でとても良いフレームワークに出会わない限り、symfonyで進めていきたいです。

OpenPNE3の開発中、「こんな仕様の方が都合がいい」「こんなプラグイン作ったよ」等のツッコミは
歓迎です。

なにはともあれ、めでたくOpenPNE3の開発がスタート出来ることになりました。

一番難儀していたフレームワークの選定が一段落しましたので、これからOpenPNE3に向けてのロードマップを決めていきたいと思います。

ページの先頭に戻る