最新ブログ
安定版 OpenPNE 3.4.17 リリースのお知らせ
11 / 10 木曜日 2011
OpenPNE 開発チームの坂田です。
本日、安定版 OpenPNE 3.4.17 をリリースしました。
今回も前回に続き予定通りのリリースとなりました。
今回の修正には opAuthMobileUIDPlugin , opCommunityTopicPlugin の更新が含まれています。
opCommunityTopicPlugin の更新についての詳細は下記リンクを御覧ください。
opCommunityTopicPluginリリースの詳細
不具合、何か気づいた点などあれば公式 SNS や redmine.openpne.jp などで報告していただければと思います。
次回のリリースは 2011年12月08日(木) を予定しています。
リリース情報などの情報はpnetanがTwitterでよくつぶやいていますので
是非フォローしてみてください。
http://twitter.com/pnetan
バージョンアップ・インストール
ダウンロード
OpenPNE 3.4.17(zipアーカイブ) は以下のボタンからダウンロードできます。
- zip版ダウンロード
パッケージの詳細は、こちらになります。
OpenPNE 3.4.17
インストール
OpenPNE 3.4.17 のインストールは、OpenPNE3.4 セットアップ手順 を確認ください。
3.2.x から 3.4 へのアップグレード、3.4 の以前のバージョンからのマイナーバージョンアップを行う場合は、このドキュメントを参考ください。
バグ修正
- #2558: 管理画面コミュニティ一覧で削除ボタンが翻訳されない
- #2519: 2011/10 リリースの携帯電話IPアドレス帯域リストを取り込む
- #2520: #1179 におけるコミュニティ名称設定に関する変更が不充分
- #2521: メールサーバーに接続できない場合の例外処理がキャッチされていないため500エラーになる
- #2522: PHPのsafe modeを使用している環境でmail_envelope_fromを設定するとメールが送信できない
- #2523: 携帯版配色設定のページ文字~リンク文字 (訪問済み) が反映されない
- #2524: docomoでかんたんログインに失敗する
- #2525: OpenPNE2系からコンバートした環境でかんたんログインできない携帯機種がある
- #2546: 公開設定デフォルト値が %my_friend% と表示されている
- #2557: 管理画面コミュニティ削除画面で「削除」が英語に翻訳されない
- #2561: 英語表示の時にコメマーク「※」が用いられている部分がある
- #2562: 管理画面コミュニティ管理で「コミュニティ管理者の承認が必要」となるべき部分が「コミュニティ参加者の承認が必要」となっている
- #2564: 管理画面側の翻訳カタログにプラグインの機能へのカタログがある
- #2565: 管理画面コミュニティ一覧画面でコミュニティが存在しない場合に英語へ翻訳されない部分がある
- #2527: opAuthMobileUIDPlugin 1.0.1 のリリースとバンドルをおこなう
- #2575: opCommunityTopicPlugin 0.9.9 のリリースとバンドルをおこなう
詳細については、OpenPNE 3.4.17 バージョン情報 をご覧ください。
バンドルされるプラグインの追加・更新情報
opAuthMobileUIDPlugin: 1.0.0.1 → 1.0.1
opCommunityTopicPlugin: 0.9.8.1 → 0.9.9
opCommunityTopicPlugin 0.9.9 リリースのお知らせ
11 / 10 木曜日 2011
OpenPNE 開発チームの渡辺です。
本日 2011/11/10 (木)、 opCommunityTopicPlugin 0.9.9 をリリースしました。
OpenPNE 3.4 で opCommunityTopicPlugin 0.9.8.1 以下を使われている方は、opCommunityTopicPlugin 0.9.9 へのバージョンアップを実施してください。
変更点
0.9.8.1 からの変更点
- Backport(バックポート) #1916: 携帯版でイベント作成時のエラーメッセージが英語になっている
- Backport(バックポート) #1929: /communityEvent/listCommunityにアクセスするとFatal errorが発生する
- Backport(バックポート) #2570: トピックの権限について翻訳されない
変更に関する詳細は バージョン情報 をご覧ください。
アップデート手順
コマンドライン上から opPlugin:install タスクを実行することでアップデートすることができます。
$ php symfony opPlugin:install -r 0.9.9 opCommunityTopicPlugin
$ php symfony openpne:migrate —target=opCommunityTopicPlugin
リリースの詳細
プラグインパッケージのダウンロード URL などの情報は以下のページから確認することができます。
OpenPNE3.6beta11のORMを変更する実験をしました
11 / 08 火曜日 2011
OpenPNE3にある現状の課題の一つにパフォーマンスの問題があります。OpenPNE3がサーバーに要求するスペックはOpenPNE2よりも高く、OpenPNE3へのアップグレードを敬遠する理由の一つとなっています。そこで、もしOpenPNE3で使用しているDoctrine1を別のORMで置き換えるとどの程度パフォーマンスが改善されるかを実験しました。
環境
basho1 (芭蕉1 / Webサーバ)
Intel Core 2 Quad Q8400S 2.66GHz / 4GB Memory
CentOS 5.5
PHP 5.3.3 / APC 3.1.9 / XHProf 0.9.2
Apache 2.2.3
basho3 (芭蕉3 / DBサーバ)
Intel Core i5 i5-760 2.80GHz / 8GB Memory
CentOS 5.5
MySQL 5.1.53
詳細は http://d.hatena.ne.jp/openpne/20110823/1314078181 を参照して下さい。
比較したORM
- Doctrine 1.2.4 (OpenPNE3標準)
- Propel 1.6.2
- php-activerecord 1.0
- Doctrine 2.2.0-DEV
DBサーバにメンバーが380,000人登録されている状態で、検索クエリを設定していない状態の「メンバー検索」ページにてXHProfを使用して計測しました。
比較のために使用した修正版OpenPNE3のソースコードは下記URLから入手できます。
- https://github.com/upsilon/OpenPNE3/tree/propel
- https://github.com/upsilon/OpenPNE3/tree/activerecord
- https://github.com/upsilon/OpenPNE3/tree/doctrine2
結果
処理時間
| doctrine1 | propel1.6 | php-activerecord | doctrine2 | |
| Total Incl. Wall Time (microsec) | 885,274 | 457,233 | 477,260 | 383,231 |
| Total Incl. CPU (microsec) | 784,880 | 367,944 | 387,942 | 332,949 |
処理時間では Doctrine1 > php-activerecord > Propel > Doctrine2 の順となりました(短いほど良好)。グラフからも分かるとおりDoctrine1は圧倒的に時間が掛かっています。一方、それ以外のORMではあまり変わらない結果となりました。

