最新ブログ
OpenPNE3開発風景#3
11 / 04 火曜日 2008
OpenPNE3開発風景#2
10 / 31 金曜日 2008
開発チームの川原です。
※ところで今日川原君が開発していたのは、 OpenPNE3 にとってすごく大事な機能です。これについては川原君本人から近々発表があると思うので、お楽しみに!
という、フリがあったので、それについていろいろと書いてみます。
1、templatesファイルが動かない!
plugin_root ├config ├lib ├web ├i18n └apps └* ├config ├lib ├**templates** └modules └* ├config ├lib ├actions ├templates └i18n
OpenPNE3では、symfonyのプラグインとは違ったディレクトリの構造の
プラグインを追加することによって、簡単なプラグインの追加を実現しています。
本来のsymfonyであれば、Pluginの直下におけるのは、
modulesディレクトリで、そこにモジュールを追加して
さらに、本体のアプリケーションの設定で特定のモジュールを有効にするという
面倒な設定を必要とします。
そんな設定の必要がない!
海老さんすげー!な機能です。
そんなこんなで、プラグインをつくっていると
そのアプリケーションのテンプレートの設定が働くので
OpenPNEのタイトル部分(↓でいえばMySNSの部分)が出てしまいました。
真っ白なページに結果を書き出す必要があったので、
独自のテンプレートを 「plugin_root/apps/*/templates」に追加!
view.ymlで設定!
と作業を行ったところで、動かなかった。
どうやら、今までは対応していなかったようです。
昨日の、やりとりで対応するようになったので、
タイトルも何もないページテンプレートや、プラグイン独自のメニューなどを追加できるようになりましたよ。
2、プラグイン独自のキャッシュはどうする?
キャッシュをなぎ払うための「symfony cc」コマンド。
symfony開発者にとっては、おなじみだと思います。
ですが、使うライブラリによっては、プラグイン独自のキャッシュが必要になってきたり
する場合があると思います。
(現在作成中のOpenSocialプラグインは、使用ライブラリの関係で使わなくてはいけません。)
昨日の対応で、「cache/*/*/plugins」のディレクトリ内のファイルも
削除してくれるようになりました。
今のところ、キャッシュの先は「sfConfig::get(‘sf_app_cache_dir’).’/plugins/プラグイン名’」
といった具合に設定しています。
-------
こういった感じで、プラグイン開発のためにOpenPNE3を利用してみると、
こんな機能があると便利なんじゃないか(必要なんじゃないか)、というのが見えてきます。
すばらしいSNSを作るために、ぜひたくさんの人に開発に参加してもらいたいです。
OpenPNE3開発風景#1
10 / 30 木曜日 2008

