※このページは現在更新をおこなっていません。 OpenPNE 3 については http://www.openpne.jp/http://readmine.openpne.jp/ などをご覧ください。

OpenPNE3 はこうなる!

このページでは、 OpenPNE3 で実現されることのうち代表的なものを紹介していきます。

目次

  1. フレームワークに symfony を採用
  2. 国際化対応
  3. OpenPNE本体と各種機能の分業を実現

フレームワークに symfony を採用

http://www.symfony-project.org/downloads/logos/symfony.gif

OpenPNE3 では、 OpenPNE2 のように独自フレームワークではなく、PHPのフレームワークのなかでメジャーな存在である symfony を採用します。

DB抽象化

O/R マッパーの Propel が標準装備されており、様々な RDBMS への対応が容易になります。

標準で用意された豊富な機能

symfony 本体が国際化を考慮した実装になっており、重要な課題のひとつである国際化対応の促進に繋がります。 また、プラグインによる柔軟な拡張やテンプレートの部品化など、必要不可欠な仕組みを備えており、 OpenPNE3 でおこなわれる「SNS本体と各種機能の分離」の大きな手助けとなります。

オブジェクト指向

symfony は PHP5 に備わっているオブジェクト指向モデルを積極的に活用しています。

これにより OpenPNE もオブジェクト指向で記述されることになり、コードの保守性、拡張性が大幅に向上することになります。

豊富なドキュメント

symfony は数多くの機能・設定項目、拡張のための機構を用意する反面、フレームワーク本体が複雑であり学習コストが高いという側面を持っています。

しかしながら symfony に用意された豊富なドキュメントがその欠点を克服してくれます。 OpenPNE2 の開発においては有用なドキュメントがなく、機能拡張やバグ修正にはかなりの労力を強いられましたが、 OpenPNE3 ではほとんどの場合において symfony 向けのドキュメントが役立ちます。

OpenPNE の上で動作するアプリケーションの開発や機能拡張などにおいては、学習コストの高さはドキュメント類によってまったく気にならなくなります。また高度に抽象化されたコードにより、フレームワークが複雑であることを気にする必要はありません。

国際化対応

http://sc.pne.jp/200802140342.png

これまでも各国語に翻訳された OpenPNE が登場しましたが、 OpenPNE3 ではネイティブで国際化への対応をおこないます。

あらゆる表示要素が国際化

項目名やOpenPNE側で用意する説明文など、メンバー入力部分(日記本文など)を除くすべての表示要素が国際化に対応します。

ナビメニューボタンのように画像のなかに文字が埋め込まれてしまっていたものや、プロフィールなどのように項目名や説明文がDBに登録されるものに関しても国際化の対象となります。

通貨や日付の表記についても、それぞれの地域の文化に沿った形式で表示されるようになります。

利用可能な言語を選択可能

管理者は自分のSNSで利用できる言語を選択することができます。今までの OpenPNE のように日本語のみを使い続けることも可能です。

また、メンバーは自分にあった言語を自由に選択し、SNSを利用することができるようになります。

対応予定言語

現在、翻訳の協力の申し出がある以下の言語に対応予定です。

  • 日本語
  • 英語
  • 中国語
  • モンゴル語

協力者が現れ次第、その他の言語にも対応していきます。

OpenPNE本体と各種機能の分業を実現

http://sc.pne.jp/200808041504.png

OpenPNE3 は、認証やメンバー管理などを司る本体部分と、日記やアルバムなどの各種機能が分離されます。開発にあたっては、これらをそれぞれ「Social Graph Layer」「Social Application Layer」と呼び、明確に区別しています。

この分業により生まれるメリットとして、以下にあげるようなことがあります。

  • 「SNS利用者」:多くのアプリケーションのなかから自分にあったサービスを選択し、利用できるようになる
  • 「SNSオーナー」:外部アプリケーションを受け入れることで、リスクを負うことなく多様なサービスをSNS利用者に提供できるようになる
  • 「アプリケーション開発者」:自由にアプリケーションを作り、多くの「SNSオーナー」や「SNS利用者」に対してサービスを提供することができるようになる

プラグインによる拡張性の向上

symfony に備わったプラグインの機構を、 OpenPNE と親和性が高くなるように拡張していきます。

これにより、テンプレートやアクションをプラグインから柔軟に拡張できるようになります。OpenPNE2 のように、本体のコードを上書きしたり、直接書き換える必要はもうありません。

プラグインの追加や取り外しも管理画面から簡単におこなえるようになります。

日記などの基本機能もすべてプラグインとして同梱されるので、自分の SNS に必要のない機能は取り外して運営することができるようになります。

OpenSocial 対応

http://code.google.com/apis/opensocial/images/opensocial.jpg

OpenPNE3 は、 Google が 2007年11月に発表した OpenSocial に対応します。

OpenSocial には MySpace?、 Orkut、 Friendster などが対応しているため、これらの SNS 向けに作られた OpenSocial アプリケーションが OpenPNEでも利用できるようになります。

外部連携の充実

外部アプリケーションとの連携

OpenPNE2に引き続き OpenID のプロバイダになることができるようになります。

http://openid.net/wp-content/themes/new_openid/images/openidnet_logo.gif

WordPress? などの OpenID 対応サービスに対し、 OpenPNE が発行する OpenID を使ってログインすることができます。 OpenPNE2.12 で実装された OpenID のプロバイダ対応は不完全であり、一部利用できないサービスが存在しましたが、 OpenPNE3 ではあらゆるサービスに対応できるよう実装を強化していきます。

さらに、 OpenPNE3 では OpenID のコンシューマになることができます。

Yahoo!、 mixi などが発行する OpenID を使い、面倒なアカウント登録作業をおこなわずに OpenPNE を利用することができるようになります。

認証機能の強化

OpenPNE2 で活用されていた SlavePNE などの認証機能が強化されます。

OpenPNE3 は認証機能をプラグインによって実現します。プラグインを追加していくことで、様々な認証方法を OpenPNE で利用できるようになります。以下はその一例です。

  • メールアドレスによる認証
  • 携帯電話個体識別番号による認証
  • OpenIDによる認証
  • LDAPによる認証

認証がプラグインによって実現されることで、認証方法の切り替えが容易になります。面倒な設定をすることなく、管理画面から認証方法を選択できるようになります。

さらに、管理者が許可した認証方法のなかから、好きなものをメンバーが選択してログインをおこなうことができるようになり、管理者や参加者の負担を軽減します。