メモリ使用量
| doctrine1 | propel1.6 | php-activerecord | doctrine2 | |
| Total Incl. MemUse (bytes) | 21,630,856 | 20,403,448 | 14,256,808 | 16,358,240 |
| Total Incl. PeakMemUse (bytes) | 21,947,888 | 20,609,392 | 14,485,672 | 16,603,624 |
メモリ使用量では Doctrine1 > Propel > Doctrine2 > php-activerecord となりました(少ないほど良好)。PropelがDoctrine1と同じくらいのメモリ使用量になるのは予想外でした。ただ、MemUseとPeakMemUseの差はどのORMでもほとんど変わらないため、メモリ使用量の改善はORM以外の処理でオブジェクトが解放されるように工夫する必要がありそうです。

Function call数
| doctrine1 | propel1.6 | php-activerecord | doctrine2 | |
| Number of Function Calls | 184,078 | 76,753 | 87,364 | 69,613 |
Function call数についても比較しました。これは Doctrine1 > php-activerecord > Propel > Doctrine2 の順でした(少ないほど良好)。ここでもDoctrine1が特に悪い結果となりました。

変更に要する作業量
OpenPNE3ではプラグインが現在 plugins.openpne.jp に登録されているだけでも80個近く存在し(2011年11月現在)、ORMを変更した場合はこれらの内データベースを使用するほぼ全てのプラグインで修正を行う必要が出てきます。そのため、ORMを変更する場合は単純にパフォーマンスが良いというだけでなくDoctrine1からの移行のし易さも考慮する必要があります。
Propelは、現在Doctrine1で使用しているのビヘイビアやi18nに相当する機能を備えており、sfPropelORMPlugin によってsymfony1.4環境でも問題なく使用することができるため、他のORMと比べると格段に移行し易いです。ただし、それでもschema.ymlの変更やモデルクラスの大幅な修正が必要になるため、移行作業はかなりの時間を要します。参考までに、今回の実験のためにメンバー一覧のページをPropel向けに修正するために15日(通算56時間)ほど掛かりました。
php-activerecordは、現時点でsymfony1.4向けのプラグインが提供されておらず(今回はORMの比較のために作成した sfActiveRecordPlugin を使用しています)、今までのようなsymfonyのタスクによるテーブルの作成やfixtureの挿入は一から実装する必要があります。また、i18nに相当する機能はORM側で用意されておらず、どのように対応するかが課題になります。
Doctrine2は、symfony1.4向けプラグインとして sfDoctrine2Plugin が提供されていますが実質メンテナンスされておらず、最新版のDoctrine2には対応できていません。i18nはORM側の機能としては用意されていませんが、DoctrineExtensions などを利用することでそれに相当する機能を使えるとのことです(ただし今回の検証ではうまく動作しなかったため使用しませんでした)。
このような現状から、単純に移行に掛かる作業量だけを考えた場合はPropelがベターな選択肢となります。
# もちろんORMを変更する必要がなければ作業量はゼロです :)
まとめ
| 処理時間 | メモリ使用量 | ORM変更の作業量 | |
| Propel | ○ | △ | ◎ |
| php-activerecord | ○ | ◎ | × |
| Doctrine2 | ◎ | ○ | △ |
結果をまとめると上記の表のようになりました。全体的なパフォーマンス面ではDoctrine2、移行のための作業量を考慮するとPropelが良い選択肢となりそうです。いずれにしても処理時間では最大で4〜5割の改善は見込めることが分かりました。
結果データなど
今回の実験で得られたXHProfのデータを下記URLで公開しています。
Doctrine1:
- HTML: https://ty.upsilo.net/openpne-xhprof/?run=doctrine1&source=member\_search
- XHProfデータ: https://ty.upsilo.net/openpne-xhprof/raw/doctrine1.member\_search.xhprof
Propel:
- HTML: https://ty.upsilo.net/openpne-xhprof/?run=propel&source=member\_search
- XHProfデータ: https://ty.upsilo.net/openpne-xhprof/raw/propel.member\_search.xhprof
php-activerecord:
- HTML: https://ty.upsilo.net/openpne-xhprof/?run=activerecord&source=member\_search
- XHProfデータ: https://ty.upsilo.net/openpne-xhprof/raw/activerecord.member\_search.xhprof
Doctrine2:
OpenPNE 3.6 系のリリーススケジュールについて
10 / 19 水曜日 2011
OpenPNE開発チームの今村です。
OpenPNE 3.6.0 のリリース時に3.6系のリリーススケジュールについて
今後、新安定版のリリースは旧安定版とタイミングを合わせ、毎月第2木曜日とします。
次回のリリースは 2011年11月10日(木)を予定しています。
とお伝えしましたが、これをいったん撤回し2ヶ月に1回というスケジュールへの変更を予定しています。
この変更には、OpenPNE 3.6.0 リリースまでに行ったバグ修正を、3.4系にも反映し機能面での差分を吸収していきさらなる安定化を目指す狙いがあります。
本来であれば、3.4系も3.6系も同時にリリースをしていきたいところではあるのですが、それをするにはテスターをはじめとするリソースが不足しているためこの結論に至りました。
3.6系の正常リリースおよび、3.4系のさらなる安定化の為にもご理解とご協力をお願いします。
OpenPNE 3.6.1のリリース日については決まり次第ブログにて告知をします。
なお、3.4系についてはこれまで通り「毎月第2木曜日」(次回は2011/11/10)にリリースを行っていく予定です。
携帯電話IPアドレス帯域リストを更新しました
10 / 17 月曜日 2011
OpenPNE開発チームのきわです。
2011/10/17、OpenPNEのIPアドレス帯域リストを更新しました。
OpenPNEの携帯版を利用している方はSNSに反映お願いします。
今回の変更について
今回のリリースでは以下のような対応をおこないました。
au 2011年秋冬モデル以降の一部機種で使用されるIPアドレス帯域の追加
2011年6月時点で対応を保留していた 2011年秋冬モデルの一部機種向けのIPアドレス帯域を追加しました。
このリリースの保留理由・リリース理由については以下をご覧ください。
2011年7月に追加される au 2011年秋冬モデル以降で使用される IPアドレス帯域について
https://groups.google.com/group/openpne-dev/browse_thread/thread/6accc1f7f53fdfc3?hl=ja#
2011/10/17 携帯電話IPアドレス帯域リストに対して au 2011年秋冬モデル向けのIPアドレス帯域の追加対応を実施する予定です
https://groups.google.com/group/openpne-dev/browse_thread/thread/e407aefffcbd6ac9
IPアドレス帯域リストのファイルにライセンスを適用
配布しているIPアドレス帯域リストにライセンスを適用しました。
OpenPNE 3 と同じ Apache License Verion 2.0 を採用しています。
IPアドレス帯域リストのファイル冒頭に最終更新日と更新内容を記載
今までのファイルではいつ時点のリリースのファイルを適用しているかわかりにくかったので、
ファイルの冒頭に最終更新日と更新内容を記載するようにしました。
ダウンロード
/pne-downloads/mobile_ip_list/
こちらのページから各バージョンのIPアドレス帯域リストをDLできます。
IPアドレス帯域リストの更新方法
OpenPNE3
OpenPNEのパッケージ内にある以下のファイルを、ダウンロードしたIPアドレス帯域リストに置き換えてください。
lib/config/config/mobile_ip_address.yml
OpenPNE2
OpenPNEのパッケージ内にある以下のファイルを、ダウンロードしたIPアドレス帯域リストに置き換えてください。
webapp/lib/ktaiIP.php
次回の更新
次回の更新は未定です。
安定版 OpenPNE 3.4.16 リリースのお知らせ
10 / 13 木曜日 2011
OpenPNE 開発チームの今村です。
本日、安定版 OpenPNE 3.4.16 をリリースしました。
次回のリリースは 2011年11月10日(木) を予定しています。
今後、3.4系は新案定版の3.6系とリリース日を合わせ、毎月第2木曜日にリリースを予定しています。
また、3.4系のサポート期間は時期安定版のbeta(3.8beta)のリリースまでとなります。
バージョンアップ・インストール
ダウンロード
OpenPNE 3.4.16(zipアーカイブ) は以下のボタンからダウンロードできます。
- zip版ダウンロード
パッケージの詳細は、こちらになります。
OpenPNE 3.4.16
インストール
OpenPNE 3.4.16 のインストールは、OpenPNE3.4 セットアップ手順 を確認ください。
3.2.x から 3.4 へのアップグレード、3.4 の以前のバージョンからのマイナーバージョンアップを行う場合は、このドキュメントを参考ください。
主なバグの修正 Version 3.4.16
- #2360: #1373 で実施したメール投稿の例外を受ける処理が不適切である
- #1229: 携帯でSNS退会直後にアクセスするとCredentials Required画面が表示される
- #1962: SNS名称変更で入力した値がエスケープされていない
- #2109: 部分一致検索を行う箇所でワイルドカード検索ができてしまう
- #2120: 設定ファイルを記述し忘れた場合に、招待メールに記載されたURLにアクセスできない
- #2324: There are wrong URL generating for op_base_url with path name (パス名付きの op_base_url に対して誤った URL 生成をしている箇所がある)
- #2325: OpenPNE.ymlのbase_url にパスが含まれない場合に、デバッグモードでwarningメッセージが表示される場合がある
- #2369: ログインしてくださいというアラートが表示され続ける
- #2375: メール通知テンプレート設定にてエラーのアラートが表示され続ける
- #2413: 携帯電話IPアドレス帯域リストの更新(2011年8月)
詳細については、OpenPNE 3.4.16 バージョン情報 をご覧ください。
バンドルされるプラグインの追加・更新情報
今回、以下プラグインのバージョンアップを含んでいます。
opWebAPIPlugin: 0.5.0 → 0.5.1
ブログ告知:opWebAPIPlugin 0.5.1 リリースのお知らせ
修正内容:0.5.1 (2件のバグ修正)
opOpenSocialPlugin: 0.9.12 → 0.9.13
ブログ告知:opOpenSocialPlugin 安定版 0.9.13, 1.0.8, 1.2.6 リリースのお知らせ
修正内容:0.9.13 (1件のバグ修正)
OpenPNE 3.6 の新機能について
10 / 07 金曜日 2011
OpenPNE 開発チームの今村です。
2010/3/13にOpenPNE 3.5.0 がリリースされてから約1年8ヶ月という長い道のりを経て、ついにOpenPNE 3.6.0 をリリースすることが出来ました。
OpenPNE 3.6.0 では非常に多くのバグフィックス、新機能追加、チューニングが施されています。
チケット数にすると約300チケットもの対応をし、紹介する新機能も非常に多くなっています。
非常に長いエントリになっていますので、時間ねーぜ!という方は、下記の見出しを参考に気になるところから御覧ください(^_^;)
新機能では「部分SSL機能」や「インストール時にDBを造り直さないオプション」などが追加され、パフォーマンス面では、より高速化をめざし「opNonCountQueryPagerの利用」や「OpenPNE.ymlの結果をキャッシュする」といった改善が行なわれています。
opIntroFriendPlugin、opRankingPlugin、opFavoritePlugin が追加されました。
認証周りの仕様変更や、プラグインの依存性をサポートするようになりました。
3.6.0リリースにあたって、全ての機能の動作を確認する全機能テストも行なわれました。アクション一覧を参考に正常動作の確認がおこなわれ、新機能についても問題のないことを確認しました。
ユーザー向け新機能・改良点
部分SSL機能の追加