開発チームの海老原です。
11月になる前になんとしてでも OpenPNE3alpha3 を出さなければと格闘中です。
さて今日、夜が更けていく中で黙々とOpenPNE2のバグ修正をチェックしていると、手嶋荘住人の川原君からメッセージが飛び込んできました。
川原「プラグインのなかの apps/pc_frontend 直下に templates ディレクトリつくったんですけど」
海老原「ほいほい」
川原「読み込まれないんですけど」
海老原「あらー……(確認後)あー、こりゃ読まないわ」
川原「マジすっか」
海老原「んー、本体適当に触って対応しておいてください」
川原「わかりました」
(ということで川原君に押し付けてコードチェックに戻ったものの、気になって仕方がなかったので結局自分から話しかけてみる海老原)
海老原「どうっすか」
川原「いや、なんかちょっと厳しそうです」
海老原「なるほどー、じゃあ無理かもなあ」
川原「そうですか……」
うわあ、モニタの前で落胆する川原君が目に浮かぶようだ……
これはちょっとかなりプライドが許さなかったので、(これを口実に)OpenPNE2を一時中断して**対応しました**。
川原君が満足げに開発に戻った(っぽい)のを見届けて、海老原もコードチェックに戻りましたとさ。
と思いきや、またも川原君からメッセージが。
川原「プラグインで独自にキャッシュ使いたいんですけど」
海老原「ほいほい」
川原「独自にcacheディレクトリに置いて『symfony cc』コマンド実行しても消してくれないですよね」
海老原「むー……(確認後)あー、こりゃ消してくれないわ」
川原「うーん、独自にキャッシュクリア用のタスクを作ればいい話なんですけど」
海老原「でも、事あるごとに『symfony cc! symfony cc!』ってやりたいのが人情だよねえ」
川原「ですよねー……」
うわあ、一日に二回も川原君を落胆させてしまった……。
これはちょっとかなりゆゆしき事態なので、(これを口実に)OpenPNE2を一時中断して**対応しました**。
とまあ、こんな感じの何気ないやりとりですが、すごく有意義な時間を過ごせたなと思っています。
思えば OpenPNE3alpha1 開発時は、五里霧中でひたすらコードを書いていく状態で、一緒に開発してくれる人もおらず、正直言ってかなり辛かった気がします。
そんな中、少しずつですが、興味を持っていただける方や実際に試していただける方、開発に協力いただける方が現れてきて、救われたというか、かなり面白くなってきました。たとえば先ほど紹介したように、海老原が作ったコアの機能を、実際に川原君のような開発者に使ってもらうことで、どんどんいいものにしていける過程は、一人で開発していたときには絶対に味わえなかったのではと思います。
なかなか大変な状況ですが、 OpenPNE3 をいいものにしていくために、 OpenPNE3 をもっと楽しくしていくために、興味のある方は是非僕らと一緒に楽しく開発していきましょう! 開発チームの海老原(ebihara@tejimaya.com)まで是非ご連絡ください!
※ところで今日川原君が開発していたのは、 OpenPNE3 にとってすごく大事な機能です。これについては川原君本人から近々発表があると思うので、お楽しみに!
OpenPNE3の構造図
10 / 30 木曜日 2008
OpenPNE構造図を作成した。
OpenPNE CORE Application
OpenPNEのソーシャルグラフを表現するための中核部分。
フレンドリンク、プロフィール、マイページ、フレンドページ等を表現する。
OpenPNE CORE API
OpenPNE CORE Applicationを制御するためのAPI。
フレンドリンク、プロフィールの書き換え、データベースの制御などを行う。
OpenPNE Plugin Interface
OpenPNEを拡張する為のプラグインインターフェース。
日記やメッセージなどのOpenPNEの基本機能もこのインターフェース上で作られる。
WEBAPI、OpenSocialAPI等の実装もプラグイン形式で提供される。
symfonyから多くの機能を借りてきている。
OpenPNE WEB API
OpenPNE CORE APIのラッパーとして動作し、外部サーバからHTTPインターフェースを通じてOpenPNEを制御できるようにする。
OpenSocial API
OpenSocialアプリケーションを動作させるためのAPI。
※OpenPNE3は2008年中のリリースを予定していますが、大変厳しい状況です。OpenPNEの個々の機能の開発をして頂ける方を募集しています。ぜひ、このブログにコメントをつけて開発にエントリーしてください。
ITmediaでOpenPNE関連記事が掲載されました!
10 / 30 木曜日 2008
ITmediaでOpenPNE関連記事が掲載されました!
ひとりで作るネットサービス: 【番外編】目指せ日本発、世界初――相互添削SNS「Lang-8」の学生起業家 (1/2)
ITmedia(2008年10月23日)
記事
http://www.itmedia.co.jp/bizid/articles/0810/24/news002.html
その他の掲載記事
/docs/pne-clipping/
【脆弱性情報】JVN#20502807: Snoopy における OS コマンドインジェクションの脆弱性 と OpenPNE への影響について(追記あり)
10 / 29 水曜日 2008
昨日(2008/10/28)、JVN(Japan Vulnerability Notes)にて公開された「#20502807 Snoopy における OS コマンドインジェクションの脆弱性」について、 OpenPNE の一部バージョンにおいて影響があることが明らかになりました。
対象:OpenPNE ver1.8~2.6
影響範囲:対象となる OpenPNE を利用するすべてのSNS
当該バージョンをお使いの方は、 「#20502807 Snoopy における OS コマンドインジェクションの脆弱性」 の「対策方法」を参考に、 OpenPNE に存在する以下のライブラリを最新版のものに差し替えてください。
OpenPNE2.3.0 以降のバージョン: lib/include/Snoopy.class.php
OpenPNE2.3.0 未満のバージョン: lib/magpierss/extlib/Snoopy.class.inc (差し替えの際には、最新版のファイル名を Snoopy.class.php から Snoopy.class.inc に変更してください)
※本件については公式SNSの kaz_a さんからご報告いただきました。この場を借りて御礼申し上げます。
【追記:2008/10/31 10:35】
今回の脆弱性の対象となるOpenPNEのバージョンについて追記いたします。OpenPNE2.8以降は Snoopy を利用しなくなったため、 2008/10/31 までにリリースされた OpenPNE2.8〜2.13 は今回の脆弱性の影響を受けません。
そのため対応の必要があるのは、OpenPNE 2.6以前のバージョンのみとなります。
OpenSocial開発環境をそろえる その3 ~Partuza!にアプリ追加~
10 / 27 月曜日 2008
開発チームの川原です。
OpenSocial開発環境をそろえる その2 ~Partuza!導入~
の続きです。Partuza!をいじくってみます。
前回にアクセスできたページから新規ユーザを登録します。
サクサクっとユーザ情報を入力してしまってくださ い。
メールアドレスは、今のところログインに使うだけのようです。
登録が完了すると、すぐにログインした状態になりますので、
サイドバーにある、Applicationsのeditからアプリケーションの追加を行います。
「OpenSocial環境をそろえる その1」で紹介した、アプリケーションは
http://www.labpixies.com/campaigns/todo/todo.xml
この、urlです。
このXMLファイルを登録します。
Add Applicationでアプリケーションが追加され、大きなToDoリストが出てきたと思います。
前回までの設定が、正しく行われているなら
リロードしても、ToDO Listの内容が保持されます。
ホーム画面には、小さなアプリケーションも表示されています。
このように、OpenSocialが実装されることによって、
ユーザが自分でアプリを追加することが可能になります!
次回からは、簡単なアプリケーションを作成している様子を紹介したり、
OpenPNE3のOpenSocial対応に関することなどを書いていこうとおもいます。
OpenPNE Skinコンテスト 2008 in Osaka 追加情報 第2弾!
10 / 23 木曜日 2008
●━━━━━━━━━━━━━━━━━━━━━━━━━━━●
OpenPNE Skinコンテスト 2008 in Osaka 追加情報 第2弾
●━━━━━━━━━━━━━━━━━━━━━━━━━━━●
2008/11/7~8(金~土)の関西オープンフォーラムに合わせて
OpenPNE Skinコンテスト 2008 in Osakaが開催されています。
詳細はコチラへ
/archives/609/
この度、ソネットエンタテインメント株式会社様より、
「So-net SNSのSkinとして採用の可能性もあり」
との返答を頂きました!
皆様の応募を、お待ちしております!
「正方形がトレンドか?」SNS画像考察
10 / 23 木曜日 2008
フリッカー、ツイッター、フェイスブック、ハイファイブといくつかのサービスを見てみたが、正方形に画像が加工されているケースをよく見かける。
現在のOpenPNEは
こんな感じ。元画像の縦横比を維持する。
プロフィール画像は、今後いろいろなソーシャルアプリから使われるようになるので、一定の形に規格化しておいた方が、使いやすくなると思うがどうだろう。
OpenPNE2.13.4リリース延期のお知らせ
10 / 22 水曜日 2008
OpenPNE開発チームのきわです。
本日2008/10/22(水)リリース予定の開発版OpenPNE2.13.4ですが、開発の進行が遅れているため延期することになりました。2週間後の2008/11/05(水)にリリース予定です。
OpenPNE2.13.4の変更点
新機能
管理画面にメンバー詳細画面追加
公式SNS「新機能を作る会」コミュニティより、管理画面のメンバー詳細機能をいただきました!監視機能などにあるニックネームのリンクから、ユーザ画面に遷移しなくても管理画面でメンバーの情報を確認することができます。
認証処理時に携帯版のセッションに含めたUserAgentをチェックを追加
携帯版の認証機能におけるセキュリティ強化の為、ログイン時のUSER_AGENTとアクセス時のUSER_AGENTの一致を確認する機能を追加します。
バグ修正
安定版OpenPNE2.12.5で行われたバグ修正と、次回リリースの安定版OpenPNE2.12.6とのバグ修正の一部を含める予定です。
追加機能・バグ修正の詳細はOpenPNE2.13.4レポートをご覧ください。