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

最新ブログ

Home

opAshiatoPlugin 0.9.0 リリースのお知らせ

09 / 10 木曜日 2009

OpenPNE3用のあしあとプラグインの開発を担当しております、株式会社アイシーズの秋山です。

あしあとプラグイン0.9.0のリリースを行いました。

今回の携帯対応・Doctrine対応につきましては、手嶋屋山田様に対応していただきました。
ありがとうございました。

0.8.0からの変更点

  • ORMのDoctrine対応
  • 携帯対応
  • あしあとプラグインPC版のテンプレート改善
  • ashiatoテーブルIndex追加
  • 翻訳修正等

バージョン番号について

バージョン最新版OpenPNE のバージョンORM
0.8.x0.8.0OpenPNE 3.0.xPropel
0.9.x0.9.0OpenPNE 3.1.x ~Doctrine
1.0.x(予定)-OpenPNE 3.1.x ~Doctrine

足あと機能のトレースが完了しましたら、0.9.0→1.0.0へ移行します。

1.0.0に向けての対応

  • 忍び足機能の追加
  • あしあとお知らせメールの追加

今後足あと機能のトレースについて以上内容を対応します。

インストール方法

3.1.x系で既にopAshiatoPlugin0.8.0をインストールされている場合

opAshiatoPlugin0.8.0を既に3.1.x系でインストールされている場合は、ashiatoテーブルを削除し、navigationテーブルのレコード、sns_configのレコードを削除してください。

mysql> drop table ashiato;
mysql> delete from navigation where uri =‘ashiato/list’;
mysql> delete from sns_config where name =‘opAshiatoPlugin_revision’;
mysql> delete from sns_config where name =‘opAshiatoPlugin_needs_data_load’;

※コピーする際は「’」が全角になっていますのでご注意ください。

インストール

OpenPNE3のプラグインチャネルサーバからopAshiatoPluginを入手・インストールします。
これは以下のコマンドから行うことができます。

$ symfony opPlugin:install -r 0.9.0 -s beta opAshiatoPlugin

完了後、以下のコマンドでプラグインが設置されているかを確かめることができます。

$ symfony plugin:list

以下のように表示されます。

opAshiatoPlugin 0.9.0-beta # plugins.openpne.jp (plugins.openpne.jp)

プラグイン取得後、以下を実行します。

$ symfony openpne:migrate —target=opAshiatoPlugin

キャッシュの削除をしてください。

$ symfony cc

これで、インストールが完了します。

パッケージのみを入手したい場合

パッケージ単体は、
http://plugins.openpne.jp/get/opAshiatoPlugin-0.9.0.tgz
からダウンロードすることができます。

opOpenSocialPlugin 0.9.0リリースのお知らせ

09 / 08 火曜日 2009

OpenPNE開発チームの川原です。

長らくお待たせしました。個人的事情でしばらく開発が止まっていたopOpenSocialPluginですが、
ようやくOpenPNE3.1.xに対応したバージョンが出せました。

0.8.2からの変更点

  • ORMのDoctrine対応
  • アプリの情報画面に利用者リストを表示するようにする
  • OpenSocial RESTful API対応
  • 文言修正等

また、プロフィールの連携には、今後プリセットプロフィールが利用されるため、従来のプロフィール連携に利用していたテーブルの削除が行われています。

導入方法

OAuth対応がされたOpenPNE3.1.2 以上が必要です。
3.1.2未満のバージョンをご利用している場合は、バージョンアップする必要があります。

OpenPNE3.1.x導入前のインストール

OpenPNE 3.1.x のインストール手順で、openpne:install タスクを実行する前に opOpenSocialPlguinのインストールを実行してください。opOpenSocialPlugin 0.9.0 は beta バージョンとしてリリースしています。


$ php symfony opPlugin:install -s beta -r 0.9.0 opOpenSocialPlugin
$ php symfony opPlugin:sync
$ php symfony openpne:install

OpenPNE 3.1.x インストール済みの場合

OpenPNE 3.1.x を既にインストール済みの場合は、かならず既存のデータをバックアップした後、 以下の手順を踏んでください。


$ php symfony doctrine:data-dump /path/to/backup/data.yml
$ php symfony opPlugin:install -s beta -r 0.9.0 opOpenSocialPlugin
$ php symfony doctrine:build-all-reload
$ php symfony doctrine:data-load --dir=/path/to/backup --dir=plugins/opOpenSocialPlugin/data/fixtures
$ php symfony cc

_/path/to/backup_は適宜変更してください。

バージョン番号について

バージョン最新版OpenPNE のバージョンORM
0.8.x0.8.2OpenPNE 3.0.xPropel
0.9.x0.9.0OpenPNE 3.1.x ~Doctrine

リポジトリについて

本バージョンの開発から、trac.openpne.jpではなくGitHubで、ソースコードを管理しています。
http://github.com/kawahara/opOpenSocialPlugin/tree/master

実験段階ですが、バグトラッキングもそちらでやっています。

フォーク、プルリクエスト大歓迎であります!!