OpenPNEはpc_frontend、mobile_frontend、pc_backendといったアプリケーション、member/login や member/config といった数多くのアクションがあります。
部分SSL機能では、アプリケーションごとやアクションごとにSSLを使用するように出来ます。
設定方法は、config/OpenPNE.yml の103行目あたりから変更できます。
基本的には use_ssl を true にし、ssl_base_url を適宜変更することにより利用できます。
SSLに追加したいアプリケーションがある場合は、ssl_required_applications に追加をしてください。
SSLに追加したいアクションがある場合は、ssl_required_actions のそれぞれのアプリケーションに追加をしてください。
インストール時にDBを造り直さないオプションの追加
インストールタスク実行時に「—non-recreate-db」オプションを付けることによりDBを作り直さずにインストールすることが出来ます。
既存のDBを利用してOpenPNEをインストールしたい場合に有用な機能です。
OpenPNEと同名のテーブル名が存在するなどの場合に他のシステムのテーブルを予期せず削除してしまったりなどの危険を避けるため、OpenPNE.yml の設定で OpenPNE が使用するテーブルにプレフィックスを付けておく必要があります。
OpenPNE3_Setup_Guide.txt にも説明がありますのでインストール時にご確認ください。
OpenPNE.yml でセッション持続時間を設定
OpenPNE 3.6.0 ではセッションの有効期限を設定できるとようになりました。
セッションがすぐ切れてしまう!と感じている方はこの設定を見なおしてみてください。
OpenPNE.ymlにて設定をします。
モバイル用の自動リンク機能の追加

