OpenPNE3.8 の新機能について
05 / 02 水曜日 2012
OpenPNE 開発チームの豊岡です。
2011年10月7日 にOpenPNE3.6.0 がリリースされてから約半年という短いようで長い道のりを経て、OpenPNE3.8.0 がリリースしました。
本エントリでは、OpenPNE3.8 の新機能の紹介をしていきます。
- ユーザ向け新機能・改良点
- 待望のスマートフォン対応!その他にも通知センター機能も加わりました。
- 開発者向けの新機能・改良点
- 新たなインストールコマンドが用意されました。これによって、インターネットに繋がっていない環境でもインストールすることが可能になるなどの改良を施しました。
3.8.0 リリースにあたって、既存機能の正常・異常動作の確認や iOS 5.1(iPhone4) での動作確認を行いました。新機能の UI や不具合などまだまだ改善可能な部分も多いですが、次期バージョン以降、順次対応していきます!
※ 本バージョンはデベロッパー向けですので、ZIP配布は行なっておりません。
ユーザ向け新機能・改良点
スマートフォン対応
スマートフォンから OpenPNE3.8 にアクセスするとスマートフォン用のページが表示されるようになり、操作性も向上しました。PC表示・スマートフォン表示切替にも対応しています。
Twitter社が開発/提供している CSS フレームワーク、Bootstrap2.0 を採用しています。
通知センター機能
JavaScriptで実装されていて、従来のようにページ遷移することなくフレンド申請の応対(承認/拒否)が可能です。
左はPC版の通知センター、右はスマートフォン版通知センターのスクリーンショットです。
開発者向けの新機能・改良点
ミドルウェア化
OpenPNE のパッケージをシンプルにし、本体をミドルウエアとして扱うことになりました。このため、ほとんどのプラグインをパッケージから取り外しました。
OpenPNEのソフトウエアとしての立ち位置を、ミドルウエアとしてはっきりさせたことによって、
今後は本体部分の信頼性を高めていきます。
スマートフォンAPI
スマートフォン向けのスピーディなUIを実現するために、JSONベースのスマートフォンAPIを新規に導入しました。
これにより、AJAXユーザーインターフェースを実現し、新規開発部分の画面遷移をこれまでの半分になりました。本APIはスマートフォン以外のPCやアプリケーションなどからでも利用可能です。
従来のsymfonyベースの開発手法に比べ、スマートフォンAPIはJavaScriptのみで拡張でき、今後のOpenPNEの開発や拡張が容易になるように設計しています。
※ symfony や Doctrine を理解していなくても拡張できます!
以下のドキュメントではまだ作成途中となっているアクションもありますが、スマートフォンAPIの使い方と、結果を参照できるJSONのサンプルを掲載しています。
OpenPNE3 スマートフォンAPI ドキュメント【開発版】
このスマートフォンAPIの価値を引き出すためにjQueryを採用しています。あわせて、クライアント側のレンダリングに jQuery Templates を利用しています。API・jQuery・テンプレートの関係は以下のようになっています。
新しいインストールコマンドの追加
3.8.0 からは、
$ php symfony openpne:install
コマンドで、外部ネットワーク(インターネット)に接続されていない状態でも OpenPNE をインストールできるようになります。その際、バンドルプラグインリストをダウンロードできなかった旨をエラーメッセージとして表示するようになりました。
外部ネットワーク(インターネット)に接続されている状態でのインストールの場合は、
$ php symfony openpne:install --internet
“--internet”オプションを付与して実行します。この場合は、バンドルプラグインも同時にダウンロード・インストールされます。
更に、以上のコマンド実行後に入力するデータベースの情報などの入力値を、予めコマンドの引数としてデータベースの設定値を指定してインストールすることも可能です。
以下は使用例ですので、設定値は適宜変更してください。
$ php symfony openpne:fast-install --dbms=mysql --dbuser=username --dbpassword=password --dbhost=localhost --dbport=10 --dbname=databasename --dbsock=/tmp/mysql.sock
データベース構造の無変更
OpenPNE3.6と3.8は同一のデータベース構造を採用しています。DB構造を変更していないのでバージョンアップを簡単に行う事ができます。