次期バージョンの方針

  • プロフィール連携を強化
  • Activityをサポート

今回のバージョンでは、OpenSocialAPIで取得できるプロフィール情報はメンバーID、ユーザ名、サムネイルのみとなっています。旧バージョンでも、プロフィールを連携しようと試みましたが、選択式の場合の判断などにより別の手段を考えざるおえない状況でした。
次のバージョンからOpenPNE3.1.2から利用されているプリセットプロフィールにより、性別、年齢、居住地など様々なプロフィール情報をOpenIDなどと同じく利用することができるようになります。

APIや外部コンテナの設定について

OpenPNE3.1.2のOAuthServer対応に合わせて、本バージョンよりOpenSocial RESTful APIを実装しました。
また、セキュリティ上必要な外部コンテナの設定法などは来週中にエントリーで紹介します。

OpenPNE 3.1 機能紹介 #2 - OpenID

09 / 07 月曜日 2009

OpenPNE 開発チームの海老原です。

3.1 機能紹介シリーズ第二弾です。前回の WebAPI の記事から 3 ヶ月が経ってしまいましたが、先日リリースした 3.1.2 では嬉しい機能がたくさん増えているので、どんどん記事を書いていこうと思います。お楽しみに!

ということで OpenPNE 3.1 における OpenID についてご紹介します。

OpenID について

OpenID という言葉は、「認証技術」と「認証に使用されるID」の両方の意味を持っています。
「認証に使用される ID」としての OpenID は、ユーザを識別するための URL 形式の ID で、対応サイトから発行されます。
「認証技術」としての OpenID は、一つのサイトから発行された OpenID を使って、他サイトの認証をおこなうことができる技術です。

また、拡張プロトコルを用いることで、認証技術に付随したサービスなどを提供することができることも特徴のひとつです。