OpenPNE 3 はこれまでセキュリティ上の観点から、mobile版にてSNS内に外部サイトへのリンクを貼ってもリンクにはなりませんでした。
モバイル用の自動リンク機能が追加されたことにより、SNS内に貼られたURLから外部サイトにアクセスできるようになりました。
この機能を利用するためには、OpenPNE.ymlにて設定をします。
URLの他にメールアドレス、電話番号もリンク化することが出来ます。
外部サイトへのリンクをクリックすると、クッションページに遷移します。クッションページより、直接リンク、メールでURLを送る、Google Mobile Proxy(デフォルト)を利用する のいずれかを選択し目的のページにアクセスすることができます。

docomo と au では フルブラウザでアクセスする方法も選択できます。
次回から自動的にログイン機能の追加

ブラウザを閉じても、再度アクセスした際にログイン状態が維持されるという機能です。
多くのWebアプリケーションに付いている機能ですのでもうおなじみかとおもいます。
OpenPNE 3.5.3 でおこなった「かんたんログイン」の変更について
この件についてはこちらのエントリを読んでもらうのが良いと思いますので説明は割愛します。
→ OpenPNE 3.5.3 でおこなった「かんたんログイン」の変更について
バンドルプラグイン
OpenPNE 3.6.0 追加されたバンドルプラグイン
「opIntroFriendPlugin」「opRankingPlugin」「opFavoritePlugin」の3つがバンドルプラグインとして追加されました。
このプラグインにより、フレンドの紹介文の作成、ランキング機能の利用、お気に入り機能の利用、が可能になりました。
追加機能:アクティビティ更新設定
「opCommunityTopicPlugin」と「opDiaryPlugin」では、アクティビティ更新設定が追加され、トピックや日記が投稿された際にアクティビティに投稿を知らせる表示がされるようになりました。
管理画面の各プラグインの設定ページより設定できます。
開発者向けの新機能・改良点
アクティビティ入力フォームのデフォルト値をリクエストパラメータから渡せるように
http://redmine.openpne.jp/issues/1201
アクティビティ入力フォームが付属するガジェットを表示しているページにアクセスする際に、 body パラメータの値としてアクティビティ入力フォームにあらかじめ設定させておきたいテキストを設定しておくと、その値がアクティビティ入力フォームにあらかじめ入力された状態で表示されるようになりました。
コア側の web/image に存在している画像 (no_image.gif など) をスキンプラグインから変更できるように