その他、 OpenID についての詳しい情報は、 OpenID.ne.jp の OpenIDとは?、OpenID (http://openid.net/) の What is OpenID?をご覧ください。

他バージョンの実装との違い

OpenID が利用できる OpenPNE は、 OpenPNE 3.1 がはじめてというわけではありません。

実は OpenID の機能は OpenPNE 2.12 から利用できます。symfony 対応のためにほとんどスクラッチから書き直した OpenPNE 3.0 でも、 OpenID の機能に関しては既に実装済みです。

そこで、 OpenPNE 2 や OpenPNE 3.0 と比べて OpenPNE 3.1 ではどう変わったのかをわかりやすく表にしてまとめてみました。

機能バージョン毎の対応状況
OpenPNE 2.12.0 +OpenPNE 3.0.0 +OpenPNE 3.1.2 +
OpenID 1.1 の OP *1 対応*3*3
OpenID 1.1 の RP *2 対応×
OpenID 2.0 の OP 対応××
OpenID 2.0 の RP 対応×
OpenID SREG によるプロフィール連携
(OP 側対応)
××
OpenID SREG によるプロフィール連携
(RP 側対応)
××
OpenID AX によるプロフィール連携
(OP 側対応)
××
OpenID AX によるプロフィール連携
(RP 側対応)
××
  • *1 OpenID Provider の略で、 OpenID を発行するとともにユーザの身元の保証をおこなうサーバのこと。
  • *2 Relying Party の略で、 OpenID を使用するサービスのこと。コンシューマとも呼ぶ。
  • *3 信頼した RP の情報を保持できないなど不完全な実装になっている。

それでは、具体的に改善点を見ていきましょう。

OpenID による認証の改善

OP としての OpenID 2.0 対応

いままで OpenID Provider としては OpenID 1.1 にしか対応していませんでしたが、 OpenPNE 3.1.2 からはようやく OpenID 2.0 対応の OpenID Provider になれるようになりました。

これにより、対応サイトで SNS のドメインを入力するだけで OpenID を使用することができるようになります。もう長い OpenID の URL を入力する必要はありません

許可画面のレイアウト変更

Allen Tom 氏による Details-of-UX-Best-Practices-for-OPs に則って認可画面のレイアウトを変更しました。

以前の許可画面

pictureefbc882009-09-07-172530efbc89

新しい許可画面

pictureefbc882009-09-07-172657efbc89

ユーザに、現在何がおこっていて、これからどういうことが起こるのかを明確に説明できるような画面になったかと思います。

RP の許可状態の保持、許可の履歴の記録

いままでは RP の許可状態を保持できなかったために、 RP を使うたびに先ほどの許可画面で許可をおこなわなければなりませんでした。これは安全性を保つ一方で利便性を損なっています。

OpenPNE 3.1.2 からは RP の許可状態が保持できるようになりました。許可画面で自動的にログインをおこなうためのチェックボックスにチェックを入れることで、次回以降は許可画面を経なくても OpenID を使ったログインをおこなうことが可能になります。

もし自動的な許可を解除したい場合や、どういう RP を許可してきたかをみたい場合は、設定変更画面から OpenID の設定ページにアクセスしてください。

pictureefbc882009-09-07-175524efbc89

この画面では、自分の OpenID を確認することもできます。

プロフィール連携

OpenPNE 3.1.2 からは OpenID SREG か OpenID AX によるプロフィール連携が利用できます。 OpenID SREG は OpenID 1.1 と OpenID 2.0 対応サイトで、 OpenID AX は OpenID 2.0 対応サイトでのみ利用できるプロフィール連携の仕組みです。

この仕組みを使うと、 SREG もしくは AX に対応している OP のプロフィール情報を、同じく SREG もしくは AX に対応している RP で使用することができます。

OpenPNE では以下のプロフィール情報が連携可能です。
※許可画面において、特定のプロフィール項目を連携させるか否かをメンバーが選択できるようになっています。
※連携対象となるのは 3.1.2 の新機能であるプリセットプロフィール機能で登録されたプロフィール項目のみです。プリセットプロフィール機能についてはまた後日解説させていただきます。

項目名OpenID SREG で連携可能OpenID AX で連携可能
ニックネーム
メールアドレス
生年月日
性別
郵便番号
使用言語
タイムゾーン
電話番号×
都市×
自己紹介文×
プロフィール画像×

まとめ

普及しているというにはまだまだですが、最近では日本国内の OpenID 対応サイトも増えてきました。

プロフィール連携などの付加機能も備え、これからの Web で重要な位置を占めるに違いない OpenID を是非みなさんの SNS で活用してみてください!

今週のOpenPNE#20 (2009/08/30 ~ 2009/09/05)

09 / 06 日曜日 2009

OpenPNE 開発チームのきわです。

今週から9月に突入!
OpenPNE3.1.2やopCommunityTopicPluginのリリースなど、OpenPNE3が大忙しの月初めでした。

開発状況

OpenPNE3開発状況

今週はついにOpenPNE3.1.2がリリースされました!
OpenPNE3.1.2は、機能追加もさることながら、バグ修正も多く入っているので動作も随分安定してきています。
皆さんぜひDLしてみてくださいね。
OpenPNE3 デモSNSも近々OpenPNE3.1.2にバージョンアップされる予定です。お楽しみに。

OpenPNE 3.1.2 リリースのお知らせ

/archives/3426/

OpenPNE3 改訂履歴

http://trac.openpne.jp/wiki/pne-openpne3/ChangeLog/ja#a20090904Ver.3.1.2

OpenPNE3 デモSNS

http://demo3.openpne.jp/

プラグインは、9月5日に opCommunityTopicPlugin 0.9.6 がリリースされました。
携帯版の品質向上・トピック機能の追加・管理画面からの書き込み監視機能の追加など、多くの機能追加・改善が行われています。
また、opCommunityTopicPluginは1月からリードメンテナが不在で海老原君が臨時のメンテナをつとめていましたが、今回のリリースからリードメンテナが櫻井洋一郎 (Youichirou Sakurai) さんになりました。
メーリングリストには、櫻井さんの紹介も投稿されています。

opCommunityTopicPlugin 0.9.6 をリリースしました

/archives/3436/

[opCommunityTopicPlugin]リードメンテナ紹介:櫻井洋一郎 (Youichirou Sakurai) さん

http://groups.google.co.jp/group/openpne-dev/browse_frm/thread/9ac067b34d78e98c/171f1f795275f0db?q=openpne-dev#171f1f795275f0db

OpenPNE2→OpenPNE3 へのコンバータの開発も進んでいます。
今週で実装が一段落し、テスト段階に入りました。

2系から3系へのDBコンバータ

/archives/3324/

OpenPNE3.1.3に向けても既に動き始めています。
OpenPNE3.1.3で追加される、テキストエリアに文字装飾機能を使えるようにする機能追加について、川原君が実装をはじめています。
OpenPNE2 では文字装飾機能は日記のみにしか使えませんでしたが、OpenPNE3ではプロフィール項目などにも絵文字挿入・文字装飾機能が利用できるようになりそうです。

携帯用絵文字入力などが可能なwidgetを作成する

http://trac.openpne.jp/ticket/4273

twitterは相変わらず開発者の海老原君、川原君、深町君が開発中の呟きを頻繁にポストしています。
皆さんも気兼ねなく#op3devで投稿してみてください!疑問・質問でもOKです。

twitter OpenPNE3開発に関する呟き

http://search.twitter.com/search?q=%23op3dev

発言された内容は連絡なしに「今週のOpenPNE」に転載させていただく可能性があります。「今週のOpenPNE」に掲載したくない発言は #x-wpne のタグを追加してください。

OpenPNE2開発状況

OpenPNE2.14.2 / OpenPNE2.12.14 は2009/9/17リリース予定です。大体の対応項目をきめました。2.14で追加された新機能の不具合修正がメインになっています。

OpenPNE2.14.2 開発用レポート

http://trac.openpne.jp/report/154

OpenPNE2.12.15 開発用レポート

http://trac.openpne.jp/report/155

ハイライト

twitter 発言ハイライト(#op3dev)

文字装飾機能

  • ooharabucyou: 携帯絵文字入力補助テストのためにopDiaryPluginをフォーク
  • ooharabucyou: http://trac.openpne.jp/ticket/4273 さて、widgetは用意できた。あとは、HTMLに変換する関数を用意して opDiaryPluginのフォークをいじってpull requests だ。
  • ooharabucyou: sfWidgetFormRichTextareaOpenPNE での入力をHTMLに変換する関数は、そのクラスに静的メソッド持たせて、あとはヘルパーで何とかすればいい気がしてきたぞ

DBコンバータ

  • nitro_idiot: メモリ使用量が516MB越えでぎりぎりFatal error。1024MBならおそらくコンバートできるんだろうけど、これはDoctrineのNestedSetの問題っぽいしなぁ。どうしよう
  • nitro_idiot: 今日はDBコンバータのconvertMemberProfileの後半部分で殺人的にメモリを食ってる問題に取り組む /li>
  • nitro_idiot: 昨日は結局member_profileの問題は解決せず。保留して続きの変換処理を追記中
  • nitro_idiot: opMessagePlugin関連のテーブル変換処理の記述終わり。コンバート後のテストも近いかな
  • nitro_idiot: リファクタリングしたらコードが100行縮まった。おおよそ実装は終わった。あとはテストとopMessagePluginのリリース待ち
  • nitro_idiot: コードを抽象化したはいいけど今度はfree()してもメモリを解放してくれなくなった。困った
  • nitro_idiot: DBコンバータの処理速度向上のために、関数用のハッシュ表を持たせる
  • nitro_idiot: getModelsIterator()とselectOne()をキャッシュ可能にすれば処理速度が上がるかもしれない

その他

  • nitro_idiot: opGenerate:pluginでtest用の雛形を生成するチケットを作成しました。早速コミットしたので意見などあればチケットか @nitro_idiot まで http://trac.openpne.jp/ticket/4300

  • ooharabucyou: partsYesNoはpostだったら自動的にCSRF対策するくらいの勢いを見せた方がいいかもしれない

  • co3k: http://trac.openpne.jp/ticket/4302#comment:2 への対処の際に default ルールを deprecated にする予定。実際に廃止するのは当分先の話だと思いますが……

  • co3k:OpenPNE3.1.2 のチェックが一通り終わろうという時に OpenID の RP 周りで新規セットアップ限定の不具合を見つけちゃったよ>< もういっぺんタグ切る

コミュニティでの話題ハイライト

  • [公式SNSトピック] 2.12.4 → 2.14.1 にグレードアップしたら、日記が書き込めなくなっなった
  • [公式SNS日記] SNS上で変更が反映されない
  • [公式SNSトピック] 外部ブログにて、ブログのRSSに挿入されるPR表示を消す方法
  • [公式SNSトピック] CMD機能のGoogleMap表示が世界地図になる・マーカーが表示されない

今週追加された機能ハイライト

OpenPNE3 - core

  • #3878:誕生日バナー機能の追加 (urabe)
  • #3943:ユーザ画面と管理画面から、OAuth を用いて SNS の情報にアクセス可能なアプリケーションを登録できるようにする (ebihara)
  • #4243:OpenID SREG と OpenID AX によるプロフィール連携機能の実装 (ebihara)
  • #4294:OpenID の Relying Party の許可状態を永続的に保持できるようにする (ebihara)

OpenPNE3 - plugins

  • [opCommunityTopicPlugin]#3745:トピック・イベント管理機能を管理画面に追加 (saku)
  • [opCommunityTopicPlugin]#4019:PC版でトピック検索フォームをコミュニティのホームに表示する (saku)
  • [opCommunityTopicPlugin]#4109:トピック検索機能を追加する (fukamachi)

今週修正したバグハイライト

OpenPNE3 - core

  • #4141:ログイン画面のレイアウト設定がガジェット編集画面に適用されない (kawahara)
  • #4189:コミュニティ管理者であったときSNS退会ができない (kawahara)
  • #4209:プロフィール項目の説明が表示されない (kawahara )
  • #4302:プラグインの app/*/config/routing.yml で設定したルーティングルールが有効にならない (ebihara)

OpenPNE2

  • #4168:コメントを許可しない時のコメント返信ボタン(リンク)の表示 (imamura623)
  • #4083:パスワード再発行ページへの説明文 (imamura623)
  • #3236:アルバムの表示順に整合性がないため昇順に変更する (imamura623)

今週報告されたバグハイライト

OpenPNE3

  • #4302:プラグインの app/*/config/routing.yml で設定したルーティングルールが有効にならない (ebihara )
  • #4305:IE8 でテキストエリアに一定の文字を入力すると、スクロールバーが小刻みに動く (urabe)
  • #4307:参加コミュニティが0件の場合、マイホームのコミュニティ最新書き込み公開範囲にかかわらず全てのトピックが表示される (kiwa)

OpenPNE2

  • #4299:アップグレードSQLでDuplicate column name ‘u_datetime’エラーが発生する (OpenPNE公式SNS)
  • #4304:2.12xから2.14xにアップグレードしたら日記とレビューが書き込めない (OpenPNE公式SNS)
  • #4308:PostgresSQL環境で日記コメント便利機能が使えない (imamura623)

opCommunityTopicPlugin 0.9.6 をリリースしました

09 / 05 土曜日 2009

OpenPNE 開発チームの海老原です。

昨日、海老原が臨時でリードメンテナを努めている opCommunityTopicPlugin 0.9.6 のリリースをおこないました。
OpenPNE3.1.2 との同時リリースとなります。

サポートする OpenPNE のバージョンについて

opCommunityTopicPlugin 0.9.6 の一部は OpenPNE 3.1.2 に依存しています。 OpenPNE 3.1.1 以前ではお使いいただけません。

ただし、 OpenPNE 3.1.2 依存部分を除いたバージョンを 0.9.5 としてリリースしていますので、 3.1.0 と 3.1.1 をお使いの方はそのバージョンが使用できます。

変更点

  • Fixed some bugs in the mobile_frontend application (携帯版に関するバグの修正) (thanks to fukamachi)
  • Added ability to search community topic and events(トピック検索機能の追加) (thanks to fukamachi)
  • Fixed unit tests for Doctrine, and improved them(Doctrine 向けにテストの修正・改善) (thanks to fukamachi)
  • Fixed some bugs about privileges (権限に関するバグの修正) (thanks to fukamachi)
  • Added ability to manage topics, events, topic comments, event comments and event members in the pc_backend application(管理画面に、トピック管理機能、イベント管理機能、トピックコメント管理機能、イベントコメント管理機能、イベントメンバー管理機能を追加) (thanks to saku)
  • Added ability to display topic search form on the community home page in the pc_frontend application(PC版コミュニティホームでトピック検索フォームを表示する機能を追加) (thanks to saku)
  • Changed the way to define routing rules(ルーティングルールの定義方法を変更)(ebihara)

詳細は opCommunityTopicPlugin のコミットログをご覧ください。

アップグレード方法

OpenPNE 3.1.2 以降

opCommunityTopicPlugin 0.9.6 以降が既に使用可能な状態になっているため、アップグレードの必要はありません。

OpenPNE 3.1.1, OpenPNE 3.1.0

以下の手順により opCommunityTopicPlugin 0.9.5 が利用できます。

./symfony opPlugin:sync

OpenPNE 3.0.x

今回リリースされたプラグインはお使いいただけません。

今後のリリースについて

opCommunityTopicPlugin は 1 月からリードメンテナが不在の状態でした。そのため、以前告知したように海老原が臨時でリードメンテナを努め、開発に参加したい方を募集していました。

今回のリリースより、櫻井洋一郎 (Youichirou Sakurai) さんにリードメンテナを努めていただくことになりました。櫻井さんには saku さんという名前で上に記したようなトピック管理機能などを手がけていただきました。
櫻井さんのプロフィールについては開発者紹介のページをご覧ください。

櫻井さんにリードメンテナを努めていただくことで、主要機能のひとつであるコミュニティトピック・イベントも、ついに手嶋屋主導という形ではない開発スタイルになりました。
新しい風が吹き始めた opCommunityTopicPlugin の進化にご期待ください。

OpenPNE 3.1.2 リリースのお知らせ

09 / 04 金曜日 2009

OpenPNE 開発チームの海老原です。

本日 2009/09/04(金)、 開発版 OpenPNE 3.1.2 をリリースしました。

今回は、「連携性の強化」をモットーに掲げ OAuth 対応や OpenID によるプロフィール連携などの機能追加をおこないました。大変お待たせしました。

今回追加した連携系の機能やその活用方法については、後日別エントリにて解説させていただきます。

機能追加・機能改善

  • #4295 プリセットプロフィール機能の追加(ebihara)
  • #4243 OpenID SREG と OpenID AX によるプロフィール連携機能の実装(ebihara)
  • #4294 OpenID の Relying Party の許可状態を永続的に保持できるようにする(ebihara)
  • #3943 ユーザ画面と管理画面から、OAuth を用いて SNS の情報にアクセス可能なアプリケーションを登録できるようにする(ebihara)
  • #4296 モデルに Zend_Acl によるアクセスコントロールの機能を追加する(ebihara)
  • #4293 OpenID Provider として OpenID 2.0 に対応できるようにする(ebihara)
  • #4241 フリーエリアガジェットなどでリッチテキストエリアだけでなく通常のテキストエリアも利用できるようにする(kawahara)
  • #3878 誕生日バナー機能の追加(urabe)

その他の機能追加・機能改善については、 ChangeLog をご覧ください。

バグ修正

  • #4302 プラグインの app/*/config/routing.yml で設定したルーティングルールが有効にならない(ebihara)
  • #4209 プロフィール項目の説明が表示されない(kawahara)
  • #4164 プロフィールガジェット設定が出来ない(kawahara)
  • #4210 レイアウト設定の初期値が正しくセットされない(kawahara)
  • #4169 プロフィール画像登録直後に画像が表示されない(kawahara)

その他のバグ修正については、 ChangeLog をご覧ください。

バンドルされるプラグインの追加・更新情報

以下のプラグインがアップデートされます。

  • opAuthMailAddressPlugin 1.1.2 → 1.1.4.1
  • opAuthOpenIDPlugin 1.1.0 → 1.1.1
  • opCommunityTopicPlugin 0.9.5 → 0.9.6
  • opWebAPIPlugin 0.3.6 → 0.3.7

注意事項

3.0.x に同梱されていたプラグインの一部は Doctrine に未対応のため、現時点の OpenPNE 3.1.1 ではご利用いただけません。

同梱されているプラグインは以下となります。

* opAuthMailAddressPlugin
* opAuthMobileUIDPlugin
* opAuthOpenIDPlugin
* opCommunityTopicPlugin
* opWebAPIPlugin
* opDiaryPlugin
* opBlogPlugin

なお、今後プラグイン側のバージョンアップによって同梱されるプラグインが増える場合があります。
詳しくは各プラグインのリリース情報をご覧ください。

バージョンアップ・インストール

バージョンアップ

バージョンアップ方法は、同梱の doc/ja/OpenPNE3_Version_Up_Guide.txt や OpenPNE3.1 バージョンアップ手順 をご覧ください。

インストール

インストール方法は、同梱の doc/ja/OpenPNE3_Setup_Guide.txt や OpenPNE3.1 セットアップ手順 をご覧ください。

ダウンロード・チェンジログ

ダウンロード

/pne-downloads

チェンジログ

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

OpenPNE3プラグインに快適なテストライフを

09 / 02 水曜日 2009

OpenPNE開発チームの深町です。

 先日DBコンバータの記事を書きましたが、今日はOpenPNE3プラグインの自動テストについてです。

日々はめんどくさいの連続

 僕は非常に怠慢な人間です。日々めんどくさいとつぶやいています。

 パジャマに着替えるのめんどくさい。
 寝癖なおすのめんどくさい。
 家から出るのめんどくさい。
 1日3食めんどくさい。
 家に帰るのめんどくさい。
 寝るのめんどくさい。
 生きてるってめんどくさい。

 まあ別に生きてるのめんどくさい人はそう多くないと思いますが、「○○めんどくさい」と日々考えてるプログラマも多いでしょう。

 めんどくさいものの代表として「テスト」がありますね。プログラムは好きだけど、テストするのはめんどくさい。うん、よく分かる。

 そんな怠慢なプログラマのためにあるもの。それが「自動テスト」です。

自動テストって何?

 プログラムを書くと必ずテストしますね。めんどくさくてしないときもあるけど、大体します。

 コンパイルが通るかどうか。関数が予想した値を返すか。フォームが投稿できるか。データが保存されているか。レイアウトが崩れてないか。

 確認することが多くてうんざりしますね。

 まあそうは言っても、テストが1回限りならやるかもしれません。でも現実は違う。修正するたびにテスト、テスト、テスト。下手すると作業時間のほとんどがテストだったりします。

「あぁ、誰か代わりにテストしてくれないかな…」

 こういった繰り返し作業は人間のすることじゃありません。これこそプログラムにさせればいい。

 このような、テストさせるためのプログラムが「自動テスト」です。

プラグインのテスト

 OpenPNE3で使われているsymfonyは自動テストに対してとても熱心です。チュートリアルのJobeetにもテストに関する章が3つあります。

 幸いにも、OpenPNE3プラグインのテストも同じように書けます。

テストの準備はめんどくさい

 テストを書くためにはまずtestディレクトリを作って、さらにその下にbootstrapとfixturesとunit、functionalを作って、bootstrapに初期化用のテストプログラムを書いて……。

 ……めんどくさい。こんなことは我々メンドクサー(造語)のすることじゃない。

 めんどくさいことは自動化しよう。テストの準備もプログラムにやらせたい。

opGenerate:pluginでテストの雛形も作っちゃえ

 そう思って、プラグインの作成時に一緒にテストの準備もすることにしました。

#4300 (opGenerate:pluginでtest用の雛形を生成する) - OpenPNE - Trac

 以下のコマンドを打つと、

$ symfony opGenerate:plugin opSamplePlugin

 以下のようなディレクトリができる。

$ ls plugins/opSamplePlugin
apps config i18n lib test

 新しく追加されたtestディレクトリは以下の構造になっています。

  • test/
    • bootstrap/
      • database.php
      • functional.php
      • unit.php
    • fixtures/
      • test_data.yml
    • functional/
      • mobile_frontend/
        • skeletonActionsTest.php
      • pc_frontend/
        • skeletonActionsTest.php
    • unit
      • model/
        • SkeletonTest.php

 初期化用のbootstrapはほとんどいじる必要がありません。主に編集するのは太字で書いたファイルです。

 まだ実験段階なので、skeletonという名前がついていますが、最終的にはこれも自動でsampleActionsTest.phpといった名前に変更される予定です。

テストの書き方

 テストの書き方はsymfonyのドキュメントを参照してください。同じです。

 読んだけどわかんないよー、って人はお気に入りのプラグインのテストを参考にするといいですよ。

これでもめんどくさいだって?

 これで自動テストを書くための準備は整いました。

 だけど「そもそも自動テスト書くのがめんどくさい」って人もいるかもしれません。

 もし、「こうだったら自動テストを書く気にもなるのに」と思っている方がいれば言ってください。どんどんみんなで改善していきましょう。

 OpenPNE3に快適なテスト環境を作りましょう :)

公式SNSのOpenPNE3化スケジュールについて

08 / 31 月曜日 2009

OpenPNE開発チームのしんごです。
延期されていた公式SNSのOpenPNE3化の実施スケジュールについてお知らせいたします。

実施時期 :2009年9月下旬予定
※日程の詳細は決まり次第お知らせいたします

延期の原因となっていた「2系から3系へのDBデータコンバータ」の開発も順調に進んでおり、9月中にリリースする予定でプロジェクトを進めております。
楽しみにされている方もいらっしゃると思います。もう暫くおまちください。

◆コンバータ開発秘話・進捗状況はこちらのブログよりご覧下さい。
⇒ 2系から3系へのDBコンバータ

いろいろご迷惑をおかけするかとは思いますが、皆様のご協力をお願い致します。

----------------------------------------------------------------------------------------
(プロジェクトの詳細は以下の通りです)

◆公式SNSのOpenPNE3化プロジェクト

コアバージョン:OpenPNE3.1.2(予定)
使用プラグイン:
・opCommunityTopicPlugin
・opMessagePlugin
・opAshiatoPlugin
・opDiaryPlugin
・opIntroFriendPlugin
・opInviteFriendPlugin
・opRankingPlugin
など

※以下の機能が使用できなくなります
・レビュー機能
・アルバム機能
・小窓機能(一部不可) ※未対応のものはURL表示
・日記の文字装飾(表示は可能)

今週のOpenPNE#19 (2009/08/23 ~ 2009/08/29)

08 / 29 土曜日 2009

OpenPNE 開発チームのきわです。

8月ももうおしまい!来週から9月に突入ですね><
OpenPNEプロジェクトは今週もまったりガツガツ進行中です。

開発状況

OpenPNE3開発状況

今週はOpenPNE3.1.2の追い込みです!
3.1.2は今月(あと3日!)中にリリースされる予定なので、皆さん楽しみにしていてください!

今週はOAuth機能の調整やOpenID対応の改善が行われました。
また、今週新たに「プリセットプロフィール機能」というものが追加されました。
この機能は「出身地」「国」や「誕生日」など今まで逐一手動で設定していく必要があったプロフィールをプリセットで用意するというものです。これにより、今まで設定が面倒だったプロフィールが簡単に追加できるようになります。

OpenPNE3.1.2 開発用レポート

http://trac.openpne.jp/report/152

ユーザ画面と管理画面から、OAuth を用いて SNS の情報にアクセス可能なアプリケーションを登録できるようにする

http://trac.openpne.jp/ticket/3943

OpenID Provider として OpenID 2.0 に対応できるようにする

http://trac.openpne.jp/ticket/4293

OpenID の Relying Party の許可状態を永続的に保持できるようにする

http://trac.openpne.jp/ticket/4294

OpenPNE2→OpenPNE3 へのコンバータの開発も進んでいます。
今週は画像の移行時にメモリを大量に消費する問題が解決されました。

2系から3系へのDBコンバータ

/archives/3324/

また、OpenPNE3のデモサイトも一新されました!
OpenPNE3.1.1を気軽に触って体感してみてください!
OpenIDのコンシューマになっているので、OpenIDのアカウントをお持ちのかたはそちらでログインできます。

OpenPN3 デモSNS

http://demo3.openpne.jp/

twitterは相変わらず開発者の海老原君、川原君、深町君が開発中の呟きを頻繁にポストしています。
皆さんも気兼ねなく#op3devで投稿してみてください!疑問・質問でもOKです。

twitter OpenPNE3開発に関する呟き

http://search.twitter.com/search?q=%23op3dev

発言された内容は連絡なしに「今週のOpenPNE」に転載させていただく可能性があります。「今週のOpenPNE」に掲載したくない発言は #x-wpne のタグを追加してください。

OpenPNE2開発状況

OpenPNE2 は、まったりお休み状態でした。
2009/09/17リリース予定のOpenPNE2.14.2 / OpenPNE2.12.15 に向けて来週から動き出しますよ!

OpenPNE2.14.2 開発用レポート

http://trac.openpne.jp/report/154

OpenPNE2.12.15 開発用レポート

http://trac.openpne.jp/report/155

ハイライト

twitter 発言ハイライト(#op3dev)

OpenID AX対応

  • co3k: よし OpenID AX 経由でプロフィール画像も取れるようにしたよ(かなりコードがひどいことになってるので直しまくるよ)

ACL対応

  • co3k: WebAPI 絡みで ACL 周りをどう固めるか決めないとやばくなって悩んでたが、モデルたちに Zend_Acl_*_Interface を実装する方向でなんとかなりそうなようなちょっと試す
  • co3k: とりあえず API で使う目的でモデルに ACL の機構を追加できるようにした。行けそうなら 3.1.3 で全体的にやってしまう予定
  • co3k: テーブルクラスでは Zend_Acl_Role を追加しまくる appendRoles() とルールを定義する appendRules() の二つのメソッドの定義が強制される感じ
  • co3k: レコードクラスのほうでは generateRoleId() の定義が強制される。これは Member のインスタンスを引数にとって、メンバーがレコードから見てどのロールに当たるかを返すメソッド
  • co3k: 早速 Zend_Acl_Assert_Interface::assert() を使う必要がでてきたのでレコードクラスに Zend_Acl_Resource_Interface を実装しちゃうぜ

DBコンバータ

  • nitro_idiot: DBコンバータにmember_configの変換処理を追加。暗号復号化のためにEncryptKeyの質問が増えた
  • nitro_idiot: DBコンバータ走らせてたらPHPにメモリ足りねーよって怒られた。256MBじゃ足りない様子
  • nitro_idiot: file_binの箇所でメモリ食ってる。暗黙の参照渡しとかありそうだ
  • nitro_idiot: 関数呼び出しのたびにsfValidatorFileインスタンスが作られていたのが原因だった。GCで回収されないのは謎だけど、とりあえずvalidatorをクラス変数にすることでかなりメモリ不足が解消された
  • nitro_idiot: 少し増加がゆるやかになったけど、やっぱりメモリが足りないって怒られる。もうちょっと調査が必要
  • nitro_idiot: DBコンバータでのDoctrine様によるメモリ不足問題の解決方法について軽くブログにまとめました http://e-arrows.sakura.ne.jp/2009/08/doctrine-allowed-memory-size.html
  • nitro_idiot: ようやくDBコンバータをコミット。今日はメモリの使用率を抑えるようリファクタリングしました

その他

  • ooharabucyou: sfWidgetFormRichTextareaOpenPNE(開発中・日記などで使えるリッチテキストエリア)内で、パーシャル呼び出すとかしちゃうかもしれないなぁ・・・う~ん。

  • ooharabucyou: う~ん、設定ファイルとかを駆使した方がいい気がしてきてしまった。

  • tejima: OpenPNE 徹底的にわかりやすいAPIを実装するべきだと思う。まだtwitterに比べて5倍ぐらい難しいよ。

  • nitro_idiot: (1) opGenerate:pluginでテストの雛形を生成。 (2) テストケースの網羅を目指すのではなく、バグ修正時などにできる部分から作り始める (3) 修正時にテストも同時コミットを慣例化

コミュニティでの話題ハイライト

  • [公式SNSトピック] 携帯日記作成時のコメント許可がデフォルトで「許可しない
    」になっている
  • [公式SNSトピック] 携帯【かんたんログイン】で送信確認の文言を表示しない方法
  • [公式SNSトピック] ポータルクリエイターのリンク集にAタグを入力できた上にWarningが発生
  • [公式SNS 日記] ついぴーねの利用実証トライアルに参加してくれるSNSオーナーを募集中

今週追加された機能ハイライト

  • #4212:_partsFormの改良 ( 必須項目での表示等) (kawahara)
  • #4243:OpenID SREG と OpenID AX によるプロフィール連携機能の実装 (ebihara)
  • #4293:OpenID Provider として OpenID 2.0 に対応できるようにする (ebihara)
  • #4296:モデルに Zend_Acl によるアクセスコントロールの機能を追加する (ebihara)

今週修正したバグハイライト

OpenPNE3

  • #4282:コミュニティ管理者がコミュニティメンバを退会させるときに確認画面を出すようにする (kawahara)
  • #4291:コミュニティ参加申請済みだということをメッセージで出るようにする (kawahara)

今週報告されたバグハイライト

OpenPNE3

  • #4282:コミュニティ管理者がコミュニティメンバを退会させるときに確認画面を出すようにする (kawahara)
  • #4291:コミュニティ参加申請済みだということをメッセージで出るようにする (kawahara)
  • #4292:利用規約、プライバシーポリシーが表示されない (imamura623)
  • #4297:日記の件数が増えると一覧表示できなくなる (kiwa)

OpenPNE2

  • #4280:IE8 でテキストエリアに一定の文字を入力すると、スクロールバーが小刻みに動く (urabe)

OpenPNE3のデモサイト開設のお知らせ

08 / 28 金曜日 2009

OpenPNE開発チームのしんごです。

OpenPNE3.1系のデモサイトを開設しました。
ご自由にお試し下さい。

URL:  http://demo3.openpne.jp/

◆OpenID に対応!
OpenPNE3 は OpenID2.0 に対応しております。(認証サーバ・コンシューマ共に可能)
OpenIDをお持ちの方は、メールアドレスを登録することなくデモサイトに登録することができます。
(基本プロフィール情報の登録は必要です)

※このデモサイトでは許可なくデータの消去を行うことがありますのでご了承下さい。
※従来のデモサイト(3.0系公式デモ~ http://openpne3.openpne.jp/)は近日中に閉鎖される予定です。

ページの先頭に戻る