http://redmine.openpne.jp/issues/1116
この目的のためにヘルパー関数 op_image_tag_sf_image(), op_image_tag(), op_image_path() が追加されました。この関数はまず有効なスキンプラグインのなかからその画像を探し、見つかればその画像、見つからない場合にコアに存在する画像に関するパス名などの情報を返します。
スキンプラグインから変更されることが期待される種類の画像を image_tag_sf_image(), image_tag(), image_path() によって表示しようとしている箇所は、これらの新しく追加されたヘルパー関数に置き換える必要があります。
(実験的な機能) 画像ストレージを変更できるように
http://redmine.openpne.jp/issues/1087
OpenPNE 3 はデフォルトではデータベースに画像バイナリを保存しますが、他のストレージにも保存できるようにしました。
代替の画像ストレージとして、ファイルシステムへの保存をサポートしました (sfImageStorageFilesystem)。
画像ストレージはプラグインから追加することができます。実装例はこちらです。(Amazon S3 を画像ストレージとして使えるようにするプラグイン)
認証プラグインにキャプションをつけられるように
http://redmine.openpne.jp/issues/1010
いままで、携帯版のログインフォームには内部的な認証モード名が表示されていましたが、各認証プラグインでユーザフレンドリーな認証名を auth_mode_caption から設定できるようにし、その値を携帯版のログインフォームに表示できるようにしました。
実装例はこちらです。
認証プラグイン用の API の変更
http://redmine.openpne.jp/issues/1009
http://redmine.openpne.jp/issues/960
招待機能が opAuthMailAddressPlugin に依存してしまっていた問題を発端として、「登録フローの変更」および「登録処理に使用していたクレデンシャルの廃止」をおこないました。
この変更以前の OpenPNE 3 で登録処理を備えた認証プラグインを作るのは困難でしたが、もしそのようなプラグインが存在するのであればこの変更の影響を受けますのでご注意ください。
変更の詳細はこちらです。
Doctrine のイベントが symfony のイベントとして通知されるように
http://redmine.openpne.jp/issues/933
Docrineはsymfonyと同様、データベースとの接続開始時、レコードの追加時や削除時、DQLの実行時などのタイミングでイベントを発行します。しかし、それらのイベントは Doctrine_Connection::addListener() メソッドなどを利用し、 Doctrine 側での設定をおこなわなければ利用することができませんでした。
この変更によって Doctrine のイベントが opDoctrineEventNotifier によって op_doctrine.post.save.Member といったイベントが symfony のイベントとして通知されるようになりました。
プラグインの依存性のサポート
http://redmine.openpne.jp/issues/557
プラグインが特定のバージョンの OpenPNE やプラグインとの依存関係を持てるようになりました。
詳細はこちらです。
お知らせメール件名を管理画面から変更可能に
http://redmine.openpne.jp/issues/471
お知らせメール件名を管理画面から変更可能にしました。従来通り変更不可にしたい場合は mail_template.yml で title_configurable を false に設定してください。
いままで、お知らせメールに使うテンプレートを追加するためには PHP ファイルのテンプレートと mail_template.yml の両方を用意する必要がありましたが、この変更以降、 mail_template.yml への記述の追加のみおこなうだけでよくなりました。
新安定版 OpenPNE 3.6.0 リリースのお知らせ
10 / 07 金曜日 2011
OpenPNE 開発チームの佐野です。
本日、安定版 OpenPNE 3.6.0 をリリースしました。
皆様お待ちかねの新安定版の誕生です。
新機能については別途詳細なエントリにて告知します。
今後、新安定版のリリースは旧安定版とタイミングを合わせ、毎月第2木曜日とします。
次回のリリースは 2011年11月10日(木)を予定しています。
グローバルナビやローカルナビの CSS を独自に書かれている方へ
OpenPNE-3.6.0 ではナビゲーション部分に関する問題を修正していますが、すでにお使いの OpenPNE を OpenPNE-3.6.0 にバージョンアップする場合に、独自に記述した CSS が無効になってしまう可能性があります。これは全ての SNS に影響する問題( opSkinClassicPlugin を使っている場合に限らない問題)です。
※この記事では、独自の CSS を記述している場合について注意していますが、 CSS に限らずともナビゲーション項目の id 属性値を記述している場合に当てはまります。 JavaScript などでも id 属性値を参照している場合には注意してください。
もともと発生していた問題の概要
OpenPNE 2系 のデザインを再現する opSkinClassicPlugin を用いている場合に、グローバルナビやローカルナビでクリックできない箇所があるという問題がありました。
この問題は OpenPNE-3.6beta 版から OpenPNE-3.6RC2 まで発生しており、 #2475 のチケットで修正され、 OpenPNE-3.6.0 に取り込まれています。
修正前の状況
管理画面の「ナビゲーション設定」から、ナビゲーション項目の URL を確認することができますが、ここには @homepage や diary/index のような記述があります。
ナビゲーションの id を出力する部分の実装に不具合があり、次のような問題がありました。
- @ から始まる表記の場合、HTML上では
- diary/index のような表記の場合、 HTML上では
ここで問題なのは、(ルーティング名が定義されているものに関して) URL の値は「 @ から始まる表記」と「 module/action の表記」のどちらでも書けるにも関わらず、その表記の仕方によって出力される id が異なっていたことです。
修正後の状況
修正前にあった問題について、 @ から始まる表記の場合も diary/index のような表記の場合も、ナビゲーションの id のアンダースコアが連続しないようにしました。
影響を受ける可能性のある方
globalNav__homepage のようなアンダースコアが 2 個連続していた id が OpenPNE-3.6.0 以降は globalNav_homepage とアンダースコアが連続しない id になります。これはグローバルナビとローカルナビに適用されます。
カスタム CSS や、独自カスタマイズなどでナビゲーション部分の CSS を記述されている方で OpenPNE-3.6.0 にバージョンアップしたり、過去に記述したナビゲーション部分の CSS を用いる場合は、この変更があったことに注意してください。
より詳細な情報についてはチケット #2475 を参照してください。
バグ修正
- #2436: プロフィール編集画面にて、プロフィール項目で重複した値が登録できる
- #2437: プロフィール項目追加・編集にある「重複の可否」の選択肢の文言が不自然
- #2443: #2361 にてプラグインコピー時のオプションを修正したが、CentOSで実行できないものだったので修正する
- #2453: 自動ログイン時に自動ログイン用のCookieが削除される
- #2473: ログイン停止にしたメンバで自動ログインにチェックをいれてログインしようとしたときに「Internal Server Error」が発生する
- #2474: 「Cookie 内のユニークな ID」が携帯を機種変したときのメルアド・パスワードログイン時に生成されない
- #2475: opSkinClassicPlugin を使うと pc_frontend のナビゲーションでクリックできない箇所がある
- #2477: PHP 5.3.4 以降の場合に画像付きメール投稿が失敗する
詳細については、OpenPNE 3.6.0 バージョン情報 をご覧ください。
バンドルされるプラグインの追加・更新情報
今回はバンドルプラグインの更新はありません。
バージョンアップ・インストール
バージョンアップ
バージョンアップ方法は、バージョンアップ手順 をご覧ください。
インストール
インストール方法は、同梱の セットアップ手順 をご覧ください。
ダウンロード・バージョン情報
ダウンロード
バージョン情報
redmine.openpne.jp のバージョン情報
OpenPNE 3.6RC2 リリースのお知らせ
09 / 30 金曜日 2011
OpenPNE 開発チームの豊岡です。
本日、開発版 OpenPNE 3.6RC2 をリリースしました。
次回のリリースは 2011年10月7日(金)を予定しています。
バグ修正
#2412: アップグレードガイドのバージョンに誤記がある
#2416: 管理画面でプロフィール項目の識別名に全角文字や角括弧が使えてしまう
#2420: sfOpenPNEFriendAction に不要な記述が含まれている(#2190 のBP対応時のマージミス)
#2427: Web への公開の許可を「表示しない」に設定しても「Web全体に公開」の選択肢が表示される
#2178: 英語のドキュメントが日本語のドキュメントに追いついていない
その他のバグ修正については、OpenPNE 3.6 RC2 バージョン情報 をご覧ください。
バンドルされるプラグインの追加・更新情報
opCommunityTopicPlugin: 1.0.2 → 1.0.2.2
opDiaryPlugin: 1.4.0 → 1.4.0.1
バージョンアップ・インストール
バージョンアップ
バージョンアップ方法は、バージョンアップ手順 をご覧ください。
インストール
インストール方法は、同梱の セットアップ手順 をご覧ください。
ダウンロード・バージョン情報
ダウンロード
バージョン情報
redmine.openpne.jp のバージョン情報
今後のスケジュールについて
今後のスケジュール
今後のスケジュールは以下を予定しています。
OpenPNE 3.6.0
2011/10/7 リリース予定
opCommunityTopicPlugin 1.0.2.2 リリースのお知らせ
09 / 30 金曜日 2011
(2011/10/06 追記: 「注意事項」の節を追加しました。 opCommunityTopicPlugin 1.0.2 もしくは opCommunityTopicPlugin 1.0.2.1 を導入されていた方は必ずお読みください)
OpenPNE 開発チームの渡辺です。
本日 2011/09/30 (金)、 opCommunityTopicPlugin 1.0.2.2 をリリースしました。
このリリースでは「1.0.2 で追加されたマイグレートスクリプト(リビジョン番号 6)で外部キー制約違反により、マイグレートに失敗することがある」という問題の修正を行なっています。
OpenPNE 3.6 を使われている方、もしくは OpenPNE 3.4 で opCommunityTopicPlugin 1.0.2.1以下 を使われている方でマイグレートに失敗する問題が発生している場合は、 opCommunityTopicPlugin 1.0.2.2 へのバージョンアップを実施してマイグレートを行なってください。
OpenPNE 3.2, 3.4 を使われている方は opCommunityTopicPlugin 0.9.8 をお使いください。
変更点
1.0.2.1 からの変更点
- Bug(バグ) #2449: 1.0.2 で追加されたマイグレートスクリプト(リビジョン番号 6)で外部キー制約違反により、マイグレートに失敗することがある
変更に関する詳細は バージョン情報 をご覧ください。
アップデート手順
コマンドライン上から opPlugin:install タスクを実行することでアップデートすることができます。
$ php symfony opPlugin:install -r 1.0.2.2 opCommunityTopicPlugin
$ php symfony openpne:migrate —target=opCommunityTopicPlugin
リリースの詳細
プラグインパッケージのダウンロード URL などの情報は以下のページから確認することができます。
http://plugins.openpne.jp/release/381
注意事項 (2011/10/06 追加)
このバージョンでは、前述のとおり、 opCommunityTopicPlugin 1.0.2 で追加されたマイグレートスクリプトに不備があり、特定の条件下でマイグレートが失敗していた問題の修正をおこなっています。
opCommunityTopicPlugin 1.0.2 もしくは opCommunityTopicPlugin 1.0.2.1 へのマイグレートでエラーが発生した場合、この問題によって不完全なマイグレートがおこなわれた状態になっている可能性があります。その場合、 バックアップデータを用いて、以下のテーブルの構造をマイグレートをおこなう前に戻した上で、このバージョンで再度マイグレートを試みてください。
- community_topic_image
- community_topic_comment_image
- community_event_image
- community_event_comment_image